![WiFi IoT ტემპერატურისა და ტენიანობის სენსორი. ნაწილი: 8 IoT, სახლის ავტომატიზაცია: 9 ნაბიჯი WiFi IoT ტემპერატურისა და ტენიანობის სენსორი. ნაწილი: 8 IoT, სახლის ავტომატიზაცია: 9 ნაბიჯი](https://i.howwhatproduce.com/images/001/image-784-115-j.webp)
Სარჩევი:
2025 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2025-01-23 14:50
![WiFi IoT ტემპერატურისა და ტენიანობის სენსორი. ნაწილი: 8 IoT, სახლის ავტომატიზაცია WiFi IoT ტემპერატურისა და ტენიანობის სენსორი. ნაწილი: 8 IoT, სახლის ავტომატიზაცია](https://i.howwhatproduce.com/images/001/image-784-116-j.webp)
პრეამბულა
ეს სტატია ასახავს ადრინდელ ინსტრუქციულ პრაქტიკულ გამძლეობას და შემდგომ განვითარებას: 'Pimping' თქვენი პირველი IoT WiFi მოწყობილობა. ნაწილი 4: IoT, სახლის ავტომატიზაცია, ყველა საჭირო პროგრამული უზრუნველყოფის ჩათვლით, რათა შესაძლებელი იყოს წარმატებული განლაგება საშინაო სახლის პირობებში.
შესავალი
როგორც ზემოთ აღვნიშნეთ, ეს ინსტრუქცია აღწერს ადრეული IoT მაგალითის გაერთიანებას საიმედო სისტემების დიზაინით, რაც შესაძლებელს გახდის პრაქტიკული გამოყენების ისეთი შემთხვევების წარმატებით დამუშავებას, როგორიცაა; კატასტროფული ენერგიის დაკარგვა, MQTT ბროკერის უკმარისობა, WiFi N/W უკმარისობა, დისტანციური სენსორის რეკონფიგურაცია, კონფიგურირებადი ანგარიშგების სტრატეგია ქსელის ტრაფიკის შესამცირებლად და პერსონალური სენსორის დაკალიბრების მიზნით.
სულ შეიქმნა 6 გამორთული მოწყობილობა (იხ. სურათი 1 ზემოთ) და განაწილდა ჩემს სახლში, რათა შეიქმნას ჩემი პირველი IoT სენსორული ქსელი.
Instructable ასევე ხედავს MQTT დასახელების კონვენციის მიმოხილვას, რომელიც გამოიყენება IoT Home Automation– ის საწყის სერიაში, რაც უფრო დაბალანსებულ, პრაქტიკულ სტრუქტურას იძლევა, რაც IoT ტრაფიკის უფრო მარტივად გამართვის საშუალებას იძლევა მრავალ IoT მოწყობილობის გარემოში.
ქვემოთ მოცემულია IoT სენსორის სრული დიზაინის დეტალები, მათ შორის; კონსტრუქცია, საწყისი კოდი, ტესტირების სტრატეგია და OpenHAB კონფიგურაციები.
რა ნაწილები მჭირდება?
- 1 ფასდაკლება ESP8266-01,
- 2 off 1uF ელექტროლიტური კონდენსატორები,
- 3 off 10K რეზისტორები,
- 1 off 330R რეზისტორი,
- 1 ცალი დიამეტრი 3 მმ. LED,
- 1 off LD1117-33v, 3v3 LDO VReg. (ფარნელი აქ),
- 1 off DHT22 ტემპერატურის/ტენიანობის სენსორი,
- 1 off ორმაგი 4way 0.1 "კონექტორი,
- 1 გამორთული CAMDENBOSS RX2008/S-5 პლასტმასის დანართი, ჭურჭლის ყუთი, ABS, 38 მმ, 23 მმ (ფარნელი აქ),
- 1 გამორთული დენის კონექტორი, დანამატი, 1 A, 2 მმ, პანელის მთა (ფარნელი აქ),
- 1-დან TO-220 Heatsink 24.4 ° C/W (ფარნელი აქ),
- სხვადასხვა სითბოს შემცირების მილები (ყვითელი, Ebay აქ),
- სხვადასხვა სიგრძის IDC ლენტი კაბელი,
- გამაცხელებელი ნაერთი,
- Veroboard,
- ESP8266-01 პროგრამირების მოწყობილობა. იხილეთ აქ; პრაქტიკული მიკროსქემის მშენებლობა სტრიპის დაფით, ნაბიჯი 9 მოყოლებული.
რა პროგრამული უზრუნველყოფა მჭირდება?
- Arduino IDE 1.6.9
- Arduino IDE კონფიგურირებულია ESP8266-01 პროგრამირებისთვის. იხილეთ აქ; Arduino IDE- ს დაყენება ESP8266-01 პროგრამირებისთვის
რა ინსტრუმენტები მჭირდება?
- გამდნარი რკინა,
- საბურღი და სხვადასხვა ნაჭერი,
- ფაილები,
- Hacksaw,
- ძლიერი ვიცე,
- სითბოს იარაღი,
- DMM
რა უნარები მჭირდება?
- ელექტრონიკის მინიმალური ცოდნა,
- არდუინოს ცოდნა და მისი IDE,
- რუდიმენტული ფაბრიკაციის უნარი (შედუღება, გატეხვა, შევსება, ბურღვა და ა. შ.),
- გარკვეული მოთმინება,
- თქვენი სახლის ქსელის გარკვეული გაგება.
გაშუქებული თემები
- მიკროსქემის მიმოხილვა
- პროგრამული სისტემის მიმოხილვა
- პროგრამული უზრუნველყოფის მიმოხილვა
- სენსორის კალიბრაცია
- MQTT თემის სახელის კონვენცია
- OpenHAB კონფიგურაცია
- დიზაინის ტესტირება
- დასკვნა
- გამოყენებული წყაროები
სერიის ბმულები
ნაწილი 7: განათების კონტროლის შესწავლა (გადამუშავებული). ნაწილი 7: IoT, სახლის ავტომატიზაცია
ნაწილი 9: IoT ქსელის კონტროლერი. ნაწილი 9: IoT, სახლის ავტომატიზაცია
ნაბიჯი 1: მიკროსქემის მიმოხილვა
![მიკროსქემის მიმოხილვა მიკროსქემის მიმოხილვა](https://i.howwhatproduce.com/images/001/image-784-117-j.webp)
![მიკროსქემის მიმოხილვა მიკროსქემის მიმოხილვა](https://i.howwhatproduce.com/images/001/image-784-118-j.webp)
![მიკროსქემის მიმოხილვა მიკროსქემის მიმოხილვა](https://i.howwhatproduce.com/images/001/image-784-119-j.webp)
![მიკროსქემის მიმოხილვა მიკროსქემის მიმოხილვა](https://i.howwhatproduce.com/images/001/image-784-120-j.webp)
სურათი 1 გვიჩვენებს IoT სენსორის სრული სქემის დიზაინს.
IoT მოწყობილობის შუაგულში არის ESP8266-01, რომელიც დაკავშირებულია DHT22 ტემპერატურის/ტენიანობის სენსორთან GPIO2– ზე 10K გამწევი რეზისტორის საშუალებით. გარე 5v იკვებება გადამრთველი რეჟიმით და იკვებება მოწყობილობით 2 მმ DC პანელის სამაგრით და რეგულირდება ადგილობრივად LD1117-33v, 3v3 LDO ძაბვის რეგულატორით, რომელიც დამონტაჟებულია გარე გამათბობელზე BZP M3 ტაფის თავის ხრახნითა და კაკლით რა
დიზაინი მოიცავს GPIO0- სთან დაკავშირებულ 3 მმ -იან წითელ ლიდერს, რომელიც გამოიყენება IoT მოწყობილობის სტატუსის ლოკალური მითითების გაშვებისას ან ნებისმიერი შემდგომი შეცდომის მდგომარეობისას. ის ასევე შეიძლება გამოყენებულ იქნას მოწყობილობის იდენტიფიცირებისათვის ხელით გააქტიურებით openHAB ინტერფეისის საშუალებით.
სრული დიზაინი კარგად არის მორგებული ABS ჭურჭელში, როგორც ეს ნაჩვენებია ზემოთ სურათზე 2 და სპეციალურად იყო ასახული იმის უზრუნველსაყოფად, რომ სენსორი მაქსიმალურად იყოს დაშორებული მარეგულირებლისგან, რათა თავიდან აიცილოს მიკერძოება ადგილობრივი გათბობის ეფექტების გამო (სურათი 7 ზემოთ).
მიკროსქემის დაფა არის veroboard- ის ერთი ნაჭერი, რომელიც მოჭრილია ფორმაში და მოთავსებულია შიგთავსში (სურათი 3 ზემოთ). ეს დაფა დაფიქსირებულია M3- ის ნეილონის ხრახნიანი პოზიციით და ორი კაკლით, რომელიც სენსორის ქვედა მხარეზეა მორგებული, რაც საშუალებას აძლევს მას დაჯდეს ბრტყელ ზედაპირზე.
სურათები 4… 6 გვიჩვენებს მშენებლობის სხვადასხვა მდგომარეობას.
ნაბიჯი 2: პროგრამული სისტემის მიმოხილვა
![პროგრამული სისტემის მიმოხილვა პროგრამული სისტემის მიმოხილვა](https://i.howwhatproduce.com/images/001/image-784-121-j.webp)
![პროგრამული სისტემის მიმოხილვა პროგრამული სისტემის მიმოხილვა](https://i.howwhatproduce.com/images/001/image-784-122-j.webp)
ეს IoT ტემპერატურისა და ტენიანობის შემმოწმებელი მოწყობილობა შეიცავს პროგრამის ექვს ძირითად კომპონენტს, როგორც ეს ნაჩვენებია სურათზე 1 ზემოთ.
SPIFFS
ეს არის ბორტზე SPI Flash შევსების სისტემა და გამოიყენება შემდეგი ინფორმაციის შესანახად (იხ. სურათი 2 ზემოთ);
- ხატები და "სენსორის კონფიგურაციის საწყისი გვერდი" html: ემსახურება IoT მოწყობილობას, როდესაც ის ვერ ახერხებს თქვენს IoT WiFi ქსელთან დაკავშირებას (ჩვეულებრივ უსაფრთხოების არასწორი ინფორმაციის გამო) და მომხმარებელს აძლევს სენსორის დისტანციური კონფიგურაციის საშუალებას საჭიროების გარეშე ხელახლა პროგრამირება ან ახალი SPIFFS შინაარსის ატვირთვა.
- უსაფრთხოების ინფორმაცია: ეს შეიცავს ინფორმაციას, რომელიც გამოიყენება IoT მოწყობილობის ჩართვისას თქვენს IoT WiFi ქსელთან და MQTT ბროკერთან დასაკავშირებლად. "სენსორის კონფიგურაციის საწყისი გვერდის" საშუალებით წარმოდგენილი ინფორმაცია იწერება ამ ფაილში ('secvals.txt').
- ინფორმაცია კალიბრაციის შესახებ: ინფორმაცია, რომელიც შეიცავს ამ ფაილს ('calvals.txt'), გამოიყენება ბორტზე ტემპერატურის/ტენიანობის სენსორის დასადგენად, საჭიროების შემთხვევაში. კალიბრაციის მუდმივების ჩაწერა შესაძლებელია IoT მოწყობილობაზე მხოლოდ MQTT ბროკერის MQTT ბრძანებების საშუალებით.
შენიშვნა: მოწყობილობის დასაყენებლად, იხილეთ აქ სრული დეტალები, თუ როგორ გამოიყენოთ SPIFFS Arduino IDE– სთან ერთად.
mDNS სერვერი
ეს ფუნქცია გამოიყენება მაშინ, როდესაც IoT მოწყობილობა ვერ უკავშირდება თქვენს WiFi ქსელს, როგორც WiFi სადგურს და სამაგიეროდ ხდება WiFi წვდომის წერტილი, რომელიც შინაგანი WiFi როუტერის მსგავსია. ასეთი როუტერის შემთხვევაში თქვენ ჩვეულებრივ დაუკავშირდებით მას 192.168.1.1 – ის IP მისამართის (ჩვეულებრივ დაბეჭდილი ყუთზე განთავსებულ ეტიკეტზე) პირდაპირ თქვენს ბრაუზერის URL ზოლში, რის შემდეგაც თქვენ მიიღებთ შესვლის გვერდს შესასვლელად მომხმარებლის სახელი და პაროლი, რომელიც საშუალებას მოგცემთ დააკონფიგურიროთ მოწყობილობა.
ESP8266– ის AP რეჟიმში (წვდომის წერტილის რეჟიმი) მოწყობილობა ნაგულისხმევია IP მისამართს 192.168.4.1, თუმცა mDNS სერვერთან ერთად თქვენ მხოლოდ ბრაუზერის URL ზოლში უნდა შეიყვანოთ ადამიანის მეგობრული სახელი „SENSORSVR.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 = "SENSOR" + IoT მოწყობილობის MAC მისამართის ბოლო 6 ციფრს. ამ დახურული ქსელის პაროლს წარმოსახვით ჰქვია 'PASSWORD'
ნაბიჯი 3: პროგრამული უზრუნველყოფის მიმოხილვა
![პროგრამული უზრუნველყოფის მიმოხილვა პროგრამული უზრუნველყოფის მიმოხილვა](https://i.howwhatproduce.com/images/001/image-784-123-j.webp)
![პროგრამული უზრუნველყოფის მიმოხილვა პროგრამული უზრუნველყოფის მიმოხილვა](https://i.howwhatproduce.com/images/001/image-784-124-j.webp)
ამ კოდის წარმატებით შესადგენად დაგჭირდებათ შემდეგი დამატებითი ბიბლიოთეკები;
PubSubClient.h
- ავტორი: ნიკ ოლირი
- მიზანი: საშუალებას აძლევს მოწყობილობას გამოაქვეყნოს ან გამოიწეროს MQTT თემები მოცემულ ბროკერთან ერთად
- საიდან:
DHT.h
- ავტორი: ადაფრუტი
- დანიშნულება: ბიბლიოთეკა DHT ტემპერატურის/ტენიანობის სენსორისთვის
- საიდან:
კოდის მიმოხილვა
პროგრამული უზრუნველყოფა იყენებს სახელმწიფო მანქანას, როგორც ეს მოცემულია სურათზე 1 ზემოთ (წყაროს სრული ასლი მოცემულია ქვემოთ). არსებობს 5 ძირითადი მდგომარეობა, როგორც ქვემოთ;
-
ᲛᲐᲡᲨᲘ
ეს ინიციალიზაციის მდგომარეობა არის პირველი მდგომარეობა, რომელიც ძალაუფლების ჩართვის შემდეგ შევიდა
-
არაკონფიგურაცია
ეს მდგომარეობა შევა, თუ ამოქმედდება არასწორი ან დაკარგული secvals.txt ფაილი
-
ელოდება NW
ეს მდგომარეობა არის გარდამავალი, შესულია მაშინ, როდესაც არ არსებობს WiFi ქსელის კავშირი
-
მომლოდინე MQTT
ეს მდგომარეობა არის გარდამავალი, შედის WiFi ქსელის კავშირის დამყარების შემდეგ და სანამ არ არსებობს კავშირი ამ ქსელში MQTT ბროკერთან
-
აქტიური
ეს არის ნორმალური ოპერაციული მდგომარეობა, როდესაც შეიქმნა როგორც WiFi ქსელის კავშირი, ასევე MQTT საბროკერო კავშირი. ამ მდგომარეობის დროს სენსორის ტემპერატურისა და ტენიანობის ფუნქციონირება გამოქვეყნებულია 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– ში დაცული IoT მოწყობილობა გახდება წვდომის წერტილი. ამ წვდომის წერტილთან დაკავშირების შემდეგ ის მოემსახურება "სენსორის კონფიგურაციის მთავარ გვერდს", როგორც ეს ნაჩვენებია ზემოთ სურათ 2 -ში (ბრაუზერის მისამართების ზოლში ან "SENSORSVR.local" ან 192.168.4.1). ეს საწყისი გვერდი იძლევა სენსორის ხელახლა კონფიგურაციას HTTP ბრაუზერის საშუალებით.
დისტანციური წვდომა აქტიური მდგომარეობაში
MQTT ბროკერთან დაკავშირების შემდეგ ასევე შესაძლებელია მოწყობილობის ხელახალი დაკალიბრება და კონფიგურაცია MQTT თემის პუბლიკაციების საშუალებით. ფაილს calvals.txt აქვს R/W წვდომა და secvals.txt აქვს მხოლოდ ჩაწერის წვდომა.
მომხმარებლის გამართვა
ჩატვირთვის თანმიმდევრობით IoT მოწყობილობა led იძლევა შემდეგ გამართულ უკუკავშირს
- 1 მოკლე ფლეშ: არ არის კონფიგურაციის ფაილი SPIFFS- ში (secvals.txt)
- 2 მოკლე ციმციმები: IoT მოწყობილობა ცდილობს WiFi ქსელთან დაკავშირებას
- უწყვეტი განათება: IoT მოწყობილობა ცდილობს MQTT ბროკერთან დაკავშირებას
- გამორთული: მოწყობილობა აქტიურია
- შენიშვნა 1: "სენსორის კონფიგურაციის საწყისი გვერდი" არ იყენებს უსაფრთხო სოკეტებს და ამიტომ ეყრდნობა თქვენი ქსელის უსაფრთხოებას.
- შენიშვნა 2: თითოეული IoT მოწყობილობის დასაპროგრამებლად MQTT სტრიქონი საჭიროებს რედაქტირებას გადმოტვირთვამდე. ეს იმიტომ ხდება, რომ სენსორის ნომერი ჩაშენებულია MQTT თემის სტრიქონში. ანუ 'WFD/THSen/100/HumdStatus/1' ჩემი 6 მოწყობილობისთვის ისინი ნომრებით 1… 6 შესაბამისად.
ნაბიჯი 4: სენსორის დაკალიბრება
![სენსორის კალიბრაცია სენსორის კალიბრაცია](https://i.howwhatproduce.com/images/001/image-784-125-j.webp)
![სენსორის კალიბრაცია სენსორის კალიბრაცია](https://i.howwhatproduce.com/images/001/image-784-126-j.webp)
როდესაც IoT მოწყობილობა გააქტიურდება, ჩატვირთვის თანმიმდევრობის ნაწილად ფაილი სახელწოდებით 'cavals.txt' იკითხება SPIFFS- დან. ამ ფაილის შინაარსი არის კალიბრაციის მუდმივები, როგორც ზემოთ მოცემულია სურათზე 1. ეს დაკალიბრების მუდმივები გამოიყენება სენსორიდან მიღებული კითხვების დასარეგულირებლად, რათა შეესაბამებოდეს მათ საცნობარო მოწყობილობას. არსებობს კიდევ ერთი მნიშვნელობა, რომელიც განსაზღვრავს მოწყობილობის ანგარიშგების სტრატეგიას და აღწერილია ქვემოთ, სენსორების დაკალიბრების პროცედურასთან ერთად.
მოხსენების სტრატეგია ეს პარამეტრი განსაზღვრავს, თუ როგორ აცნობებს დისტანციური სენსორი გარემოს ნებისმიერ პარამეტრულ ცვლილებას ადგილობრივად. 0 მნიშვნელობის არჩევის შემთხვევაში დისტანციური სენსორი გამოაქვეყნებს ნებისმიერ ცვლილებას ტემპერატურის ან ტენიანობის მნიშვნელობებში ყოველ ჯერზე სენსორის წაკითხვისას (დაახლოებით ყოველ 10 წამში). ნებისმიერი სხვა მნიშვნელობა დააყოვნებს ცვლილების გამოქვეყნებას 1… 60 წუთით. ამ პარამეტრის შეცვლა იძლევა MQTT ქსელის ტრაფიკის ოპტიმიზაციის საშუალებას.
ტემპერატურის კალიბრაცია
სენსორების დასაკალიბრებლად ისინი მოთავსებულნი იყვნენ ერთმანეთთან ფიზიკურ სიახლოვეს, როგორც ეს ნაჩვენებია სურათზე 2. სურათზე 2. მათ გვერდით მე მოვათავსე DMM კალიბრირებული თერმოწყვილით (Fluke 87 V) და შემდეგ დავაკვირდი თითოეული მოწყობილობის გამოსავალს OpenHAB ტემპერატურის საშუალებით ტენდენციის გვერდი დღის განმავლობაში, რომ მიიღოთ კარგი ტემპერატურის ცვალებადობა. მე აღვნიშნე როგორც სტატიკური ოფსეტი (მომატებული ნულოვანი 'C'), ასევე თითოეული მოწყობილობის ცვლილების სიჩქარე (მოგება, ან გრაფიკი 'M') დახრილ თერმოწყვილზე მომდინარე მნიშვნელობასთან შედარებით. შემდეგ გამოვთვალე მარტივი y = mx+c ურთიერთობა (აღმოვაჩინე, რომ ეს იყო საკმარისად წრფივი, როგორც სწორი ხაზის გრაფიკთან ახლო მიახლოება) და დავპროგრამე ნებისმიერი საჭირო შესწორება კალიბრაციის მუდმივებში MQTTSpy– ს საშუალებით.
შემდეგ მოწყობილობებს მონიტორინგი ჩაუტარდათ კიდევ 24 საათის განმავლობაში, რათა კალიბრაცია წარმატებული ყოფილიყო. იმის მითითება, თუ რა იყო ტემპერატურის კვალი OpenHAB ტემპერატურის ტენდენციის გვერდზე, ყველა საკმაოდ ერთმანეთის თავზე იყო.
რა თქმა უნდა, თუ თქვენ დაინტერესებული ხართ მხოლოდ ტემპერატურის მიახლოებით, შეგიძლიათ დატოვოთ ყველა კალიბრაციის მნიშვნელობა ნაგულისხმევად.
ტენიანობის კალიბრაცია
იმის გამო, რომ მე არ მაქვს საშუალება ზუსტად ჩაწერო ან თუნდაც გავაკონტროლო გარემოს ტენიანობა, სენსორების დასადგენად გამოვიყენე ზემოაღნიშნულიდან მსგავსი მიდგომა, ყველა მოწყობილობის ფიზიკურ სიახლოვეს მოთავსებით (სურათი 2) და უბრალოდ მათი მონიტორინგი OpenHAB- ის საშუალებით ტენიანობის მოვლის გვერდი. შემდეგ მე ავირჩიე მოწყობილობა #1 როგორც დაკალიბრების მითითება და დავაკალიბრე ყველა მოწყობილობა მასთან შედარებით.
ნაბიჯი 5: MQTT თემის დასახელების კონვენცია
![MQTT თემის სახელის კონვენცია MQTT თემის სახელის კონვენცია](https://i.howwhatproduce.com/images/001/image-784-127-j.webp)
![MQTT თემის სახელის კონვენცია MQTT თემის სახელის კონვენცია](https://i.howwhatproduce.com/images/001/image-784-128-j.webp)
ბევრი ცდისა და შეცდომის შემდეგ დავთანხმდი თემის დასახელების კონვენციაზე, რომელიც მოცემულია ზემოთ 1 სურათზე.
კერძოდ, "AccessMethod/DeviceType/WhichDevice/Action/SubDevice"
ეს არ არის სრულყოფილი, მაგრამ ის საშუალებას იძლევა გამოყენებულ იქნას სასარგებლო ფილტრები, რომ ნახოთ სენსორის ყველა გამოსავალი მოცემული პარამეტრული მნიშვნელობისათვის, რაც საშუალებას იძლევა ადვილად შეადაროთ როგორც ზემოთ სურათზე 2 MQTTSpy. იგი ასევე მხარს უჭერს გონივრულად გაფართოებულ ფუნქციონალურ ლოგიკურ დაჯგუფებებს მოცემულ IoT მოწყობილობაში.
ამ თემების პროგრამული უზრუნველყოფის განსახორციელებლად გამოვიყენე მყარი კოდირებული თემის სტრიქონები ფიქსირებული, ჩამონტაჟებული რიცხვითი იდენტიფიკატორებით თითოეული მოწყობილობისთვის, განსხვავებით დინამიური გენერირებისა თემების გაშვებისას, რათა დაზოგო ოპერატიული მეხსიერება და შეინარჩუნო შესრულება მაღალი.
შენიშვნა: თუ არ ხართ დარწმუნებული როგორ გამოიყენოთ MQTTSpy იხილეთ აქ 'MQTT ბროკერის დაყენება. ნაწილი 2: IoT, სახლის ავტომატიზაცია '
ნაბიჯი 6: OpenHAB კონფიგურაცია
![OpenHAB კონფიგურაცია OpenHAB კონფიგურაცია](https://i.howwhatproduce.com/images/001/image-784-129-j.webp)
![OpenHAB კონფიგურაცია OpenHAB კონფიგურაცია](https://i.howwhatproduce.com/images/001/image-784-130-j.webp)
![OpenHAB კონფიგურაცია OpenHAB კონფიგურაცია](https://i.howwhatproduce.com/images/001/image-784-131-j.webp)
მე შევცვალე OpenHAB კონფიგურაცია, რომელიც მოცემულია ჩემს ადრინდელ ინსტრუქციაში (აქ) და დავამატე ცალკეულ ჩანაწერებში;
- გარაჟი,
- დარბაზი,
- Მისაღები ოთახი,
- სამზარეულო
- სტუმრების საძინებელი
- სამაგისტრო საძინებელი
საიტის რუქაზე იხილეთ სურათი 1 ზემოთ.
თითოეული ამ ჩანაწერისთვის მე დავამატე ინდივიდუალური საიტის რუქები, რომლებიც ასახავს ადგილობრივი გარემოს ღირებულებებს (იხ. სურათი 2 ზემოთ);
- ტემპერატურა
- ტენიანობა
- სითბოს ინდექსი
მე ასევე ჩავრთე სენსორში დამონტაჟებული ადგილობრივი led- ის გასაკონტროლებლად.
სურათები 3… 5 აჩვენებს ინდივიდუალურ ცოცხალ კვალს 24 საათის განმავლობაში ტემპერატურის, ტენიანობის და RSSI (მიღებული სიგნალის სიძლიერის ჩვენება, ძირითადად იმის საზომი, თუ რამდენად კარგად ხედავს სენსორი WiFi ქსელს).
სურათი 6 ასახავს ტენიანობის გრძელვადიანი ტენდენციის მაგალითს ერთი კვირის განმავლობაში.
შენიშვნა 1: თუ არ ხართ დარწმუნებული როგორ გამოიყენოთ OpenHAB იხილეთ აქ 'OpenHAB- ის დაყენება და კონფიგურაცია. ნაწილი 6: IoT, სახლის ავტომატიზაცია '
შენიშვნა 2: ქვემოთ მოცემულია მოდიფიცირებული საიტის რუქის ასლი, წესები და ერთეულების ფაილები, ხატები და ა.შ.
ნაბიჯი 7: დიზაინის შემოწმება
![დიზაინის ტესტირება დიზაინის ტესტირება](https://i.howwhatproduce.com/images/001/image-784-132-j.webp)
![დიზაინის ტესტირება დიზაინის ტესტირება](https://i.howwhatproduce.com/images/001/image-784-133-j.webp)
უმეტესწილად IoT მოწყობილობა გამოვცადე MQTT კავშირით MQTT Spy– თან, მონიტორინგი გამოიწვია გამომავალი და გამართული ტრაფიკი სერიულ ინტერფეისზე. ამან მომცა საშუალება გამოეყენებინა ყველა არსებული ხელმოწერილი თემა და გადამემოწმებინა გამოქვეყნებული პასუხები. მიუხედავად იმისა, რომ ეს ხელით იქნა მიღწეული და ზოგჯერ დამღლელიც კი ხდებოდა, ის 100% -იანი გაშუქების საშუალებას იძლეოდა.
თუმცა, მთავარი სახელმწიფო მანქანა შესამოწმებლად ცოტა რთული აღმოჩნდა, რადგან ის ეყრდნობოდა WiFi ქსელის არსებობას ან არარსებობას, რომლის ხელმისაწვდომობა მოითხოვს სპეციფიკურ პარამეტრთა ნაკრებებს. უბრალოდ არ იყო პრაქტიკული სახლის ქსელის გამოყენება ამისათვის.
ამ საკითხის გადასაჭრელად მე შევქმენი ჩემი საკუთარი ნაკრები ქსელი ESP8266-01 გამოყენებით, რომელიც კონფიგურირებულია როგორც წვდომის წერტილები (სურათი 1) SSID– ით „DummyNet1“და „DummyNet2“შესაბამისად. Led– ის ზემოთ სურათ 2 – ში მიკროსქემის გამოყენებამ აჩვენა, იყო თუ არა მასთან დაკავშირებული IoT მოწყობილობა. მიუხედავად იმისა, რომ ეს არ იყო სრულყოფილი სატესტო გადაწყვეტა (ანუ თითოეული ეს დუმბი WiFi ქსელი არ შეიცავდა MQTT სერვერს) შესაძლებელი იყო სახელმწიფო აპარატის სრულად გამოცდა.
ქვემოთ მოვიყვანე წყაროს კოდის ასლი.
ნაბიჯი 8: დასკვნა
გენერალი
IoT მოწყობილობებში არსებული პროგრამული უზრუნველყოფა საიმედოდ მუშაობს მრავალი თვის განმავლობაში, გამოჯანმრთელებულია საყოფაცხოვრებო ელექტროენერგიის გათიშვისგან (ძირითადად გამოწვეული ჩემით). საერთო ჯამში ისინი საკმაოდ მძლავრი მოწყობილობებია, რომლებიც აძლევენ თანმიმდევრულ და ზუსტ მონაცემებს.
გაუმჯობესებები
SPIFFS– ის წაკითხვისა და წერის პროგრამული უზრუნველყოფის შემუშავებისას მე დავწერე კოდი, რომელიც უკანა თვალით შეიძლება იყოს უფრო მოწინავე, ვიდრე ვგეგმავდი, ბათილი მითითებების, გადაკეთების და მითითებების გამოყენებით. მიუხედავად იმისა, რომ ის ძალიან მოქნილია და კარგად ასრულებს საქმეს, შემდეგ ჯერზე მე შემიძლია JSON გამოვიყენო ConfigFile.ino– ს ხაზების გასწვრივ, რომ ის უფრო მარტივი იყოს.
-
Arduino GIT HUB ბირთვი
https://github.com/esp8266/Arduino
-
ConfigFile.ino წყარო
https://github.com/esp8266/Arduino/tree/master/libraries/esp8266/examples/ConfigFile
სურვილების სია
მე ვაპირებდი mDNS კლიენტის გამოყენებას ბროკერთან დასაკავშირებლად, მაგრამ ბიბლიოთეკა ძალიან ფხვიერი იყო. სწორედ ამიტომ აუცილებელია მიუთითოთ MQTT ბროკერის IP მისამართი, განსხვავებით "MQTTSVR.local" - ისგან. თუ მომავალში mDNS ბიბლიოთეკა გახდება უფრო სტაბილური, მე ამას დავამატებ მოწყობილობას.
კარგი იქნებოდა, რომ გქონდეთ გარემოს ტენიანობის ზუსტად მონიტორინგისა და კონტროლის საშუალება სენსორების წინააღმდეგ დასადგენად. ამასთან, ნათქვამია, რომ არჩეული კალიბრაციის მეთოდი იძლევა კარგ ნათესავ მაჩვენებლებს და გონივრულად ზუსტი ჩანს DHT22 მონაცემების ცხრილში მოცემული სპეციფიკაციის შესაბამისად.
დაბოლოს, პროგრამული უზრუნველყოფის სირთულის გათვალისწინებით, აღმოვაჩინე, რომ სრულად ვამოწმებ კოდს მას შემდეგ, რაც მნიშვნელოვანი ცვლილება დროში გაწელილი ხდება. შეიძლება მოგვიანებით განვიხილო ავტომატური ტესტირება.
ნაბიჯი 9: გამოყენებული ცნობები
მე გამოვიყენე შემდეგი წყაროები ამ ინსტრუქციულთან ერთად;
PubSubClient.h
- ავტორი: ნიკ ოლირი
- საიდან:
DHT.h
- ავტორი: ადაფრუტი
- საიდან:
DHT22 მონაცემთა ცხრილი
გირჩევთ:
DHT21 ციფრული ტემპერატურისა და ტენიანობის სენსორი არდუინოსთან ერთად: 6 ნაბიჯი
![DHT21 ციფრული ტემპერატურისა და ტენიანობის სენსორი არდუინოსთან ერთად: 6 ნაბიჯი DHT21 ციფრული ტემპერატურისა და ტენიანობის სენსორი არდუინოსთან ერთად: 6 ნაბიჯი](https://i.howwhatproduce.com/images/002/image-5384-j.webp)
DHT21 ციფრული ტემპერატურისა და ტენიანობის სენსორი არდუინოსთან ერთად: ამ გაკვეთილში ჩვენ ვისწავლით თუ როგორ გამოიყენოთ DHT21 ტენიანობისა და ტემპერატურის სენსორი არდუინოსთან ერთად და გამოვაჩინოთ მნიშვნელობები OLED ეკრანზე. უყურეთ ვიდეოს
Arduino მზის ენერგიის ტემპერატურისა და ტენიანობის სენსორი, როგორც 433 მჰც ორეგონის სენსორი: 6 ნაბიჯი
![Arduino მზის ენერგიის ტემპერატურისა და ტენიანობის სენსორი, როგორც 433 მჰც ორეგონის სენსორი: 6 ნაბიჯი Arduino მზის ენერგიის ტემპერატურისა და ტენიანობის სენსორი, როგორც 433 მჰც ორეგონის სენსორი: 6 ნაბიჯი](https://i.howwhatproduce.com/images/009/image-25178-j.webp)
Arduino Solar Powered Temperature and Humidity Sensor As 433mhz Oregon Sensor: This is the build of a solar powered temperature and ტენიანობის სენსორი. Sensor emulates 433mhz Oregon sensor, and is ჩანს Telldus Net gateway. რა გჭირდებათ: 1x " 10-LED მზის ენერგიის მოძრაობის სენსორი " Ebay– დან დარწმუნდით, რომ წერია 3.7 ვ ბატარეა
IOT გრძელი დიაპაზონის უკაბელო ტემპერატურისა და ტენიანობის სენსორი კვანძი-წითელი: 27 ნაბიჯი
![IOT გრძელი დიაპაზონის უკაბელო ტემპერატურისა და ტენიანობის სენსორი კვანძი-წითელი: 27 ნაბიჯი IOT გრძელი დიაპაზონის უკაბელო ტემპერატურისა და ტენიანობის სენსორი კვანძი-წითელი: 27 ნაბიჯი](https://i.howwhatproduce.com/images/003/image-7581-4-j.webp)
IOT Long Range Wireless Temperature and Humidity Sensor With Node-Red: წარმოგიდგენთ NCD– ს შორი დისტანციის უკაბელო ტემპერატურის ტენიანობის სენსორს, რომელიც გამოირჩევა 28 მილის დიაპაზონით უკაბელო mesh ქსელის არქიტექტურის გამოყენებით. Honeywell HIH9130 ტემპერატურის ტენიანობის სენსორის ჩართვა გადასცემს უაღრესად ზუსტ ტემპერატურას
რეტრო მეტყველების სინთეზი. ნაწილი: 12 IoT, სახლის ავტომატიზაცია: 12 ნაბიჯი (სურათებით)
![რეტრო მეტყველების სინთეზი. ნაწილი: 12 IoT, სახლის ავტომატიზაცია: 12 ნაბიჯი (სურათებით) რეტრო მეტყველების სინთეზი. ნაწილი: 12 IoT, სახლის ავტომატიზაცია: 12 ნაბიჯი (სურათებით)](https://i.howwhatproduce.com/images/005/image-12984-17-j.webp)
რეტრო მეტყველების სინთეზი. ნაწილი: 12 IoT, სახლის ავტომატიზაცია: ეს სტატია მე –12 სერიაა სახლის ავტომატიზაციის შესახებ ინსტრუქციებით, რომლებიც ასახავს თუ როგორ უნდა შექმნათ და ინტეგრირდეთ IoT რეტრო მეტყველების სინთეზის მოწყობილობა არსებულ სახლის ავტომატიზაციის სისტემაში, მათ შორის ყველა საჭირო პროგრამული უზრუნველყოფის ფუნქციონირებით
IoT ქსელის კონტროლერი. ნაწილი 9: IoT, სახლის ავტომატიზაცია: 10 ნაბიჯი (სურათებით)
![IoT ქსელის კონტროლერი. ნაწილი 9: IoT, სახლის ავტომატიზაცია: 10 ნაბიჯი (სურათებით) IoT ქსელის კონტროლერი. ნაწილი 9: IoT, სახლის ავტომატიზაცია: 10 ნაბიჯი (სურათებით)](https://i.howwhatproduce.com/images/004/image-9146-14-j.webp)
IoT ქსელის კონტროლერი. ნაწილი 9: IoT, სახლის ავტომატიზაცია: პასუხისმგებლობის უარყოფა წაიკითხეთ ეს პირველად ეს ინსტრუქციულად არის აღწერილი პროექტი, რომელიც იყენებს მაგისტრალურ ენერგიას (ამ შემთხვევაში, UK 240VAC RMS), მიუხედავად იმისა, რომ ყველა ზრუნვა იქნა მიღებული უსაფრთხო პრაქტიკის და კარგი დიზაინის პრინციპების გამოსაყენებლად, ყოველთვის არის პოტენციურად სასიკვდილო რისკი არჩევა