Სარჩევი:

სახლის ყოფნის სიმულატორი და უსაფრთხოების კონტროლის მოწყობილობა: 6 ნაბიჯი (სურათებით)
სახლის ყოფნის სიმულატორი და უსაფრთხოების კონტროლის მოწყობილობა: 6 ნაბიჯი (სურათებით)

ვიდეო: სახლის ყოფნის სიმულატორი და უსაფრთხოების კონტროლის მოწყობილობა: 6 ნაბიჯი (სურათებით)

ვიდეო: სახლის ყოფნის სიმულატორი და უსაფრთხოების კონტროლის მოწყობილობა: 6 ნაბიჯი (სურათებით)
ვიდეო: ლუკა და მარიამი 2024, ივლისი
Anonim
სახლის ყოფნის სიმულატორი და უსაფრთხოების კონტროლის მოწყობილობა
სახლის ყოფნის სიმულატორი და უსაფრთხოების კონტროლის მოწყობილობა
სახლის ყოფნის სიმულატორი და უსაფრთხოების კონტროლის მოწყობილობა
სახლის ყოფნის სიმულატორი და უსაფრთხოების კონტროლის მოწყობილობა
სახლის ყოფნის სიმულატორი და უსაფრთხოების კონტროლის მოწყობილობა
სახლის ყოფნის სიმულატორი და უსაფრთხოების კონტროლის მოწყობილობა
სახლის ყოფნის სიმულატორი და უსაფრთხოების კონტროლის მოწყობილობა
სახლის ყოფნის სიმულატორი და უსაფრთხოების კონტროლის მოწყობილობა

ეს პროექტი საშუალებას გვაძლევს სიმულაციისთვის გამოვავლინოთ ყოფნა და გამოვავლინოთ მოძრაობები ჩვენს სახლში.

ჩვენ შეგვიძლია დავაკონფიგურიროთ მოწყობილობების ქსელი დაყენებული ჩვენი სახლის სხვადასხვა ოთახებში, ყველა მათგანი კონტროლდება ძირითადი მოწყობილობით.

ეს პროექტი აერთიანებს ამ მახასიათებლებს ერთ მოწყობილობაზე (სურათი 1):

  1. ეს არის ყოფნის სიმულატორი: მოწყობილობა ჩართავს და გამორთავს ერთ ნათურას (სურათი 1) და იყენებს IR გადამცემს (სურათი 2) 38 კილოჰერციანი სიხშირის IR კონტროლის კოდების გასაგზავნად IR კონტროლირებად მოწყობილობებზე (ტელევიზია, ვიდეო, ნათურები, …)
  2. ეს არის მოძრაობის დეტექტორი: მოწყობილობას აქვს PIR სენსორი მოძრაობების დასადგენად (სურათი 3)

მთელი სისტემა კონტროლდება სამაგისტრო მოწყობილობით, რომელიც სიგნალებს უგზავნის სხვა მონა მოწყობილობებს ქსელში, რომ ჩართონ და გამორთონ შუქები და გაააქტიურონ კონტროლირებადი IR მოწყობილობები დაგეგმილი ყოფნის სიმულაციის მიხედვით.

სამაგისტრო მოწყობილობის ძირითადი მახასიათებლებია:

  • ის იყენებს ბრძანებების დაგეგმილ დაცვას თითოეული მონა მოწყობილობის გასაკონტროლებლად. მაგალითად: სინათლე მონა სადგურ 1 -ში ყოველდღე ჩაირთვება შემთხვევითი პერიოდის განმავლობაში ან მონა სადგური 2 ჩართავს ტელევიზორს და დროთა განმავლობაში ცვლის არხს.
  • ის იღებს სიგნალებს მონა სადგურებიდან მოძრაობის გამოვლენისას და გამოგვიგზავნეთ და ელექტრონული ფოსტა
  • ის აკონფიგურირებს ვებ სერვერს, რათა გააკონტროლოს და განაახლოს მთელი სისტემა დისტანციურად ღრუბლიდან

ვიმედოვნებ, რომ მოგეწონებათ და ვინმესთვის სასარგებლო იქნებით.

ნაბიჯი 1: მონა მოწყობილობის შექმნა

მონა მოწყობილობის შექმნა
მონა მოწყობილობის შექმნა
მონა მოწყობილობის შექმნა
მონა მოწყობილობის შექმნა
მონა მოწყობილობის შექმნა
მონა მოწყობილობის შექმნა

მონა მოწყობილობის შესაქმნელად დაგვჭირდება შემდეგი:

  • ელექტრო ყუთი
  • ARDUINO NANO ან თავსებადი ARDUINO NANO მიკროკონტროლერი
  • პროტობორდი 480
  • სარელეო
  • 38 KHz IR გადამცემი
  • PIR სენსორი
  • nRF24L01 მოდული + ანტენა
  • ადაპტერი nRF24L01 მოდულისთვის
  • კვების ბლოკი 5V, 0.6 ა
  • Ნათურის დამჭერი
  • Ნათურა
  • კაბელები
  • ტერმინალური ბლოკი

მისი დამონტაჟების ნაბიჯები შემდეგია (იხილეთ Fritzing ნახაზი თითოეული pin კავშირისთვის):

  1. სურათი 1: გახსენით ხვრელი ელექტრო ყუთში ნათურის დამჭერისთვის
  2. სურათი 2: დააყენეთ პროტობორდი 480 NANO მიკროკონტროლერთან, IR გადამცემთან და დენის წყაროსთან
  3. სურათი 3: შეაერთეთ ნათურის დამჭერის ფაზის გამტარებელი რელეს NC ტერმინალთან და ნეიტრალური გამტარებელი ტერმინალის ბლოკში ნეიტრალურ შეყვანასთან. ამის შემდეგ, რელეს საერთო ტერმინალი შეაერთეთ ტერმინალურ ბლოკში შეყვანის ფაზის გამტართან
  4. სურათი 4: დაუკავშირეთ IR გადამცემი და PIR სენსორი NANO მიკროკონტროლერს. იხილეთ ნაბიჯი 3, რათა დააკონფიგურიროთ IR კოდები იმ მოწყობილობისთვის, რომლის კონტროლიც გსურთ
  5. სურათი 5: დააინსტალირეთ nRF24L01 ადაპტერი ელექტრული ყუთის გარეთ და შეაერთეთ იგი NANO მიკროკონტროლერთან. როგორც ხედავთ ამ სურათზე კაბელები გადადის ელექტრო ყუთში ხვრელში, რომელიც ასევე გამოიყენება USB პროგრამირების კაბელის NANO მიკროკონტროლერთან დასაკავშირებლად

ნაბიჯი 2: შექმენით სამაგისტრო მოწყობილობა

სამაგისტრო მოწყობილობის შექმნა
სამაგისტრო მოწყობილობის შექმნა
სამაგისტრო მოწყობილობის შექმნა
სამაგისტრო მოწყობილობის შექმნა
სამაგისტრო მოწყობილობის შექმნა
სამაგისტრო მოწყობილობის შექმნა

სამაგისტრო მოწყობილობის შესაქმნელად დაგვჭირდება შემდეგი:

  • ელექტრო ყუთი
  • ARDUINO MEGA 2560 R3 ან თავსებადი ARDUINO MEGA 2560 R3 მიკროკონტროლი
  • WiFi NodeMCU Lua Amica V2 ESP8266 მოდული
  • RTC DS3231
  • პროტობორდი 170
  • სარელეო
  • 38 KHz IR გადამცემი
  • PIR სენსორი
  • nRF24L01 მოდული + ანტენა
  • ადაპტერი nRF24L01 მოდულისთვის
  • კვების ბლოკი 5V, 0.6 ა
  • Ნათურის დამჭერი
  • Ნათურა
  • კაბელები
  • ტერმინალური ბლოკი

მისი დამონტაჟების ნაბიჯები ძალიან ჰგავს წინას, რადგან სამაგისტრო მოწყობილობა არსებითად არის მონა მოწყობილობა, რომელსაც აქვს მეტი ფუნქცია (იხ. Fritzing ნახაზი თითოეული პინ კავშირისთვის):

  • სურათი 1: გახსენით ხვრელი ელექტრო ყუთში ნათურის დამჭერისთვის
  • სურათი 2, სურათი 3: დააინსტალირეთ ESP8266 მოდული პროტო დაფაზე 170 და განათავსეთ იგი MEGA 2560 მიკროკონტროლერზე, როგორც ხედავთ სურათებში
  • სურათი 4: ჩასვით ხის ნაჭერი ელექტრული ყუთში. ხის ნაჭერზე დააინსტალირეთ MEGA 2560 მიკროკონტროლი ESP8266- ით, საათის მოდული DS3231 და nRF24L01 ადაპტერი
  • სურათი 5: დააინსტალირეთ კვების ბლოკი და რეალურად. შეაერთეთ ნათურის დამჭერის ფაზის გამტარებელი რელეს NC ტერმინალთან და ნეიტრალური გამტარებელი ტერმინალის ბლოკში ნეიტრალურ შეყვანასთან. ამის შემდეგ, რელეს საერთო ტერმინალი შეაერთეთ ტერმინალურ ბლოკში შეყვანის ფაზის გამტართან.

ნაბიჯი 3: ძირითადი და მონა მოწყობილობების კონფიგურაცია

ძირითადი და მონა მოწყობილობების კონფიგურაცია
ძირითადი და მონა მოწყობილობების კონფიგურაცია

მოწყობილობების კონფიგურაციისთვის, თქვენ უნდა შეასრულოთ შემდეგი ნაბიჯები:

ნაბიჯი 3.1 (ორივე მოწყობილობა)

დააინსტალირეთ IRremote, RF24Network, RF24, DS3231 და Time ბიბლიოთეკები თქვენს ARDUINO IDE- ში

ნაბიჯი 3.2 (მხოლოდ მონა მოწყობილობისთვის)

დააკონფიგურირეთ მისამართი ქსელში. უბრალოდ მოძებნეთ შემდეგი კოდი ესკიზში "ყოფნა_სლავე.ინო" და მიუთითეთ მისამართი რვა ფორმატში. გამოიყენეთ მხოლოდ 0 -ზე მეტი მისამართი, რადგან მისამართი 0 დაცულია სამაგისტრო მოწყობილობისთვის

const uint16_t this_node = 01; // ჩვენი მონა მოწყობილობის მისამართი ოქტალური ფორმატით

ჩატვირთეთ ესკიზი "ყოფნა_სლავე.ინო" მიკროკონტროლერში.

ნაბიჯი 3.3 (მხოლოდ სამაგისტრო მოწყობილობისთვის) (IR საკონტროლო კოდების დანერგვა)

თუ თქვენ აპირებთ გამოიყენოთ მოწყობილობა, რომელსაც აკონტროლებს 38KHz IR კონტროლის კოდები, ყოფნის სიმულაციისთვის, თქვენ უნდა იცოდეთ ზოგიერთი მათგანი.

წინააღმდეგ შემთხვევაში, თქვენ უნდა მიიღოთ IR კონტროლის კოდები თქვენი მოწყობილობიდან.

ამისათვის დაგჭირდებათ 38KHz IR მიმღები, ჩადეთ ერთ NANO მიკროკონტროლერში ესკიზი "ir_codes.ino" და შეაერთეთ ყველაფერი, როგორც ხედავთ სურათზე 1

შემდეგ მიუთითეთ თქვენი დისტანციური მართვის IR მიმღები, დააჭირეთ ნებისმიერ ღილაკს და სერიულ მონიტორში ნახავთ მსგავსს:

(12 ბიტი) გაშიფრული SONY: A90 (HEX), 101010010000 (BIN) // POWER ღილაკი

(12 ბიტი) გაშიფრული SONY: C10 (HEX), 110000010000 (BIN) // 4 ღილაკი (12 ბიტი) გაშიფრული SONY: 210 (HEX), 1000010000 (BIN) // 5 ღილაკი

ამ შემთხვევაში დისტანციური მართვა იყენებს SONY IR პროტოკოლს და როდესაც ჩვენ ვუშვებთ დენის ღილაკს დისტანციური მართვისას ვიღებთ IR კოდს "0xA90" სიგრძით 12 ბიტიანი ან როდესაც ღილაკს 4 ვუჭერთ დისტანციურ კონტროლზე, ვიღებთ IR- ს კოდი "0xC10".

მე გირჩევთ, სულ მცირე, მოძებნოთ ძალა და რამდენიმე ღილაკის ნომერი IR კონტროლის კოდი ყოფნის სიმულაციისთვის.

მას შემდეგ რაც თქვენ მიიღებთ IR კოდებს ადრე, თქვენ უნდა გააცნოთ ისინი შემდეგი გზით:

პირველი გზა

თუ თქვენ გაქვთ კონფიგურირებული wifi ქსელი, ამის გაკეთება შეგიძლიათ ვებ გვერდის გამოყენებით (იხილეთ ნაბიჯი: ვებ სერვერი)

მეორე გზა

წინააღმდეგ შემთხვევაში, თქვენ უნდა მოძებნოთ შემდეგი კოდი ფაილში "ir_codes.ino" და განაახლოთ ინფორმაცია. ქვემოთ მოყვანილ კოდში თქვენ ხედავთ, თუ როგორ შეგვიძლია წარმოვადგენთ ზემოთ მოყვანილი ინფორმაციას მხოლოდ სამაგისტრო მოწყობილობისათვის (მისამართი = 0)

/******************************************/

/******* IR კონტროლის კოდები ***************** / /******************** ********************** // // პროტოკოლის_ ID, ნომერი_ბიტების, 10 IR კონტროლის კოდი სამაგისტრო მოწყობილობისთვის (მისამართი = 0) SONY, 12, 0xA90, 0xC10, 0x210, 0, 0, 0, 0, 0, 0, // // protocol_id, number_of_bits, 10 IR კონტროლის კოდები მონა მოწყობილობისთვის (მისამართი = 1) უცნობი, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, 10 IR კონტროლის კოდები მონა მოწყობილობისთვის (მისამართი = 2) უცნობი, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, 10 IR control codes for the slave device (address = 3) UNKNOWN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, 10 IR კონტროლის კოდი მონა მოწყობილობისთვის (მისამართი = 4) უცნობი, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /************ ******************************** / / ********* IR IR კონტროლის დასრულების კოდები ** ************ / / ********************************** *********/

ესკიზი კონფიგურირებულია შემდეგ IR პროტოკოლებთან მუშაობისთვის:

  • NEC
  • სონი
  • RC5
  • RC6
  • LG
  • JVC
  • რატომ
  • SAMSUNG
  • ᲑᲐᲡᲠᲘ
  • კერძი
  • დენონი
  • LEGO_PF

ფაილში "ir_codes.ino" შეგიძლიათ ნახოთ IR კონტროლის კოდები SAMSUNG და SONY პროტოკოლებისთვის.

/***************************************************************************/

// ზოგიერთი IR_PROTOCOLS და CODES // (SAMSUNG, number_of_bits, button POWER, button 1, 2, 3) // SAMSUNG, 32, 0xE0E010EF, 0xE0E020DF, 0xE0E0609F, 0xE0E0A05F_OF, SONY, buton, 3, 4, 5, 6, 7, 8, 9, 0) // SONY, 12, 0xA90, 0x010, 0x810, 0x410, 0xC10, 0x210, 0xA10, 0x610, 0xE10, 0x110, 0x910 /***** *********************************************** *******************/

მნიშვნელოვანია: პირველი IR კონტროლის კოდი უნდა იყოს IR კონტროლის კოდი მოწყობილობის გამორთვისთვის. მას ოსტატი გაუგზავნის მონაებს, როდესაც ამ მოწყობილობაზე რაიმე ქმედება არ იგეგმება

თუ რომელიმე ორგანომ იცის ან ვიღაცამ მოიპოვა ზემოთ ჩამოთვლილი ზოგიერთი პროტოკოლის IR კონტროლის კოდი, გთხოვთ განათავსოთ კომენტარი ამ ინსტრუქციებში შემდეგი ინფორმაციით: პროტოკოლის ID, პროტოკოლის სიგრძე და IR კონტროლის კოდები.

ნაბიჯი 3.4 (მხოლოდ სამაგისტრო მოწყობილობისთვის) (პრეზენტაციის სიმულაციის დაგეგმვის დანერგვა)

თქვენ შეგიძლიათ გააცნოთ ყოფნის სიმულაციის დაგეგმვა შემდეგნაირად:

პირველი გზა

თუ კონფიგურირებული გაქვთ wifi ქსელი, ამის გაკეთება შეგიძლიათ ვებ გვერდის გამოყენებით (იხილეთ ნაბიჯი: ვებ სერვერი)

მეორე გზა

თქვენ უნდა მოძებნოთ შემდეგი კოდი ფაილში "ir_codes.ino" და განაახლოთ ინფორმაცია.

ყოფნის სიმულაციური დაგეგმვის ფორმატი შემდეგია:

(hour_init_interval1), (hour_end_interval1), (hour_init_interval2), (hour_end_interval2), (min_delay_ir), (max_delay_ir), (min_delay_light), (max_delay_light)

/************ პრეზენტაციის სიმულაციის დაგეგმვა ************/

7, 8, 17, 3, 5, 60, 10, 40, // სამაგისტრო მოწყობილობა (მისამართი = 0) 0, 0, 17, 23, 3, 30, 5, 10, // მონა მოწყობილობა (მისამართი = 1) 0, 0, 0, 0, 0, 0, 0, 0, // მონა მოწყობილობა (მისამართი = 2) 0, 0, 0, 0, 0, 0, 0, 0, // მონა მოწყობილობა (მისამართი = 3) 0, 0, 0, 0, 0, 0, 0, 0 // მონა მოწყობილობა (მისამართი = 4) /************ END PRESENCE SIMULATOR ********** **********/

ზემოთ მოყვანილ მაგალითში ძირითადი მოწყობილობის სიმულაციური დაგეგმვა შემდეგია:

  • (hour_init_interval1 = 7) პირველი ინტერვალის სიმულაცია დაიწყება ყოველდღე დილის 7:00 საათზე
  • (საათის_თავ_ ინტერვალი 1 = 8) პირველი ინტერვალის სიმულაცია დასრულდება იმავე დღის დილის 8:00 საათზე
  • (hour_init_interval2 = 17) მეორე ინტერვალის სიმულაცია დაიწყება საღამოს 17:00 საათზე. ყოველ დღე
  • (საათის_თავ_ ინტერვალი 2 = 3) მეორე ინტერვალის სიმულაცია დასრულდება მეორე დღის დილის 3:00 საათზე
  • (min_delay_ir = 5) (max_delay_ir = 60) IR კონტროლის კოდების შემთხვევით გაგზავნას შორის წუთებში დაგვიანების დრო არის შემთხვევითი რიცხვი 5 -დან 60 -მდე
  • (min_delay_light = 10) (max_delay_light = 40) შუქის ჩართვასა და გამორთვას შორის წუთებში დაგვიანების დრო არის შემთხვევითი რიცხვი 10 -დან 40 -მდე

და ყოფნა სიმულაციური დაგეგმვა მონა მოწყობილობის მისამართი 2 არის შემდეგი:

  • (ინტერვალი_ საათში_1

    = 0) არ არის განსაზღვრული პირველი ინტერვალის სიმულაცია

  • (hour_end_interval1 = 0) არ არის განსაზღვრული პირველი ინტერვალის სიმულაცია
  • (hour_init_interval2 = 17) სიმულაცია დაიწყება 17:00 საათზე ყოველ დღე
  • (hour_end_interval2 = 23) სიმულაცია დასრულდება 23:00 საათზე იმავე დღის
  • (min_delay_ir = 3)

    (max_delay_ir

    = 30) IR კონტროლის კოდების შემთხვევით გაგზავნას შორის წუთებში შეფერხების დრო არის შემთხვევითი რიცხვი 3 -დან 30 -მდე

    (min_delay_light = 5)

    (max_delay_light

    = 10) შუქის ჩართვასა და გამორთვას შორის წუთებში დაგვიანების დრო არის შემთხვევითი რიცხვი 5 -დან 10 -მდე

ნაბიჯი 3.5 (მხოლოდ სამაგისტრო მოწყობილობისთვის) (უძრავი დროის საათის კონფიგურაცია)

ამ პროექტის ერთ -ერთი მთავარი დროა. ჩვენ უნდა დავაყენოთ ARDUINO- ს დრო, როდესაც ესკიზი დაიწყებს მუშაობას. ამისათვის ჩვენ გვჭირდება რეალურ დროში საათის მოდული. ერთი საათის მოდული არის DS3231, რომლის მხარდაჭერა არის ბატარეის დამტენი დამტენი, რომელიც შეიძლება გამოყენებულ იქნას, თუ მიკროკონტროლერთან არ არის დაკავშირებული სამი მონაცემთა კაბელით I2C პროტოკოლის გამოყენებით.

DS3231– ის გამოსაყენებლად თქვენ უნდა დააყენოთ დრო ამ მოდულში. ამისათვის თქვენ უნდა აწარმოოთ სამაგისტრო მოწყობილობაში ესკიზი "DS3231_set.ino".

ნაბიჯი 3.6 (მხოლოდ სამაგისტრო მოწყობილობისთვის) (ESP8266 მოდულის კონფიგურაცია)

ამ მოდულში გაშვებული ესკიზი შეეცადეთ დაუკავშირდეთ თქვენს ადგილობრივ wifi ქსელს და დააკონფიგურიროთ ვებ სერვერი.

ასე რომ, ჩვენ გვჭირდება განახლება შემდეგი ინფორმაციის ესკიზში "ყოფნა_ვებ.ინო", რათა შეხვიდეთ თქვენს ადგილობრივ wifi ქსელში და დააკონფიგურიროთ Gmail ელ.ფოსტის მისამართი, საიდანაც ESP8266 აპირებს გააგზავნოს მოძრაობები, რომლებიც გამოვლენილია ქსელში არსებული ყველა მოწყობილობის მიერ. და ელექტრონული ფოსტის მისამართი, სადაც გსურთ მიიღოთ შეტყობინებები (ESP8266 Gmail გამგზავნი მითითებულია)

const char* ssid = "თქვენი ადგილობრივი wifi ქსელის ssid";

const char* პაროლი = "თქვენი ადგილობრივი wifi ქსელის პაროლი"; const char* to_email = "ელექტრონული ფოსტა, სადაც გსურთ მიიღოთ შეტყობინებები მოძრაობის გამოვლენის შესახებ"; WiFiServer სერვერი (80); // პორტი გამოიყენება მოსასმენად

და შემდეგი ინფორმაცია ესკიზში "Gsender.h".

const char*EMAILBASE64_LOGIN = "*** თქვენი Gmail შესვლის კოდი BASE64 ***";

const char*EMAILBASE64_PASSWORD = "*** თქვენი Gmail პაროლის კოდირება BASE64 ***"; const char*FROM = "*** თქვენი gmail მისამართი ***";

მნიშვნელოვანია: ეს კოდი არ მუშაობს ESP8266 ბირთვით Arduino 2.5.0 ვერსიისთვის. დროებითი გადაწყვეტისთვის გამოიყენეთ ძირითადი ვერსია 2.4.2

ნაბიჯი 3.7 (მხოლოდ სამაგისტრო მოწყობილობისთვის)

წინა ნაბიჯის გაკეთების შემდეგ 3.3, 3.4, 3.5 და 3.6 ჩატვირთეთ ესკიზი "ყოფნა_მასტერი.ინო" NANO მიკროკონტროლერში და ესკიზი "ყოფნა_ვებ.ინო" ESP8266 მოდულში

ნაბიჯი 4: სისტემის ტესტირება

იმის შესამოწმებლად, მუშაობს თუ არა ყველაფერი ისე, როგორც ჩვენ გვსურს, ესკიზი "ყოფნა_მასტერი.ინო" შეიძლება გაშვებული იქნას სატესტო რეჟიმში.

თქვენ შეგიძლიათ შეამოწმოთ კონკრეტული მოწყობილობა ორი გზით:

FIRST WAY: თუ არ იყენებთ wifi ქსელს, თქვენ უნდა მოძებნოთ შემდეგი კოდი ფაილში "present_master.ino", შეცვალოთ "true" საწყისი მნიშვნელობა "bool_test_activated" ცვლადისთვის და განაახლოთ ერთის მისამართი მოწყობილობა მომდევნო კოდის ხაზში შესამოწმებლად და ესკიზის ჩატვირთვა ARDUINO მიკროკონტროლერში სამაგისტრო მოწყობილობაში.

ლოგიკური bool_test_activated = false; // შეცვალეთ true ტესტირების რეჟიმში

int მოწყობილობა_ გამოცდა = 0; // მონა მოწყობილობის მისამართი შესამოწმებლად

არ დაგავიწყდეთ მნიშვნელობის შეცვლა ყალბი, როდესაც გსურთ გამოხვიდეთ ტესტის რეჟიმიდან და გადატვირთოთ ესკიზი

მეორე გზა: თუ იყენებთ wifi ქსელს, შეგიძლიათ გამოიყენოთ ვებ გვერდი სატესტო რეჟიმის გასააქტიურებლად. იხილეთ ნაბიჯი "ვებ სერვერი"

თუ შესამოწმებელი მოწყობილობა გაგზავნის IR კონტროლის კოდებს, განათავსეთ სამაგისტრო ან მონა მოწყობილობა IR კონტროლირებადი მოწყობილობის წინ (ტელევიზია, რადიო…).

ეს რეჟიმი მუშაობს შემდეგნაირად:

  • სინათლის გამოცდა. კონკრეტული მოწყობილობის შუქი უნდა ჩართოთ და გამორთოთ ყოველ 10 წამში.
  • IR კოდების ტესტირება. ესკიზი შემთხვევით აირჩევს ადრე შემოღებულ IR კოდს და იგი ყოველ 10 წამში გაუგზავნის IR კონტროლირებად მოწყობილობას. ასე რომ, თქვენ უნდა შეამოწმოთ, აკეთებს თუ არა ის მოწყობილობა მოქმედებას, რომელიც შეესაბამება IR კოდს
  • მოძრაობის დეტექტორის ტესტირება. თუ მოწყობილობა ამოიცნობს მოძრაობას მისი PIR სენსორის წინ, ის სიგნალს გაუგზავნის სამაგისტრო მოწყობილობას და მისი შუქი რამდენჯერმე უნდა აციმციმდეს

ამ ინსტრუქციის ბოლოს ვიდეოში შეგიძლიათ ნახოთ ტესტის რეჟიმი გაშვებული.

ნაბიჯი 5: ვებ სერვერი

ვებ სერვერი
ვებ სერვერი
ვებ სერვერი
ვებ სერვერი
ვებ სერვერი
ვებ სერვერი

სისტემის გასაკონტროლებლად და იმის შესამოწმებლად, მუშაობს თუ არა ყველაფერი სწორად, ESP8266 მოდული კონფიგურირებულია როგორც ვებ სერვერი. თქვენ არ გჭირდებათ სხვა დამატებითი პროგრამული უზრუნველყოფა ქსელში დისტანციურად წვდომისთვის, უბრალოდ ჩაწერეთ ბრაუზერში თქვენი როუტერის IP. თქვენს როუტერში თქვენ ადრე დააკონფიგურირეთ პორტის გადაგზავნა ESP8266 მოდულზე წვდომისათვის თქვენს მიერ კონფიგურირებული სტატიკური ადგილობრივი IP გამოყენებით.

ეს მოდული დაკავშირებულია ARDUINO მიკროკონტროლერთან I2C პროტოკოლის გამოყენებით.

თქვენ შეგიძლიათ ნახოთ საწყისი ვებ გვერდი PICTURE 1:

  • სისტემის სახელმწიფო განყოფილება გვაჩვენებს ინფორმაციას სისტემის შესახებ:

    • სისტემის თარიღი და დრო. ძალიან მნიშვნელოვანია, რომ თარიღი და დრო იყოს დროულად
    • ყოფნის სიმულატორის მდგომარეობა (ჩართული ან გამორთული), ბოლო ყოფნის მოქმედების თარიღი და დრო და მოწყობილობის მისამართი, რომელმაც შეასრულა მოქმედება (სურათი 2)
    • მოძრაობის დეტექტორის მდგომარეობა (ჩართული ან გამორთული) და მოწყობილობის მიერ მოძრაობის გამოვლენის ისტორია: მრიცხველი და ბოლო მოძრაობის გამოვლენის თარიღი და დრო (სურათი 3) ამ სურათზე ჩვენ ვხედავთ, რომ მოწყობილობაში 1 მისამართით გამოვლენილია 1 მოძრაობა და ბოლო იყო 16:50:34 საათზე
  • COMMANDS განყოფილება საშუალებას გვაძლევს გავაკეთოთ შემდეგი:

    • ყოფნის სიმულატორის გასააქტიურებლად
    • მოძრაობის დეტექტორის გასააქტიურებლად
    • ტესტის დასაწყებად და შესაჩერებლად მოწყობილობის არჩევა (სურათი 4)
  • PRESENCE COMMAND განყოფილება საშუალებას გვაძლევს გავაკეთოთ შემდეგი:

    კონკრეტული მოწყობილობისთვის სიმულაციის დაგეგმვის დანერგვა ან განახლება. სურათზე 5 თქვენ ხედავთ, თუ როგორ უნდა განაახლოთ ყოფნის სიმულაციური დაგეგმვა მისამართის მოწყობილობაზე 1. სიმებიანი ფორმატი არის შემდეგი: (addr_device), (hour_init1), (end_init1), (hour_init2), (end_init2), (min_delay_ir), (max_delay_ir), (min_delay_light), (max_delay_light). ყველა რიცხვი არის მთელი რიცხვები. თუ თქვენ შემოიღეთ სწორი სტრიქონი, თქვენ იხილავთ ახალი სიმულაციის დაგეგმვას ტექსტის წინ "LAST", წინააღმდეგ შემთხვევაში თქვენ იხილავთ შეტყობინებას "LAST: NOT VALID"

  • IR CODE COMMAND განყოფილება საშუალებას გვაძლევს გავაკეთოთ შემდეგი:

    დანერგვა ან განახლება IR კონტროლის კოდი კონკრეტული მოწყობილობისთვის. სურათზე 6 თქვენ ხედავთ, თუ როგორ უნდა განაახლოთ ან დანერგოთ ახალი IR კონტროლის კოდი მისამართის მოწყობილობისთვის 1. სტრიქონის ფორმატი არის შემდეგი: (addr_device), (IR_protocol), (protocol_bits_length), (index_IR_control_code), (IR_control_code). (IR_protocol) არის ასოებისადმი მგრძნობიარე სტრიქონი, რომელიც იღებს მხოლოდ შემდეგ მნიშვნელობებს (SONY, NEC, RC5, RC6, LG, JVC, WHYNTER, SAMSUNG, DISH, DENON, SHARP, LEGO_PF) და (IR_control_code) არის თექვსმეტობითი რიცხვი. იმის გამო, რომ სისტემა კონფიგურებულია 10 IR კონტროლის კოდის შესანახად, (index_IR_control_code) არის მთელი რიცხვი 1 -დან 10 -მდე. როგორც ადრე, თუ თქვენ შემოიღეთ მოქმედი სიმებიანი ფორმატი, ნახავთ ახალ IR კონტროლის კოდს ტექსტამდე "LAST", წინააღმდეგ შემთხვევაში თქვენ ნახავთ შეტყობინებას "LAST: NOT VALID"

თქვენი ადგილობრივი wifi ქსელიდან ამ ვებ გვერდზე შესასვლელად, უბრალოდ ჩაწერეთ IP ბრაუზერი, რომელიც თქვენმა როუტერმა მიანიჭა ESP8266- ს. ყველა სურათზე ხედავთ, რომ ჩემი როუტერის მიერ მინიჭებული IP არის 192.168.43.120.

თქვენი ადგილობრივი wifi ქსელის დისტანციურად წვდომისთვის, თქვენ უნდა დააკონფიგურიროთ თქვენს როუტერში პორტი, რომელსაც აპირებთ გამოიყენოთ მოსასმენ მონაცემების მოსასმენად და გადამისამართება ESP8266 თქვენს ადგილობრივ ქსელში. ამის შემდეგ უბრალოდ ჩაწერეთ თქვენი როუტერის IP მისამართი ბრაუზერში.

ნაბიჯი 6: მაგალითი ყველას გასარკვევად

Image
Image
მაგალითი ყველაფრის გასარკვევად
მაგალითი ყველაფრის გასარკვევად

მე შევიმუშავე კონკრეტული მაგალითი ყველაფრის გასარკვევად

მე ავაშენე შემდეგი მოწყობილობები (სურათი 2)

  • ერთი IR კონტროლირებადი მოწყობილობა NANO მიკროკონტროლის გამოყენებით, RGB პინგ-პონგის ბურთის შიგნით და ერთი IR მიმღების მოდული (სურათი 1). როდესაც ჩვენ ვაჭერთ საკონტროლო ღილაკს IR დისტანციური პულტის 1-დან 7-მდე, პინგ-პონგის ბურთი იცვლის ფერს.
  • სამაგისტრო მოწყობილობა (მისამართი 0)
  • ერთი მონა მოწყობილობა (მისამართი 1)

ყოველივე ზემოთქმულიდან გამომდინარე ჩვენ ვაპირებთ შევამოწმოთ პროექტის ყველა მახასიათებელი. ყოფნის სიმულაციური დაგეგმვა შეიძლება იყოს:

  1. მონა მოწყობილობის მიერ კონტროლირებადი ბურთი ფერს 17:00 საათიდან შეცვლის. 23:00 საათამდე და დილით დილის 7:00 საათიდან დილის 8:00 საათამდე წუთების ყოველ შემთხვევით ინტერვალში 1 -დან 1 -მდე.
  2. მონა მოწყობილობის მიერ კონტროლირებადი შუქი ჩაირთვება და ჩაქრება 17:00 საათიდან. 23:00 საათამდე და დილით დილის 7:00 საათიდან დილის 8:00 საათამდე ყოველ წუთში შემთხვევითი ინტერვალით 1 -დან 2 -მდე
  3. სამაგისტრო მოწყობილობის მიერ კონტროლირებადი შუქი ჩაირთვება და გამორთულია 16:00 საათიდან. მომდევნო დღის 1:00 საათამდე ყოველ წუთში შემთხვევითი ინტერვალით 1 -დან 2 -მდე

ესკიზის "ir_codes.ino" შესრულების შემდეგ ჩვენ მივიღეთ შენიშვნა, რომ IR პროტოკოლი, რომელიც გამოიყენება IR დისტანციის მიერ არის "NEC", IR კოდების სიგრძეა 32 ბიტი და IR კონტროლის კოდები 1 -დან 7 -მდე ღილაკებისთვის თექვსმეტობით ფორმატში არიან:

ღილაკი 1 = FF30CF

ღილაკი 2 = FF18E7

ღილაკი 3 = FF7A85

ღილაკი 4 = FF10EF

ღილაკი 5 = FF38C7

ღილაკი 6 = FF5AA5

ღილაკი 7 = FF42BD

თქვენ შეგიძლიათ დააკონფიგურიროთ სისტემა ორი გზით:

პირველი გზა: ვებ გვერდის გამოყენება (იხილეთ ვიდეო ამ ინსტრუქციის ბოლოს)

მეორე გზა: ფაილის განახლება "ir_codes.ino" და ატვირთვა შემდეგ:

/******************************************/

/******* IR კონტროლის კოდები ***************** / /******************** ********************** // // პროტოკოლის_დიდი, რიცხვი_ბიტები, 10 IR კონტროლის კოდი სამაგისტრო მოწყობილობისთვის (მისამართი = 0) NEC, 32, 0xFF30CF, 0xFF18E7, 0xFF7A85, 0xFF10EF, 0xFF38C7, 0xFF5AA5, 0xFF42BD, 0, 0, 0, // protocol_id, number_of_bits, 10 IR კონტროლის კოდები მონა მოწყობილობისთვის (მისამართი = 1) უცნობი, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, 10 IR კონტროლის კოდები მონა მოწყობილობისთვის (მისამართი = 2) უცნობი, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, 10 IR control codes for the slave device (address = 3) UNKNOWN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, 10 IR კონტროლის კოდი მონა მოწყობილობისთვის (მისამართი = 4) უცნობი, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /************ ******************************** / / ********* IR IR კონტროლის დასრულების კოდები ** ************ / / ********************************** *********/

/************ პრეზენტაციის სიმულაციის დაგეგმვა ************/

0, 0, 16, 1, 0, 0, 1, 2, // სამაგისტრო მოწყობილობა (მისამართი = 0) 7, 8, 17, 23, 1, 1, 1, 2, // მონა მოწყობილობა (მისამართი = 1) RGB ბურთი 0, 0, 0, 0, 0, 0, 0, 0, // მონა მოწყობილობა (მისამართი = 2) 0, 0, 0, 0, 0, 0, 0, 0, // მონა მოწყობილობა (მისამართი = 3) 0, 0, 0, 0, 0, 0, 0, 0 // მონა მოწყობილობა (მისამართი = 4) /************ END PRESENCE SIMULATOR ******** ************/

გირჩევთ: