Mundarija:

WiFi IoT harorati va namligi sensori. Qism: 8 IoT, uy avtomatizatsiyasi: 9 qadam
WiFi IoT harorati va namligi sensori. Qism: 8 IoT, uy avtomatizatsiyasi: 9 qadam

Video: WiFi IoT harorati va namligi sensori. Qism: 8 IoT, uy avtomatizatsiyasi: 9 qadam

Video: WiFi IoT harorati va namligi sensori. Qism: 8 IoT, uy avtomatizatsiyasi: 9 qadam
Video: Использование Melexis MLX90614 Инфракрасный термометр с Arduino 2024, Noyabr
Anonim
WiFi IoT harorati va namligi sensori. Qism: 8 IoT, uy avtomatizatsiyasi
WiFi IoT harorati va namligi sensori. Qism: 8 IoT, uy avtomatizatsiyasi

Muqaddima

Ushbu maqola birinchi IoT Wi -Fi qurilmasini "o'g'irlash" qo'llanmasining amaliy mustahkamligi va keyingi rivojlanishi haqida dalolat beradi. 4 -qism: IoT, uy avtomatizatsiyasi, uy sharoitida muvaffaqiyatli joylashtirish uchun zarur bo'lgan barcha dasturiy ta'minot funktsiyalari.

Kirish

Yuqorida aytib o'tilganidek, ushbu yo'riqnomada IOTning oldingi namunasini ishonchli tizimlar dizayni bilan birlashtirish tasvirlangan, masalan, amaliy foydalanish holatlarini muvaffaqiyatli hal qilish; Katastrofik quvvat yo'qotilishi, MQTT Brokerining ishlamay qolishi, Wi -Fi N/V uzilishi, masofadan turib sensorni qayta sozlash, tarmoq trafigini kamaytirish uchun maxsus sozlangan hisobot strategiyasi va sensorlar kalibratsiyasi.

Hammasi bo'lib 6 ta o'chirish moslamasi yaratildi (yuqoridagi 1 -rasmga qarang) va birinchi IoT sensorlar tarmog'ini yaratish uchun uyim atrofida tarqatildi.

Instructable shuningdek, IoT Home Automation -ning boshlang'ich seriyasida ishlatilgan MQTT nomlash konventsiyasini ko'rib chiqadi, bu IoT -trafikni ko'p IoT qurilmalari muhitida sodda tuzatishga imkon beradigan yanada muvozanatli va amaliy tuzilmaga yo'l ochadi.

Quyida IoT sensorining to'liq dizayn tafsilotlari keltirilgan; qurilish, manba kodi, test strategiyasi va OpenHAB konfiguratsiyasi.

Menga qanday qismlar kerak?

  1. 1 ta ESP8266-01,
  2. 2 ta 1uF elektrolitik kondansatkichlar,
  3. 3 ta 10K rezistorlar,
  4. 1 ta 330R qarshilik,
  5. 1 mm 3 mm diametrli. LED,
  6. 1 ta LD1117-33v, 3v3 LDO VReg. (Farnell bu erda),
  7. DHT22 harorat/namlik sensori 1 marta,
  8. 1 marta ikkita 4 tomonlama 0,1 dyuymli ulagich,
  9. 1 ta CAMDENBOSS RX2008/S-5 plastik muhofazasi, idishlar qutisi, ABS, 38 mm, 23 mm (bu erda Farnell),
  10. 1 ta shahar quvvat ulagichi, vilkasi, 1 A, 2 mm, Panelni o'rnatish (bu erda Farnell),
  11. 1 ta TO-220 isitgichi 24,4 ° C/Vt (bu erda Farnell),
  12. Har xil issiqlik o'tkazmaydigan quvurlar (sariq, Ebay bu erda),
  13. Har xil uzunlikdagi IDC tasma kabeli,
  14. Sovutgich birikmasi,
  15. Verteboard,
  16. ESP8266-01 dasturlash qurilmasi. Bu yerga qarang; Strip taxtali bilan amaliy davr qurilishi, 9 -qadam.

Menga qanday dastur kerak?

  1. Arduino IDE 1.6.9
  2. Arduino IDE ESP8266-01 dasturlash uchun tuzilgan. Bu yerga qarang; Arduino IDE-ni ESP8266-01 dasturlash uchun sozlash

Menga qanday vositalar kerak?

  1. Lehimlash temir,
  2. Matkap va har xil bitlar,
  3. Fayllar,
  4. Hacksaw,
  5. Qattiq vitse,
  6. Issiq qurol,
  7. DMM.

Menga qanday ko'nikmalar kerak?

  1. Elektronikani minimal tushunish,
  2. Arduino va uning IDE haqidagi bilimlari,
  3. Ishlab chiqarishning boshlang'ich ko'nikmalari (lehimlash, kesish, qoziq, burg'ulash va boshqalar),
  4. Bir oz sabr,
  5. Sizning uy tarmog'ingiz haqida bir oz tushuncha.

Mavzular qamrab olingan

  1. O'chirishning umumiy ko'rinishi
  2. Dasturiy ta'minot tizimiga umumiy nuqtai
  3. Dasturiy ta'minot haqida umumiy ma'lumot
  4. Sensorni kalibrlash
  5. MQTT mavzusini nomlash konventsiyasi
  6. OpenHAB konfiguratsiyasi
  7. Dizaynni sinovdan o'tkazish
  8. Xulosa
  9. Ishlatilgan adabiyotlar

Seriyali havolalar

7 -qismga: Study Lights Controller (qayta ishlangan). 7 -qism: IoT, uy avtomatizatsiyasi

9 -qism: IoT tarmoq nazoratchisi. 9 -qism: IoT, uy avtomatizatsiyasi

1 -qadam: O'chirish sxemasi

O'chirish haqida umumiy ma'lumot
O'chirish haqida umumiy ma'lumot
O'chirish haqida umumiy ma'lumot
O'chirish haqida umumiy ma'lumot
O'chirish haqida umumiy ma'lumot
O'chirish haqida umumiy ma'lumot
O'chirish haqida umumiy ma'lumot
O'chirish haqida umumiy ma'lumot

Yuqoridagi 1 -rasmda IoT sensorining to'liq sxemasi ko'rsatilgan.

IoT qurilmasining markazida ESP8266-01 joylashgan, u DHT22 harorat/namlik sensori bilan 10K tortishish qarshiligi orqali GPIO2 ga ulanadi. Tashqi 5V kommutatsiyali rejim bilan ta'minlanadi va 2 mm DC panelli o'rnatish rozetkasi orqali qurilmaga etkazib beriladi va LZ1117-33v, 3V3 LDO kuchlanish regulyatori bilan BZP M3 pan boshli vintli va vintli tashqi issiqlik qabul qilgichga o'rnatiladi..

Dizayn 3 mm qizil LEDni o'z ichiga oladi, u GPIO0 ga ulangan bo'lib, u ishga tushirish paytida IoT qurilmasining holatini yoki undan keyingi xato holatini ko'rsatadi. Bundan tashqari, openHAB interfeysi orqali qo'lda yoqish orqali qurilmani aniqlash uchun ham foydalanish mumkin.

To'liq dizayn, yuqorida ko'rsatilgan 2 -rasmda ko'rsatilgandek, ABS qozon qutisiga juda mos keladi va mahalliy isitish effektlari ta'sirida yonishning oldini olish uchun sensorni regulyatordan iloji boricha uzoqroq bo'lishini ta'minlash uchun maxsus joylashtirilgan (yuqoridagi 7 -rasm).

Elektron karta - bu veroboardning bitta bo'lagi bo'lib, u kesilgan va korpusga o'rnatiladi (yuqoridagi 3 -rasm). Bu taxtali M3 tayanchli neylon vint va ikkita yong'oq bilan o'rnatiladi, ular sensorning pastki qismiga to'g'ri keladi va shu bilan tekis yuzaga o'tirishga imkon beradi.

4… 6 -rasmlarda qurilishning turli holatlari ko'rsatilgan.

2 -qadam: dasturiy ta'minot tizimiga umumiy nuqtai

Dasturiy ta'minot tizimiga umumiy nuqtai
Dasturiy ta'minot tizimiga umumiy nuqtai
Dasturiy ta'minot tizimiga umumiy nuqtai
Dasturiy ta'minot tizimiga umumiy nuqtai

Bu IoT harorati va namligini o'lchash moslamasi yuqoridagi 1 -rasmda ko'rsatilgan oltita asosiy dasturiy komponentni o'z ichiga oladi.

SPIFFS

Bu bortdagi SPI Flash fayllar tizimi va quyidagi ma'lumotlarni saqlash uchun ishlatiladi (yuqoridagi 2-rasmga qarang);

  • Belgilar va "Sensor konfiguratsiyasining bosh sahifasi" html: IoT Wi -Fi tarmog'ingizga ulana olmaganda (odatda noto'g'ri xavfsizlik ma'lumotlari tufayli) IoT qurilmasi tomonidan xizmat ko'rsatiladi va foydalanuvchiga sensorni masofadan sozlash vositasi bilan ta'minlanadi. qayta dasturlash yoki yangi SPIFFS tarkibini yuklash.
  • Xavfsizlik haqida ma'lumot: Bu sizning IoT WiFi tarmog'ingizga va MQTT Brokeriga ulanish uchun IoT qurilmasi tomonidan ishlatilgan ma'lumotlarni o'z ichiga oladi. "Sensor konfiguratsiyasi bosh sahifasi" orqali yuborilgan ma'lumotlar ushbu faylga yozilgan ('secvals.txt').
  • Kalibrlash haqida ma'lumot: Ushbu fayldagi ma'lumotlar ('calvals.txt'), agar kerak bo'lsa, bortdagi harorat/namlik sensori kalibrlash uchun ishlatiladi. Kalibrlash konstantalari faqat IQ qurilmasiga MQTT brokerining MQTT buyruqlari orqali yozilishi mumkin.

Eslatma: Dastlabki qurilmani sozlash uchun bu erda Arduino IDE bilan SPIFFS -dan qanday foydalanish haqida to'liq ma'lumotni ko'ring.

mDNS server

IoT qurilmasi Wi -Fi tarmog'iga Wi -Fi stantsiyasi sifatida ulana olmaganida va mahalliy Wi -Fi routeriga o'xshash Wi -Fi ulanish nuqtasiga aylanganda, bu funksiya chaqiriladi. Bunday yo'riqnoma bo'lsa, siz odatda unga 192.168.1.1 (odatda qutiga yopishtirilgan yorliqda bosilgan) kabi IP -manzilni to'g'ridan -to'g'ri brauzeringizning URL -satriga kiritish orqali ulanasiz, shunda siz kirish uchun kirish sahifasini olasiz. qurilmani sozlash uchun foydalanuvchi nomi va parol.

ESP8266 AP rejimida (Kirish nuqtasi rejimi), qurilma 192.168.4.1 IP -manzilini o'rnatadi, lekin mDNS -serverda faqat brauzer URL -satriga "SENSORSVR.local" nomini kiritish kifoya. "Sensor konfiguratsiyasi bosh sahifasi".

MQTT mijozi

MQTT mijozi barcha kerakli funktsiyalarni ta'minlaydi; o'z IoT tarmog'iga MQTT brokeriga ulaning, siz tanlagan mavzularga obuna bo'ling va berilgan mavzu bo'yicha yuklarni e'lon qiling. Muxtasar qilib aytganda, u IoT -ning asosiy funktsiyalarini ta'minlaydi.

HTTP veb -server

Yuqorida aytib o'tilganidek, agar IoT qurilmasi SSID, P/W va boshqalar SPIFFS -da saqlangan Xavfsizlik ma'lumoti faylida ko'rsatilgan WiFi tarmog'iga ulana olmasa, qurilma kirish nuqtasiga aylanadi. Kirish nuqtasi tomonidan taqdim etilgan Wi -Fi tarmog'iga ulanganingizda, HTTP veb -serverining mavjudligi qurilmaga to'g'ridan -to'g'ri ulanish va HTTP veb -brauzeri yordamida uning konfiguratsiyasini o'zgartirish imkonini beradi. Sahifaning veb -sahifasi, u SPIFFS da saqlanadi.

WiFi stantsiyasi

Bu funksiya IoT qurilmasiga Xavfsizlik ma'lumotlari faylidagi parametrlardan foydalangan holda mahalliy WiFi tarmog'iga ulanish imkoniyatini beradi, bu holda sizning IoT qurilmangiz MQTT Brokeriga obuna bo'la olmaydi/nashr qila olmaydi.

WiFi kirish nuqtasi

Wi -Fi kirish nuqtasi bo'lish qobiliyati - bu IoT qurilmasi unga ulanish va Wi -Fi stantsiyasi va brauzer (masalan, Apple iPad -dagi Safari) orqali konfiguratsiyani o'zgartirish imkonini beradi.

Bu kirish nuqtasi SSID = "SENSOR" + IOT qurilmasining MAC manzilining oxirgi 6 ta raqamini uzatadi. Bu yopiq tarmoq uchun parol "PASSWORD" deb nomlangan.

3 -qadam: Dasturiy ta'minotga umumiy nuqtai

Dasturiy ta'minot haqida umumiy ma'lumot
Dasturiy ta'minot haqida umumiy ma'lumot
Dasturiy ta'minot haqida umumiy ma'lumot
Dasturiy ta'minot haqida umumiy ma'lumot

PreambleT bu manba kodini muvaffaqiyatli kompilyatsiya qilish uchun sizga quyidagi qo'shimcha kutubxonalar kerak bo'ladi;

PubSubClient.h

  • Muallif: Nik O'Leary
  • Maqsad: Qurilmaga MQTT mavzularini berilgan broker yordamida nashr qilish yoki unga obuna bo'lish imkonini beradi
  • Manba:

DHT.h

  • Muallif: Adafruit
  • Maqsad: DHT kutubxonasi harorat/namlik sensori
  • Manba:

Kodni ko'rib chiqish

Dastur 1-rasmda ko'rsatilgandek davlat mashinasidan foydalanadi (manba to'liq nusxasi quyida berilgan). Quyida keltirilgan 5 ta asosiy shtatlar mavjud;

  • INIT

    Bu ishga tushirish holati - quvvat yoqilgandan keyin kiritilgan birinchi holat

  • NOKONFIG

    Agar bu holat yoqilganidan keyin noto'g'ri yoki yo'qolgan secvals.txt fayli aniqlansa, bu holat kiritiladi

  • NW kutilmoqda

    Bu holat vaqtinchalik, Wi -Fi tarmog'iga ulanmagan holda kiritilgan

  • MQTT kutilmoqda

    Bu holat vaqtinchalik, Wi -Fi tarmog'iga ulanish o'rnatilgandan keyin kiritiladi va shu tarmoqdagi MQTT brokeriga ulanish yo'q

  • AKTIV

    Bu Wi -Fi tarmog'iga ulanish va MQTT Broker ulanishi o'rnatilgandan so'ng kiritiladigan oddiy operatsion holat. Aynan shu holatda sensorning harorati va namligi MQTT Brokeriga e'lon qilinadi

Shtatlar orasidagi o'tishni boshqaruvchi hodisalar yuqoridagi 1 -rasmda tasvirlangan. Shtatlar orasidagi o'tish ham SecValsning quyidagi parametrlari bilan boshqariladi;

  • Birinchi MQTT brokerining IP -manzili. AAA. BBB. CCC. DDD punktli kasr shaklida
  • Ikkinchi MQTT broker porti. Integer shaklida.
  • Uchinchi MQTT Broker ulanishi STA rejimidan AP rejimiga o'tishdan oldin amalga oshiriladi. Integer shaklida.
  • 4 -chi WiFi tarmoq SSID. Matn erkin shaklda.
  • WiFi tarmog'ining 5 -paroli. Matn erkin shaklda.

Yuqorida aytib o'tilganidek, agar IoT qurilmasi WiFi tarmog'iga Wi -Fi stantsiyasi sifatida ulana olmasa, SSIF va P/W SPIFFS -da saqlangan secvals.txt -da aniqlangan bo'lsa, IoT qurilmasi kirish nuqtasiga aylanadi. Ushbu kirish nuqtasiga ulangandan so'ng, u 2 -rasmda ko'rsatilgandek "Sensor konfiguratsiyasining bosh sahifasi" ga o'tadi (brauzerlarning URL manzil satriga "SENSORSVR.local" yoki 192.168.4.1 ni kiritish orqali). Bu bosh sahifa HTTP brauzeri orqali sensorni qayta sozlash imkonini beradi.

ACTIVE holatida masofadan kirish

MQTT Broker-ga ulangandan so'ng, MQTT mavzusidagi nashrlar orqali qurilmani qayta sozlash va qayta sozlash mumkin. Calvals.txt fayli R/V ga kirish huquqiga ega va secvals.txt faqat yozish huquqiga ega.

Foydalanuvchi tuzatish

Yuklash ketma -ketligi davomida IoT qurilmasi boshqaruvi quyidagi xatolarni tuzatishga javob beradi

  • 1 Qisqa flesh: SPIFFS -da konfiguratsiya fayli yo'q (secvals.txt)
  • 2 Qisqa yonish: IoT qurilmasi WiFi tarmog'iga ulanishga urinmoqda
  • Doimiy yoritish: IoT qurilmasi MQTT Brokeriga ulanishga urinmoqda
  • O'chirilgan: qurilma faol
  • Eslatma 1: "Sensor konfiguratsiyasining bosh sahifasi" xavfsiz rozetkalarni ishlatmaydi va shuning uchun sizning tarmog'ingiz xavfsizligiga tayanadi.
  • Eslatma 2: Har bir IoT qurilmasini dasturlash uchun MQTT qatori yuklamasdan oldin tahrir qilishni talab qiladi. Buning sababi shundaki, sensor raqami MQTT mavzular qatoriga kiritilgan. ya'ni. Mening 6 ta qurilmam uchun 'WFD/THSen/100/HumdStatus/1' mos ravishda 1… 6 raqamlangan.

4 -qadam: Sensorni kalibrlash

Sensorni kalibrlash
Sensorni kalibrlash
Sensorni kalibrlash
Sensorni kalibrlash

IoT qurilmasi yoqilganda, yuklash ketma -ketligining bir qismi sifatida SPIFFS -dan "cavals.txt" nomli fayl o'qiladi. Bu faylning mazmuni, 1 -rasmda ko'rsatilganidek, kalibrlash konstantalari. Bu kalibrlash konstantalari ularni mos yozuvlar moslamasiga moslashtirish uchun sensordan olingan ko'rsatkichlarni sozlash uchun ishlatiladi. Qurilmaning hisobot berish strategiyasini belgilaydigan yana bir qiymat bor va u datchiklarni kalibrlash tartibiga amal qilinadi.

Hisobot strategiyasi: Bu parametr masofadagi sensor atrofdagi har qanday parametrli o'zgarishlar haqida qanday hisobot berishini aniqlaydi. Agar "0" qiymati tanlansa, masofadan boshqarish pulti har o'qish paytida harorat yoki namlik qiymatidagi o'zgarishlarni e'lon qiladi (taxminan har 10 soniyada). Boshqa har qanday qiymat o'zgarishlarni e'lon qilishni 1… 60 daqiqaga kechiktiradi. Ushbu parametrni o'zgartirish MQTT tarmoq trafigini optimallashtirish imkonini beradi.

Haroratni kalibrlash

Datchiklarni kalibrlash uchun ular bir -biriga juda yaqin joylashtirilgan. 2 -rasmda ko'rsatilganidek, ularning yonida men kalibrlangan termojuftli DMM joylashtirdim (Fluke 87 V) va keyin OpenHAB harorati orqali har bir qurilmadan chiqishni kuzatdim. Haroratning yaxshi o'zgarishiga erishish uchun bir kun davomida trend sahifasi. Men statik ofsetni ("nol" C "balandligi) va har bir qurilmaning kalibrlangan termojuftdan keladigan qiymatiga nisbatan o'zgarish tezligini (" M "grafigi qiyaligi yoki qiyaligi) qayd qildim. Keyin oddiy y = mx+c munosabatlarini hisobladim (to'g'ri chiziqli grafigacha yaqinlashish uchun etarlicha chiziqli ekanligini topdim) va MQTTSpy orqali kalibrlash konstantalariga kerakli tuzatishlarni dasturlashtirdim.

Kalibrlash muvaffaqiyatli o'tishi uchun qurilmalar yana 24 soat davomida kuzatildi. OpenHAB trend tendentsiyasi sahifasida harorat izlari bir -birining tepasida bo'lganini ko'rsatdi.

Albatta, agar siz faqat haroratga yaqin bo'lishni xohlasangiz, barcha kalibrlash qiymatlarini sukut bo'yicha qoldirishingiz mumkin.

Namlikni kalibrlash

Mahalliy namlikni aniq qayd etish yoki hatto nazorat qilish uchun hech qanday vositaga ega bo'lmaganim uchun, sensorlarni kalibrlash uchun men ham xuddi shunday yondashuvni qo'lladim, barcha qurilmalarni yaqin joylashtirdim (2 -rasm) va shunchaki ularning chiqishini OpenHAB orqali kuzatdim. Namlik sahifasi. Keyin men kalibrlash moslamasi sifatida 1 -sonli qurilmani tanladim va shunga mos ravishda barcha qurilmalarni sozladim.

5 -qadam: MQTT mavzusini nomlash konventsiyasi

MQTT mavzusini nomlash konventsiyasi
MQTT mavzusini nomlash konventsiyasi
MQTT mavzusini nomlash konventsiyasi
MQTT mavzusini nomlash konventsiyasi

Ko'p sinov va xatolardan so'ng, men yuqoridagi 1 -rasmda ko'rsatilgan nom berish konventsiyasiga qaror qildim.

Ya'ni, "AccessMethod/DeviceType/whichDevice/Action/SubDevice"

Bu mukammal emas, lekin bu sensorli parametrlarni berilgan parametrli qiymat uchun ko'rish uchun foydali filtrlarni qo'llash imkonini beradi, shuning uchun MQTTSpy bilan yuqoridagi 2 -rasmdagidek oson taqqoslash imkonini beradi. Shuningdek, u ma'lum bir IoT qurilmasidagi funktsional imkoniyatlarning mantiqiy kengaytirilgan guruhlarini qo'llab -quvvatlaydi.

Ushbu mavzularni dasturiy ta'minotda qo'llashda men RAMni tejash va ishlashni yuqori darajada ushlab turish uchun har bir qurilma uchun qattiq, kodlangan mavzu identifikatorlari bilan ish vaqtini dinamik ravishda ishlab chiqarishdan farqli o'laroq foydalanardim.

Eslatma: Agar siz MQTTSpy -dan qanday foydalanishni bilmasangiz, "MQTT brokerini sozlash" bo'limiga qarang. 2 -qism: IoT, uy avtomatizatsiyasi

6 -qadam: OpenHAB konfiguratsiyasi

OpenHAB konfiguratsiyasi
OpenHAB konfiguratsiyasi
OpenHAB konfiguratsiyasi
OpenHAB konfiguratsiyasi
OpenHAB konfiguratsiyasi
OpenHAB konfiguratsiyasi

Men oldingi Instructable -da (bu erda) berilgan OpenHAB konfiguratsiyasini o'zgartirdim va alohida yozuvlarga qo'shdim;

  • Garaj,
  • Hall,
  • Mehmonxona,
  • Oshxona
  • Mehmon yotoqxonasi
  • Usta yotoq xonasi

Sayt xaritasida yuqoridagi 1 -rasmga qarang.

Bu yozuvlarning har biri uchun men mahalliy muhit qiymatlarini ko'rsatadigan alohida sayt xaritalarini qo'shdim (yuqoridagi 2 -rasmga qarang);

  • Harorat
  • Namlik
  • Issiqlik indeksi

Men, shuningdek, sensor ichida o'rnatilgan mahalliy LEDni boshqarish uchun kalitni o'z ichiga olganman.

3… 5 -rasmlarda harorat, namlik va RSSI (qabul qilingan signal kuchi indikatori, asosan, sensor WiFi tarmog'ini qanchalik yaxshi ko'rishi mumkinligi) uchun 24 soat davomida individual jonli izlar ko'rsatilgan.

6 -rasmda bir hafta davomida namlikning uzoq muddatli tendentsiyasiga misol keltirilgan.

Eslatma 1: Agar siz OpenHAB -dan qanday foydalanishni bilmasangiz, "OpenHAB -ni sozlash va sozlash" bo'limiga qarang. 6 -qism: IoT, uy avtomatizatsiyasi

Eslatma 2: O'zgartirilgan sayt xaritasi, qoidalar va elementlar fayllari, ikonkalar va boshqalar nusxasi quyida keltirilgan.

7 -qadam: Dizaynni sinovdan o'tkazish

Dizaynni sinovdan o'tkazish
Dizaynni sinovdan o'tkazish
Dizaynni sinovdan o'tkazish
Dizaynni sinovdan o'tkazish

Ko'pincha IQ qurilmasini MQTT Spy bilan MQTT aloqasi orqali sinab ko'rdim, ketma -ket interfeysdagi chiqish va disk raskadrovka trafigini kuzatdim. Bu menga obuna bo'lgan barcha mavzularni ishlatishga va e'lon qilingan javoblarni tekshirishga imkon berdi. Garchi bunga qo'lda erishilgan bo'lsa -da, ba'zida zerikarli bo'lib qolsa -da, u 100% qamrovni ta'minladi.

Biroq, asosiy shtat mashinasini sinab ko'rish juda qiyin bo'lib chiqdi, chunki u Wi -Fi tarmog'ining mavjudligi yoki yo'qligiga asoslanib, unga kirish uchun maxsus parametrlar to'plami kerak bo'ladi. Buning uchun uy tarmog'idan foydalanish amaliy emas edi.

Bu muammoni hal qilish uchun men "DummyNet1" va "DummyNet2" SSID-lariga ega bo'lgan kirish nuqtalari (1-rasm) sifatida sozlangan ESP8266-01 yordamida o'z qo'g'irchoq tarmoqlarini yaratdim. Led ustidagi 2 -rasmdagi sxemadan foydalanib, unga IoT qurilmasi ulanganligini ko'rsatdi. Bu mukammal sinov echimi bo'lmasa -da (ya'ni, bu qo'pol WiFi tarmoqlarining har birida MQTT serveri bo'lmagan), shtat mashinasini to'liq sinab ko'rish mumkin edi.

Men quyida manba kodining nusxasini qo'shdim.

8 -qadam: Xulosa

Umumiy

IoT qurilmalaridagi dasturiy ta'minot ko'p oylar mobaynida ishonchli ishladi, uy xo'jaligidagi elektr uzilishlaridan keyin (asosan o'zim sabab bo'lgan). Umuman olganda, ular juda ishonchli qurilmalar bo'lib, ular izchil va aniq ma'lumotlarni beradi.

Yaxshilashlar

SPIFFS -ga o'qish va yozish uchun dasturiy ta'minot dasturlarini ishlab chiqishda men bo'sh joy ko'rsatgichlari, qayta tiklash va ko'rsatgichlarga ko'rsatgichlardan foydalanib, men tasavvur qilganimdan ko'ra ancha ilg'or bo'lishi mumkin bo'lgan kodni yozdim. Bu juda moslashuvchan va ishni yaxshi bajargan bo'lsa -da, keyingi safar men uni biroz soddalashtirish uchun ConfigFile.ino liniyasi bo'yicha JSON -dan foydalanishim mumkin.

  • Arduino GIT HUB yadrosi

    https://github.com/esp8266/Arduino

  • ConfigFile.ino manbasi

    https://github.com/esp8266/Arduino/tree/master/libraries/esp8266/examples/ConfigFile

Istaklar ro'yxati

Men Brokerga ulanish uchun mDNS mijozidan foydalanmoqchi edim, lekin kutubxona juda yumshoq edi. Shuning uchun MQTT Broker IP -manzilini "MQTTSVR.local" dan farqli ravishda ko'rsatish kerak. Agar kelajakda mDNS kutubxonasi barqarorlashsa, men bu imkoniyatni qurilmaga qo'shaman.

Sensorlarni kalibrlash uchun atrof -muhit namligini aniq kuzatish va nazorat qilish vositalariga ega bo'lish yaxshi bo'lardi. Biroq, aytilganidek, tanlangan kalibrlash usuli yaxshi nisbiy ko'rsatkichlarni beradi va DHT22 ma'lumot varag'i spetsifikatsiyasiga muvofiq juda to'g'ri ko'rinadi.

Nihoyat, dasturiy ta'minotning murakkabligini hisobga oladigan bo'lsam, katta o'zgarish vaqt talab qilgandan keyin kodni to'liq sinab ko'rdim. Keyinchalik avtomatlashtirilgan testni ko'rib chiqishim mumkin.

9 -qadam: Ishlatilgan adabiyotlar

Men ushbu ko'rsatmalarni birlashtirish uchun quyidagi manbalardan foydalandim;

PubSubClient.h

  • Muallif: Nik O'Leary
  • Manba:

DHT.h

  • Muallif: Adafruit
  • Manba:

DHT22 ma'lumotlar jadvali

Tavsiya: