Სარჩევი:

IoT ქსელის კონტროლერი. ნაწილი 9: IoT, სახლის ავტომატიზაცია: 10 ნაბიჯი (სურათებით)
IoT ქსელის კონტროლერი. ნაწილი 9: IoT, სახლის ავტომატიზაცია: 10 ნაბიჯი (სურათებით)

ვიდეო: IoT ქსელის კონტროლერი. ნაწილი 9: IoT, სახლის ავტომატიზაცია: 10 ნაბიჯი (სურათებით)

ვიდეო: IoT ქსელის კონტროლერი. ნაწილი 9: IoT, სახლის ავტომატიზაცია: 10 ნაბიჯი (სურათებით)
ვიდეო: ჭკვიანი ფანჯარა - ოთახის ვენტილაციის ავტომატიზაცია, ინტეგრაცია Home Assistant-ში 2024, ივლისი
Anonim
IoT ქსელის კონტროლერი. ნაწილი 9: IoT, სახლის ავტომატიზაცია
IoT ქსელის კონტროლერი. ნაწილი 9: IoT, სახლის ავტომატიზაცია

პასუხისმგებლობის უარყოფა

წაიკითხეთ ეს პირველი

ეს ინსტრუქცია დეტალურად აღწერს პროექტს, რომელიც იყენებს მაგისტრალურ ენერგიას (ამ შემთხვევაში, UK 240VAC RMS), მიუხედავად იმისა, რომ ყველა ზრუნვა იქნა მიღებული უსაფრთხო პრაქტიკის და კარგი დიზაინის პრინციპების გამოსაყენებლად, ყოველთვის არსებობს პოტენციურად სასიკვდილო ელექტრო შოკის რისკი ამ მიწოდების ძაბვებთან მუშაობისას და რომელსაც ავტორი ვერ იღებს რაიმე პასუხისმგებლობას, თუ პირადი დაზიანება ან ზიანი მიაყენებს ქონებას მისი შინაარსის შემდგომ. შესაბამისად, თქვენ აკეთებთ ამ პროექტს საკუთარი რისკით.

პრეამბულა

ეს სტატია, მე –9 სერიაში სახლის ავტომატიზაციის შესახებ, ასახავს თუ როგორ უნდა შეიქმნას და ინტეგრირდეს Sonoff 10A IoT მაგისტრალური კონტროლერი არსებულ სახლის ავტომატიზაციის სისტემაში, ყველა საჭირო პროგრამული უზრუნველყოფის ფუნქციონირების ჩათვლით, რათა შესაძლებელი იყოს წარმატებული განლაგება საშინაო გარემოში.

შესავალი

როგორც ზემოთ აღვნიშნეთ, ეს ინსტრუქცია დეტალურადაა აღწერილი, თუ როგორ უნდა მოხდეს IoT ქსელის კონტროლერის შექმნა და ინტეგრირება iTead– ის Sonoff 10A– ს გამოყენებით. მოწყობილობა თავად არის შეფასებული, როგორც 10amps @ 90 ~ 250VAC, თუმცა ეს განხორციელება ამცირებს მას 5 amps– ით შერწყმული დანამატის საშუალებით, რომელიც უზრუნველყოფს შიდა ბრიტანეთის მთავარ მიწოდებას 240VAC RMS.

დიზაინის მეთოდოლოგია შეუფერხებლად ინტეგრირდება MQTT/OpenHAB დაფუძნებულ IoT ქსელში, რომელიც დეტალურად არის აღწერილი ამ სერიაში სახლის ავტომატიზაციის შენობაზე, აქედან აღებული ხელახლა გამოყენებულ კოდზე. მას ასევე შეუძლია გაუმკლავდეს IoT ქსელის ნებისმიერი ელემენტის დაკარგვას და სრულად შეუძლია დამოუკიდებლად იმუშაოს. დამოუკიდებელ რეჟიმში ყოფნისას, მოწყობილობის კონტროლი მიიღწევა მხოლოდ საკეტის ზედა ნაწილში მდებარე საკონტროლო ღილაკის დაჭერით, რაც ცვლის შემდგომი მიწოდების გამომუშავებას.

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

დაბოლოს, პროზა ასევე ასახავს როგორ ხელახლა დაპროგრამდეს ESP8266 მოწყობილობა Sonoff 10A– ში Arduino IDE– ს გამოყენებით და იძლევა მოწყობილობის სრულ წრიულ დეტალებს, რომელიც შეიძლება გამოყენებულ იქნას სამიზნე კოდის საიმედოდ დასაპროგრამებლად.

რა ნაწილები მჭირდება?

Sonoff Mains Controller

  1. 1 off Sonoff 10A აქ
  2. 1 off 7805L 5v ძაბვის რეგულატორი აქ
  3. 1 off 240/6VAC 1.5VA ტრანსფორმატორი აქ
  4. 2 – დან 0.1 კერამიკული კონდენსატორი აქ
  5. 1 off 1000uF @25v ელექტროლიტური კონდენსატორი აქ
  6. 1 off ხიდის მაკორექტირებელი 2W01 აქ
  7. 2 გამორთული 4K7 რეზისტორი აქ
  8. 1 off 330R რეზისტორი აქ
  9. 1 off SPST ღილაკი აქ
  10. 1 off Mulitcomp BM12W ABS დანართი აქ
  11. 1 ფასდაკლება TIL111 ოპტო-წყვილზე აქ
  12. 1 off 3-way ტერმინალის ბლოკი აქ
  13. 1 off 2-way კოდირებული molex კონექტორი აქ/აქ
  14. 1 off 3-way კოდირებული molex კონექტორი აქ/აქ
  15. 1 off 5-way კოდირებული molex კონექტორი აქ/აქ
  16. 1 off 5-way molex ქინძისთავები აქ
  17. 1 off Winbond SPI Flash (W25Q32FVSIG) აქ
  18. 1 off 20 მმ დაუკრავენ დამჭერი + ქუდი აქ
  19. 1 off 20 მმ სწრაფი დარტყმა 500mA დაუკრავენ აქ
  20. 2 პოლიამიდული საკაბელო ჯირკვლები აქ
  21. 1 off UK Main plug (BS1363/A) აქ
  22. 1 off დიდი ბრიტანეთის მთავარი ბუდე (BS1363/A) აქ
  23. 7 გამორთული M3 16 მმ CS ნეილონის ხრახნები, (ჩათვლით 10 გამორთული თხილით) აქ/აქ
  24. 2 off Zip ბმულები აქ
  25. 1 off veroboard (0.1 "მოედანზე) აქ
  26. 1 off სხვადასხვა სიგრძის 22swg დაკონსერვებული სპილენძის მავთულები აქ
  27. 1 off 3M White UK ქსელის კაბელი აქ
  28. 10 off Molex სოკეტი crimps აქ

სონოფის პროგრამისტი

  1. 1 off LD33CV 3v3 ძაბვის რეგულატორი აქ
  2. 1-დან TO-220 გამაცხელებელი აქ
  3. 1 off Heatsink პასტა აქ
  4. 1 off 10uF @16v ელექტროლიტური კონდენსატორი აქ
  5. 1 0.1 კერამიკული კონდენსატორი აქ
  6. 1 SPDT ღილაკი აქ
  7. 1 off 4K7 რეზისტორი აქ
  8. 1 off 2-way კოდირებული molex კონექტორი აქ/აქ
  9. 1 off 3-way კოდირებული molex კონექტორი აქ/აქ
  10. 5 off Molex სოკეტი crimps აქ
  11. 1 off 6-way molex სოკეტი აქ
  12. 1 off SPST ღილაკი აქ
  13. 1 off 2.1 მმ PSU სოკეტი აქ
  14. 1 off veroboard (0.1 "მოედანზე) აქ
  15. 1 გამორთული USB სერიული ადაპტერი (FTDI) აქ

რა პროგრამული უზრუნველყოფა მჭირდება?

  1. Arduino IDE 1.6.9 აქ
  2. Arduino IDE კონფიგურირებულია ESP8266 პროგრამირების მიზნით. იხილეთ აქ; Arduino IDE- ს დაყენება ESP8266-01 პროგრამირებისთვის

რა ინსტრუმენტები მჭირდება?

  1. გამდნარი რკინა,
  2. საბურღი და სხვადასხვა ბიტი (მათ შორის საფეხურიანი ხვრელი საკაბელო ჯირკვლებისთვის და საკონტროლო ღილაკი),
  3. ხრახნები (სხვადასხვა),
  4. რეგულირებადი გასაღებები (ორი გამორთული, ყბის სიგანე> 25 მმ, საკაბელო ჯირკვლებისთვის),
  5. ფაილები (სხვადასხვა),
  6. ძლიერი ვიცე,
  7. სითბოს იარაღი,
  8. DMM (სასურველია CAT IV).

რა უნარები მჭირდება?

  1. ელექტრონიკისა და სახლის ელექტრული უსაფრთხოების/დიზაინის/გაყვანილობის და ა.
  2. არდუინოს ცოდნა და მისი IDE,
  3. კარგი წარმოების უნარები (შედუღება, შევსება, ბურღვა და ა.
  4. გარკვეული მოთმინება,
  5. თქვენი სახლის ქსელის გარკვეული გაგება.

გაშუქებული თემები

  • შესავალი
  • მიკროსქემის მიმოხილვა
  • Sonoff RetroMods
  • მშენებლობისა და შეკრების დეტალები
  • Sonoff პროგრამირების ადაპტერი
  • პროგრამული სისტემის მიმოხილვა
  • პროგრამული უზრუნველყოფის მიმოხილვა
  • OpenHAB კონფიგურაცია
  • თქვენი IoT მოწყობილობის ტესტირება
  • დასკვნა
  • გამოყენებული წყაროები

სერიის ბმულები

ნაწილი 8: WiFi IoT ტემპერატურისა და ტენიანობის სენსორი. ნაწილი: 8 IoT, სახლის ავტომატიზაცია

ნაწილი 10: IR დისტანციური მართვის საშუალებით IoT. ნაწილი 10 IoT, სახლის ავტომატიზაცია

ნაბიჯი 1: მიკროსქემის მიმოხილვა

მიკროსქემის მიმოხილვა
მიკროსქემის მიმოხილვა
მიკროსქემის მიმოხილვა
მიკროსქემის მიმოხილვა
მიკროსქემის მიმოხილვა
მიკროსქემის მიმოხილვა
მიკროსქემის მიმოხილვა
მიკროსქემის მიმოხილვა

მიმოხილვა

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

ქვემოთ მოცემულია ოპტო-იზოლაციის სქემის აღწერა (სურათი 1 ზემოთ).

მიკროსქემის დეტალები

ოპტო-იზოლაციის წრე იღებს მის მიწოდებას უშუალოდ ერთეულზე გამოყენებული ქსელიდან. 240VAC RMS გამოიყენება სტაბილიზაციის/იზოლაციის ტრანსფორმატორზე TR1 J1 pheonix contact MKDSN2, 5/3-5.08 პოლიამიდის 3-გზის ტერმინალი, რომელიც შეფასებულია 16A– ზე 400V– ზე და შეუძლია 2.5 მმ (კვადრატული) CSA კაბელის კაბელი და F1 500mA 20 მმ სწრაფი დარტყმის დაუკრავენ. TR1– ის მეორად გრაგნილებზე არსებული 6VAC არის სრული ტალღა, რომელიც შესწორებულია დიოდური ხიდით B1.

ეს სრული ტალღის გასწორებული გამომუშავება შემდეგ სტაბილიზდება და რეგულირდება C1, C2 C3, R3 და IC1 7805L სერიის შუნტის მარეგულირებლის მიერ, რაც იძლევა კარგ, სუფთა 5 ვ მიწოდების რკინიგზას.

5v სარკინიგზო მაგისტრალი გამოიყენება OK1– ში TIL111 ოპტო – იზოლატორის შეყვანის გასაკონტროლებლად გარედან დამონტაჟებული თეთრი SPST ღილაკის საშუალებით, რომელიც დაკავშირებულია J3– ზე. TIL111– ის გამომავალი დაკავშირებულია Sonoff GPIO14 შეყვანასთან R2– ით 4K7 გამწევი რეზისტორის საშუალებით. ამრიგად, 340 ვ -ზე უკეთესი იზოლაცია მიიღწევა (ანუ პიკის ძაბვა = (240VAC*კვადრატული (2))).

ნაბიჯი 2: Sonoff RetroMods

Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods

Sonoff 10A მოწყობილობის ინტეგრირებისთვის აუცილებელია გარკვეული რეტროსპექტული ცვლილებების შეტანა.

პირველი არის დაამატოთ 5-გზის 0.1 მოედანზე მოლექსი კონექტორი, როგორც ნაჩვენებია სურათზე 1 ზემოთ. ეს იძლევა წვდომას GPIO14- ზე Sonoff– ზე მას შემდეგ, რაც დამცავი საფარი შეიცვლება, როგორც სურათებში 2 და 3 ზემოთ.

მიუხედავად იმისა, რომ ზემოთ არ იყო ნაჩვენები, მე ასევე გამოვიყვანე სერიული TX/RX ხაზები, რათა შესაძლებელი გამხდარიყო პროგრამირება (იხ. საკაბელო აღკაზმულობა SK1..3 ზემოთ, ნაბიჯი 1 ზემოთ).

მეორე მოდიფიკაცია არის SPI Flash მოწყობილობის ზომის გაზრდა ნაგულისხმევი 1MByte– დან 4MBytes– მდე, ეს არის საკმარისი ადგილი IoT ვებ სერვერის ფაილებისთვის SPIFFS– ში.

მე შევიძინე SMD SPI ფლეშ მოწყობილობა (W25Q32FVSIG) Ebay– დან აქ

ფლეშის შესაცვლელად მე დროებით ამოვიღე Sonoff LED როგორც სურათზე 4, რათა უკეთესი წვდომა მიმეღო SMD მოწყობილობაზე. ფლეშის გასამყარებლად გამოვიყენე გამათბობელი იარაღი, როგორც ეს ნაჩვენებია 5-ში ზემოთ. შემდეგ ხელახლა შეაერთეთ ორივე 4MByte Flash და LED შესაბამისად (სურათი 6).

ნაბიჯი 3: მშენებლობისა და შეკრების დეტალები

მშენებლობისა და შეკრების დეტალები
მშენებლობისა და შეკრების დეტალები
მშენებლობისა და შეკრების დეტალები
მშენებლობისა და შეკრების დეტალები
მშენებლობისა და შეკრების დეტალები
მშენებლობისა და შეკრების დეტალები
მშენებლობისა და შეკრების დეტალები
მშენებლობისა და შეკრების დეტალები

მე დავამატე მაგისტრალური კონტროლერი Mulitcomp BM12W ABS ყუთში (სურათი 1 ზემოთ). ამ კორპუსს აქვს იზოლირებული სპილენძის M3 ჩანართები, რაც საშუალებას იძლევა მრავალჯერადი წვდომა ერთეულზე დამაგრების ძაფების შელახვის გარეშე ისე, რომ საჭიროების შემთხვევაში მოხდეს შიდა დაუკრავის შეცვლა ან დროთა განმავლობაში შიდა შემოწმება (იგივე არ შეიძლება ითქვას Sonoff მოწყობილობაზე, რომელიც არის ეფექტურად ერთჯერადი დახურული გამოყენებით თვითმმართველობის tappers).

ძირითადი დაძაბულობის შემსუბუქება ქსელის გადამყვანი კაბელისთვის მიღწეულია M16 ნეილონის/პოლიამიდის 6/6 თეთრი საკაბელო ჯირკვლის მეშვეობით, რომელიც მხარს უჭერს კაბელს OD Min/Max 5mm/10mm.

მეორადი დაძაბულობის შემსუბუქება მოხდა საკაბელოზე მოთავსებული ერთი zip ჰალსტუხის საშუალებით, თუ ზედმეტი დაძაბვა მოხდება და საკაბელო ჯირკვალი ჩავარდება, zip ჰალსტუხი შეინარჩუნებს კაბელს ადგილზე.

საკაბელო ჯირკვლების დასაყენებლად და საკმარისი სივრცის უზრუნველსაყოფად Sonoff– ისა და ოპტო – იზოლაციის ელექტრონიკის დასაყენებლად, მე მოვიხსენი შიდა PCB– ის სამაგრი ნეკნები, როგორც ეს ნაჩვენებია ზემოთ (სურათი 2).

ყველა ელექტრონიკა საიმედოდ იყო დამონტაჟებული M3 ნეილონის CS ხრახნების საშუალებით, რათა უზრუნველყოფილი ყოფილიყო გარეთა გარეთა იზოლაცია. ოპტო-იზოლაციის ელექტრონიკა დამონტაჟებულია 5 დამაგრების წერტილით, რათა უზრუნველყოს ხმის მექანიკური სიმტკიცე, როდესაც დანაყოფი უნდა დაიწიოს, რითაც ხელს უშლის იზოლატორული ტრანსფორმატორის მასას დაარღვიოს ვერობორდის წრე.

ერთეულის მიწოდება განხორციელდა გაერთიანებული სამეფოს სტანდარტული ფერადი კოდირებული თეთრი 3 ბირთვიანი PVC იზოლირებული მაგისტრალური მრავალწლიანი (32/0.2 მმ კვ.) კაბელით 1 მმ (კვ) CSA. 7,2 მმ OD– ით, რომელსაც შეუძლია 10 ა ტარების.

განყოფილება დაკავშირებული იყო გაერთიანებული სამეფოს ქსელთან (240VAC RMS) სტანდარტული 3 პინიანი უსაფრთხოების დანამატის (BS 1363/A) საშუალებით. დანამატი შერწყმულია 5A- ზე.

ოპტო-იზოლაციის მიკროსქემის ყველა კაბელი უკავშირდებოდა ფეონიქსის კონტაქტს MKDSN2, 5/3-5.08 პოლიამიდის ტერმინალებს, რომლებიც შეფასებულია 16A- ზე 400V- ზე და შეუძლია 2.5 მმ (კვადრატული) CSA კაბელის გადატანა, რითაც უზრუნველყოფილია ორი კაბელის საკმარისი სიმძლავრე. თითოეული პოზიცია.

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

Შენიშვნა:

  • OD = გარე დიამეტრი.
  • VAC = ვოლტი ალტერნატიული დენი
  • RMS = ფესვის საშუალო კვადრატი
  • CSA = ჯვარედინი სექციური ტერიტორია
  • CS = Counter ჩაძირული

ნაბიჯი 4: Sonoff პროგრამირების ადაპტერი

Sonoff პროგრამირების ადაპტერი
Sonoff პროგრამირების ადაპტერი
Sonoff პროგრამირების ადაპტერი
Sonoff პროგრამირების ადაპტერი
Sonoff პროგრამირების ადაპტერი
Sonoff პროგრამირების ადაპტერი
Sonoff პროგრამირების ადაპტერი
Sonoff პროგრამირების ადაპტერი

არსებობს ორი ასპექტი, რომელიც გასათვალისწინებელია Sonoff 10A– ს ხელახალი დაპროგრამებისას Arduino IDE– ს საშუალებით;

  1. თქვენი Arduino IDE- ს კონფიგურაცია ESP8266 პროგრამირებისთვის,
  2. თავად აპარატურის პროგრამირების აქტი.

თქვენი Arduino IDE- ს კონფიგურაცია ESP8266 პროგრამირებისთვის

თქვენი Ardino IDE- ს კონფიგურაციისთვის მიჰყევით აქ მითითებებს Arduino IDE- ს დაყენება ESP8266-01 პროგრამირებისთვის

აპარატურის დაპროგრამება

ეს არის მრავალსაფეხურიანი პროცესი, როგორც ყველა შემთხვევაში ESP8266– ით. აქ, სონოფის ენერგია გამოიყენება დაფაზე გარე სტაბილიზირებული 3v3 DC მომარაგების საშუალებით და არა მაგისტრალური წყაროდან. USB სერიული მოწყობილობა საჭირო იქნება მონაცემების გასაგზავნად და მისაღებად Sonoff– ში და მისგან. შეაერთეთ TX და RX როგორც ნაჩვენებია 2 და 4 სურათებში.

პროგრამირების ნაბიჯები (ზოგადი)

  1. უპირველეს ყოვლისა, დარწმუნდით, რომ სონოფზე არ გამოიყენება გარე ქსელი,
  2. დააჭირეთ ღილაკს Sonoff მოწყობილობაზე. (სურათი 1 ზემოთ, მონიშნული ხელახლა განათების ღილაკი),
  3. გამოიყენეთ გარე DC 3v3 მიწოდება პინ 1. (სურათი 2 ზემოთ),
  4. გაუშვით Sonoff ღილაკი,
  5. მოწყობილობის ხელახალი პროგრამირება შესაძლებელია ჩვეულებრივი გზით, Arduino IDE– ს საშუალებით.

იმისათვის, რომ საქმე ცოტათი გამარტივდეს, მე შევქმენი პროგრამირების მოწყობილობა ზემოთ (სურათები 3 და 4), რომელიც სონოფს დაუკავშირდა საკაბელო აღკაზმულობის SK1… 3 საშუალებით (როგორც ეს აღწერილია წინამდებარე ინსტრუქციულ ნაბიჯში 1.). ამან შესაძლებელი გახადა ESP8266– ის უფრო მარტივი პროგრამირება. მან ასევე უზრუნველყო საშუალება GPIO14– ის შესამოწმებლად, როგორც შეყვანის საშუალებით, R1, 4K7 დაჭიმვის რეზისტორი და ღილაკი S1 გამოყენებით.

პროგრამირების მოწყობილობის გამოყენება ზემოთ (სურათები 3 და 4) პროგრამირების ნაბიჯებია,

  1. დააჭირეთ და გააჩერეთ ხელახლა განათების ღილაკი Sonoff– ზე,
  2. Pulse 3v3 მიწოდება მომენტალურად დაჭერით S2,
  3. გაათავისუფლეთ ხელახლა განათების ღილაკი,
  4. მოწყობილობის დაპროგრამება შესაძლებელია.

შენიშვნა - გაფრთხილება

არავითარ შემთხვევაში არ უნდა მოხდეს ელექტროენერგიის მიწოდება ქსელის საშუალებით Sonoff– ის ხელახალი პროგრამირების დროს

ნაბიჯი 5: პროგრამული სისტემის მიმოხილვა

პროგრამული სისტემის მიმოხილვა
პროგრამული სისტემის მიმოხილვა
პროგრამული სისტემის მიმოხილვა
პროგრამული სისტემის მიმოხილვა

ეს IoT Mains Controller მოწყობილობა უმეტესწილად შეიცავს იგივე ექვს ძირითად პროგრამულ კომპონენტს, როგორც ინსტრუქციულ WiFi IoT ტემპერატურისა და ტენიანობის სენსორში. ნაწილი: 8 IoT, სახლის ავტომატიზაცია და ნაჩვენებია სურათზე 1 ზემოთ, გარკვეული დაკონფიგურირებით.

SPIFFS

ეს არის (განახლებულია 4 მბაიტამდე) ბორტზე SPI Flash შევსების სისტემა და გამოიყენება შემდეგი ინფორმაციის შესანახად (იხ. სურათი 2 ზემოთ);

  • ხატები და 'მთავარი კონტროლერის კონფიგურაციის საწყისი გვერდი' html: ემსახურება IoT მოწყობილობას, როდესაც ის ვერ ახერხებს თქვენს IoT WiFi ქსელთან დაკავშირებას (ჩვეულებრივ, უსაფრთხოების არასწორი ინფორმაციის გამო) და აძლევს მომხმარებელს ქსელის კონტროლერის დისტანციური კონფიგურაციის საშუალებას ახალი SPIFFS შინაარსის ხელახალი პროგრამირების ან ატვირთვის აუცილებლობა.
  • უსაფრთხოების ინფორმაცია: ეს შეიცავს ინფორმაციას, რომელიც გამოიყენება IoT მოწყობილობის ჩართვისას თქვენს IoT WiFi ქსელთან და MQTT ბროკერთან დასაკავშირებლად. 'Mains Controller Configuration Home Page' მეშვეობით გაგზავნილი ინფორმაცია იწერება ამ ფაილზე ('secvals.txt').

შენიშვნა: მოწყობილობის დასაყენებლად, იხილეთ აქ სრული დეტალები, თუ როგორ გამოიყენოთ SPIFFS Arduino IDE– სთან ერთად.

mDNS სერვერი

ეს ფუნქცია გამოიყენება მაშინ, როდესაც IoT მოწყობილობა ვერ უკავშირდება თქვენს WiFi ქსელს, როგორც WiFi სადგურს და სამაგიეროდ ხდება WiFi წვდომის წერტილი, რომელიც შინაგანი WiFi როუტერის მსგავსია. ასეთი როუტერის შემთხვევაში თქვენ ჩვეულებრივ დაუკავშირდებით მას 192.168.1.1 – ის IP მისამართის (ჩვეულებრივ დაბეჭდილი ყუთზე განთავსებულ ეტიკეტზე) პირდაპირ თქვენს ბრაუზერის URL ზოლში, რის შემდეგაც თქვენ მიიღებთ შესვლის გვერდს შესასვლელად მომხმარებლის სახელი და პაროლი, რომელიც საშუალებას მოგცემთ დააკონფიგურიროთ მოწყობილობა. ESP8266– ის AP რეჟიმში (წვდომის წერტილის რეჟიმი) მოწყობილობა ნაგულისხმევია IP მისამართს 192.168.4.1, თუმცა mDNS სერვერთან ერთად თქვენ მხოლოდ ბრაუზერის URL ზოლში უნდა შეიყვანოთ ადამიანის მეგობრული სახელი „MAINSCON.local“. "მთავარი კონტროლერის კონფიგურაციის საწყისი გვერდი".

MQTT კლიენტი

MQTT კლიენტი უზრუნველყოფს ყველა საჭირო ფუნქციონირებას; დაუკავშირდით თქვენს IoT ქსელის MQTT ბროკერს, გამოიწერეთ თქვენთვის სასურველი თემები და გამოაქვეყნეთ დატვირთვები მოცემულ თემაზე. მოკლედ ის ასახავს IoT– ს ძირითად ფუნქციონირებას.

HTTP ვებ სერვერი

როგორც ზემოთ აღვნიშნეთ, თუ IoT მოწყობილობა ვერ დაუკავშირდება WiFi ქსელს, რომლის SSID, P/W და ა.შ. განსაზღვრულია SPIFFS- ში დაცული უსაფრთხოების ინფორმაციის ფაილში, მოწყობილობა გახდება Access Point. მას შემდეგ რაც დაუკავშირდებით წვდომის წერტილით გათვალისწინებულ WiFi ქსელს, HTTP ვებ სერვერის არსებობა საშუალებას გაძლევთ უშუალოდ დაუკავშირდეთ მოწყობილობას და შეცვალოთ მისი კონფიგურაცია HTTP ვებ ბრაუზერის გამოყენებით. საწყისი გვერდის ვებ გვერდი, რომელიც ასევე ტარდება SPIFFS– ში.

WiFi სადგური

ეს ფუნქციონირება IoT მოწყობილობას აძლევს შესაძლებლობას დაუკავშირდეს შიდა WiFi ქსელს უსაფრთხოების ინფორმაციის ფაილის პარამეტრების გამოყენებით, ამის გარეშე თქვენი IoT მოწყობილობა ვერ შეძლებს MQTT ბროკერის გამოწერას/გამოქვეყნებას

WiFi წვდომის წერტილი

შესაძლებლობა გახდეთ WiFi წვდომის წერტილი არის საშუალება, რომლითაც IoT მოწყობილობა საშუალებას გაძლევთ დაუკავშირდეთ მას და გააკეთოთ კონფიგურაციის ცვლილებები WiFi სადგურისა და ბრაუზერის საშუალებით (როგორიცაა Safari Apple iPad– ზე). ეს წვდომის წერტილი გადასცემს SSID = "MAINSCON" + IoT მოწყობილობის MAC მისამართის ბოლო 6 ციფრს. ამ დახურული ქსელის პაროლს წარმოსახვით ჰქვია 'PASSWORD'.

ნაბიჯი 6: პროგრამული უზრუნველყოფის მიმოხილვა

პროგრამული უზრუნველყოფის მიმოხილვა
პროგრამული უზრუნველყოფის მიმოხილვა
პროგრამული უზრუნველყოფის მიმოხილვა
პროგრამული უზრუნველყოფის მიმოხილვა
პროგრამული უზრუნველყოფის მიმოხილვა
პროგრამული უზრუნველყოფის მიმოხილვა
პროგრამული უზრუნველყოფის მიმოხილვა
პროგრამული უზრუნველყოფის მიმოხილვა

ამ კოდის წარმატებით შესადგენად დაგჭირდებათ შემდეგი დამატებითი ბიბლიოთეკები;

PubSubClient.h

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

Bounce2.h

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

კოდის მიმოხილვა

პროგრამული უზრუნველყოფა იყენებს სახელმწიფო მანქანას, როგორც ეს მოცემულია სურათზე 1 ზემოთ (წყაროს სრული ასლი მოცემულია ქვემოთ). არსებობს 5 ძირითადი მდგომარეობა შემდეგნაირად;

  • ᲛᲐᲡᲨᲘ

    ეს ინიციალიზაციის მდგომარეობა არის პირველი მდგომარეობა, რომელიც ძალაუფლების ჩართვის შემდეგ შევიდა

  • არაკონფიგურაცია

    ეს მდგომარეობა შევა, თუ ამოქმედდება არასწორი ან დაკარგული secvals.txt ფაილი

  • ელოდება NW

    ეს მდგომარეობა არის გარდამავალი, შესულია მაშინ, როდესაც არ არსებობს WiFi ქსელის კავშირი

  • მომლოდინე MQTT

    ეს მდგომარეობა არის გარდამავალი, შედის WiFi ქსელის კავშირის დამყარების შემდეგ და სანამ არ არსებობს კავშირი ამ ქსელში MQTT ბროკერთან

  • აქტიური

    ეს არის ნორმალური ოპერაციული მდგომარეობა, როდესაც შეიქმნა როგორც WiFi ქსელის კავშირი, ასევე MQTT საბროკერო კავშირი. ამ მდგომარეობის დროს Mains Controller გამოაქვეყნებს MQTT ბროკერს და მიიღებს ბრძანებებს გამოწერილი თემების საშუალებით

მოვლენები, რომლებიც აკონტროლებენ გადასვლას სახელმწიფოებს შორის, აღწერილია ზემოთ 1 სურათზე. სახელმწიფოებს შორის გადასვლა ასევე რეგულირდება შემდეგი SecVals პარამეტრებით;

  • პირველი MQTT ბროკერის IP მისამართი. წერტილოვანი ათობითი ფორმით AAA. BBB. CCC. DDD
  • მე -2 MQTT საბროკერო პორტი. მთელი რიცხვის ფორმით.
  • მე –3 MQTT საბროკერო კავშირი ცდილობს განახორციელოს STA რეჟიმიდან AP რეჟიმში. მთელი რიცხვის ფორმით.
  • მეოთხე WiFi ქსელი SSID. ტექსტი თავისუფალი ფორმით.
  • მე -5 WiFi ქსელის პაროლი. ტექსტი თავისუფალი ფორმით.

როგორც ზემოთ აღვნიშნეთ, თუ IoT მოწყობილობა ვერ დაუკავშირდება როგორც WiFi სადგური WiFi ქსელს, რომლის SSID და P/W განსაზღვრულია secvals.txt SPIFFS– ში დაცული მოწყობილობა გახდება Access Point. ამ წვდომის წერტილთან დაკავშირებისთანავე ის მოემსახურება "მთავარი კონტროლერის კონფიგურაციის მთავარ გვერდს", როგორც ეს ნაჩვენებია ზემოთ სურათ 2 -ში (ბრაუზერის მისამართების ზოლში ან "MAINSCON.local" ან 192.168.4.1). ეს საწყისი გვერდი იძლევა ქსელის კონტროლერის ხელახალი კონფიგურაციის საშუალებას HTTP ბრაუზერის საშუალებით.

MQTT თემის დასახელების კონვენცია

მე -3 სურათზე ზემოთ არის დასახელებული კონვენცია, რომელიც გამოიყენება MQTT თემებისთვის და შეესაბამება ჩემს ადრეულ ინსტრუქციებში გამოყენებულ ნიმუშს (აქ ნაბიჯი 5).

MQTT თემები, რომლებიც გამოიყენება ამ IoT მოწყობილობაში

სიცხადისთვის, მე მაქვს დოკუმენტირებული (სურათი 4) თემები და მასთან დაკავშირებული შეტყობინებების თანმიმდევრობა, რომელსაც ეს მოწყობილობა აქვეყნებს/იწერს. სურათი ასევე ასახავს ურთიერთქმედებას თეთრი კონტროლის ღილაკთან გარს გარედან (თუმცა ბედის ირონიით ღილაკი ნაჩვენებია წითლად).

დისტანციური კონფიგურაციის წვდომა აქტიურ მდგომარეობაში ყოფნისას

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

მომხმარებლის გამართვა

ჩატვირთვის თანმიმდევრობით Sonoff მოწყობილობა ხელმძღვანელობს შემდეგ გამართულ უკუკავშირს, თუმცა უნდა აღინიშნოს, რომ ამის სანახავად დაგჭირდებათ საფარის ამოღება და სქემის გამოვლენა, ამიტომ მიზანშეწონილია ამის გაკეთება მხოლოდ კოდის შემუშავებისას და მოწყობილობის ჩართვისას 3v3 მიწოდებით;

  • 1 მოკლე ფლეშ: არ არის კონფიგურაციის ფაილი SPIFFS- ში (secvals.txt),
  • 2 მოკლე ციმციმები: IoT მოწყობილობა ცდილობს WiFi ქსელთან დაკავშირებას,
  • უწყვეტი განათება: Sonoff IoT მოწყობილობა ცდილობს MQTT ბროკერთან დაკავშირებას,
  • გამორთული: მოწყობილობა აქტიურია და დაკავშირებულია MQTT ბროკერთან.

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

შენიშვნა 2: მრავალი IoT მოწყობილობის დასაპროგრამებლად MQTT სტრიქონს დასჭირდება რედაქტირება თითოეულ მოწყობილობაზე გადმოტვირთვის წინ. ეს იმიტომ ხდება, რომ მაგისტრალური კონტროლერის id ნომერი ჩადებულია MQTT თემის სტრიქონში. ანუ გამოქვეყნებულ პროგრამულ უზრუნველყოფაში მე ავირჩიე მნიშვნელობა 100: 'WFD/MainsCont/100/სარელეო/ბრძანება/1' და ჩემი 2 მოწყობილობისთვის ისინი შესაბამისად არის დანომრილი 1 და 2.

  • 'WFD/MainsCont/1/სარელეო/ბრძანება/1'
  • "WFD/MainsCont/2/სარელეო/ბრძანება/1"

შენიშვნა 3: ACTIVE მდგომარეობაში ყოფნისას IoT პროგრამული უზრუნველყოფა სრულყოფის საშუალებას იძლევა Sonoff LED- ის კონტროლი და ხელახლა განათების ღილაკის სტატუსის გამოქვეყნება. მიუხედავად იმისა, რომ ეს მხოლოდ მნიშვნელობისაა გამართვის პროცესში, რადგან არცერთი მათგანი არ ექვემდებარება მომხმარებელს ნორმალური მუშაობის დროს.

ნაბიჯი 7: OpenHAB კონფიგურაცია

OpenHAB კონფიგურაცია
OpenHAB კონფიგურაცია
OpenHAB კონფიგურაცია
OpenHAB კონფიგურაცია
OpenHAB კონფიგურაცია
OpenHAB კონფიგურაცია

ტესტირების მიზნით მე გადავწყვიტე ორი სახლის მაკონტროლებელი გამეფუძნებინა ჩემი სახლის 'მისაღები ოთახში'. ამ OpenHAB გვერდის მიღწევა შესაძლებელია საიტის მთავარი გვერდის საშუალებით, როგორც სურათზე 1.

მე შევცვალე OpenHAB.sitemap კონფიგურაცია, რომელიც მოცემულია ჩემს ადრინდელ ინსტრუქციებში (აქ) და დავამატე ინდივიდუალური ჩანაწერები 'Mains Controller 1' და 'Mains Controller 2' (სურათი 2 ზემოთ). მე ასევე დავამატე ჩანაწერები (Living Room Mains Cont. 1 & 2) RSSI ტენდენციების საჩვენებლად ორი ახალი IoT მოწყობილობის მიმღებზე (სურათი 3).

დაბოლოს, მე დავამატე ჩანაწერები.rules და.items ფაილებში, რათა მოხდეს Sonoff– ის დინამიური მდგომარეობის სინქრონიზაცია და ჩემი ცუდი მცდელობის განახლება/ანიმაცია გრაფიკული გადართვისას (გადამრთველი იხურება აქტიური და იხსნება არააქტიური). სურათი 2 იძლევა მაგალითს MC1 აქტიური და MC2 არააქტიური.

შენიშვნა 1: თუ არ ხართ დარწმუნებული როგორ გამოიყენოთ OpenHAB იხილეთ აქ 'OpenHAB- ის დაყენება და კონფიგურაცია. ნაწილი 6: IoT, სახლის ავტომატიზაცია '

შენიშვნა 2: შეცვლილი საიტის რუქის ასლი, წესები და ერთეულების ფაილები, ხატები და ა.შ მოცემულია ქვემოთ მოცემულ zip ფაილში.

შენიშვნა 3: RSSI = მიღებული სიგნალის სიძლიერის ჩვენება. ეს არის საზომი იმისა, თუ რამდენად კარგად ხედავს IoT მოწყობილობა თქვენს WiFi ქსელს.

ნაბიჯი 8: თქვენი IoT მოწყობილობის ტესტირება

Image
Image
თქვენი IoT მოწყობილობის ტესტირება
თქვენი IoT მოწყობილობის ტესტირება

როგორც აღწერილია ინსტრუქციულ WiFi IoT ტემპერატურისა და ტენიანობის სენსორში. ნაწილი: 8 IoT, სახლის ავტომატიზაცია ნაბიჯი 7, IoT მოწყობილობის პირველადი ტესტირება განხორციელდა MQTT კავშირის საშუალებით MQTT Spy– ს საშუალებით (როგორც სისტემის ბლოკ დიაგრამაზე სურათი 1 ზემოთ), მონიტორინგი led გამომავალი, ღილაკის შეყვანა (ორივე Sonoff ხელახლა დაჭერის ღილაკი და თეთრი გარე ღილაკი) და სერიული ინტერფეისის ტრაფიკის გამართვა. ამან მომცა საშუალება გამოეყენებინა ყველა არსებული ხელმოწერილი თემა და გადამემოწმებინა გამოქვეყნებული პასუხები. თუმცა ისევ და ისევ, ეს ხელით განხორციელდა და შრომატევადი იყო, თუმცა მან 100% –ით გააშუქა შეტყობინებები/თემის პუბლიკაციები.

როგორც ძირითადი პროგრამული უზრუნველყოფის სახელმწიფო მანქანა (ნაბიჯი 6 ზემოთ) მემკვიდრეობით მიიღო ადრინდელი ინსტრუქციიდან (ნაწილი: 8), გარდა გონიერების შემოწმებისა, პროგრამული უზრუნველყოფა შეუერთდებოდა WiFi N/W და MQTT ბროკერს, ვარაუდობდნენ, რომ ის სწორად ფუნქციონირებდა.

სისტემის სრული დონის ტესტირება დასრულდა მაგისტრალური კონტროლერისა და IoT ინფრასტრუქტურის გამოყენებით (ისევ სურათი 1) ამჯერად OpenHAB გამოყენებით IoT მოწყობილობასთან ურთიერთქმედების გასაკონტროლებლად. IoT აპარატურა და დატვირთული დატვირთვა მითითებულია სურათზე 2 ზემოთ.

ვიდეო იძლევა სისტემის ტესტების სრულ დეტალებს და ნათლად აჩვენებს სინქრონიზაციას, რომელიც შენარჩუნებულია OpenHAB მოწყობილობებს შორის (PC/Chrome და iPad/OpenHAB APP) რეალურ დროში. ის ასევე აჩვენებს პირდაპირ შეტყობინებებს Mains Controllers– ისთვის MQTTSpy– ს საშუალებით (იხილეთ აქ დამატებითი დეტალებისათვის MQTT ბროკერის დაყენება. ნაწილი 2: IoT, სახლის ავტომატიზაცია) და OpenHAB– ის კუდირებული სისტემის ჟურნალი ჟოლოს პი სერვერიდან PuTTY SSH კავშირის საშუალებით (იხილეთ აქ შემდგომი დეტალები OpenHAB– ის დაყენება და კონფიგურაცია. ნაწილი 6: IoT, სახლის ავტომატიზაცია).

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

ნაბიჯი 9: დასკვნა

გენერალი

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

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

Sonoff 10A მოწყობილობა

ქვემოთ ჩამოვთვალე ის, რასაც ვგრძნობდი, რომ Sonoff მოწყობილობის გონივრული დადებითი და უარყოფითი მხარეები იყო

Დადებითი

  • იაფი.
  • კარგი საზოგადოების მხარდაჭერა.
  • შეუძლია ხელახლა დაპროგრამება Arduino IDE– ს საშუალებით.

მინუსები

  • უხერხული დანართი.
  • მინიმალური I/O (გამოტანილი გამოსაყენებელი კონექტორებისთვის).
  • ის ცხელ რეჟიმში მიდის მშვიდი მდგომარეობაში.
  • აქვს მხოლოდ 1MByte ბორტზე SPI ფლეშ.
  • არის PITA გადაპროგრამების ერთხელ მავთულის ადგილზე.
  • Sonoff– ის ტესტირებისას ახალი კოდის ინტეგრირებისას სარელეო დახურვა იყო პრობლემატური იმის გათვალისწინებით, რომ სარელეო არის 5 ვ და მიწოდება ვრცელდება Sonoff– ზე პროგრამირებისთვის არის 3v3. სარელეო გააქტიურება მხოლოდ ყურისთვის არის შესამჩნევი.

შეშფოთება

  • ის არ ცვლის ნეიტრალურ ხაზს. იყენებს SPST რელეს.
  • არ არის შერწყმული.
  • ცუდი საკაბელო დაძაბულობის რელიეფი.
  • PCB არ არის დაცული Sonoff– ის დანართში.

გააკეთეთ კომენტარი საინჟინრო დიზაინზე

იმის გათვალისწინებით, რომ ეს IoT მოწყობილობა გამოიყენებოდა დიდი ბრიტანეთის მაგისტრალური ქსელის გადასაყვანად (240VAC RMS) მე დავიცავი როგორც კარგი მექანიკური, ასევე ელექტრული დიზაინის პრაქტიკა და ვიზრუნე შოკის რისკის შემცირებაზე, ელექტრული გამტარ მასალების გამოაშკარავების გარეშე, ყველა კომპონენტის დაზუსტებისას. გამომავალი დატვირთვა, დაუკრავენ დაცვის გამოყენებას როგორც მაგისტრალურ კონტროლერზე, ასევე ოპტო-დაწყვილებულ ქვესისტემაზე, კარგი უწყვეტი დამიწების ჩართვას და ოპტიკური/გალვანური იზოლაციის გამოყენებას.

შესაძლო გაუმჯობესება

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

დასკვნითი შენიშვნა

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

  • Mad Scientist გაფართოების კაბელი
  • საზოგადოების კავშირი 03 - ენერგიის უსაფრთხოების შეშფოთება!

ნაბიჯი 10: გამოყენებული ცნობები

მე გამოვიყენე შემდეგი წყაროები ამ ინსტრუქციულთან ერთად;

PubSubClient.h

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

Bounce2.h

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

SPIFFS

https://esp8266.github.io/Arduino/versions/2.0.0/do…

Sonoff ფლეშის განახლება

  • https://www.andremiller.net/content/upgrading-sonof…
  • https://tech.scargill.net/32mb-esp01/
  • https://www.andremiller.net/content/upgrading-sonof…

სონოფის სქემის დიაგრამა

https://www.itead.cc/wiki/images/6/6b/Sonoff_schmatic.pdf

USB UART მოდული (aka. FTDI)

https://www.ebay.co.uk/itm/6Pin-USB-2-0-to-TTL-UART-Module-Converter-CP2102-STC-Replace-FT232-CF-/272249732398?epid=503069058&hash=item3f6359: g: QVUAAOSw71BXP92B

დარვინის ჯილდოები (მსუბუქი რელიეფი)

https://www.darwinawards.com/

TIL111 ოპტო-იზოლატორის მონაცემთა ცხრილი

გირჩევთ: