Turinys:

„WiFi IoT“temperatūros ir drėgmės jutiklis. Dalis: 8 daiktų internetas, namų automatizavimas: 9 žingsniai
„WiFi IoT“temperatūros ir drėgmės jutiklis. Dalis: 8 daiktų internetas, namų automatizavimas: 9 žingsniai

Video: „WiFi IoT“temperatūros ir drėgmės jutiklis. Dalis: 8 daiktų internetas, namų automatizavimas: 9 žingsniai

Video: „WiFi IoT“temperatūros ir drėgmės jutiklis. Dalis: 8 daiktų internetas, namų automatizavimas: 9 žingsniai
Video: Lesson 1: What is Arduino? Types of Arduino Boards and SunFounder Kit | SunFounder Robojax 2024, Lapkritis
Anonim
„WiFi IoT“temperatūros ir drėgmės jutiklis. Dalis: 8 daiktų internetas, namų automatika
„WiFi IoT“temperatūros ir drėgmės jutiklis. Dalis: 8 daiktų internetas, namų automatika

Preambulė

Šiame straipsnyje aprašomas praktinis ankstesnio „Instructable“tvirtinimas ir tolesnis tobulinimas: „Pimping“jūsų pirmasis „IoT WiFi“įrenginys. 4 dalis. Daiktų internetas, namų automatizavimas, įskaitant visas būtinas programinės įrangos funkcijas, leidžiančias sėkmingai diegti namų aplinkoje.

Įvadas

Kaip minėta aukščiau, šioje instrukcijoje aprašomas ankstesnio daiktų interneto pavyzdžio sujungimas su patikima sistemos konstrukcija, leidžiančia sėkmingai spręsti praktinio naudojimo atvejus, tokius kaip; Katastrofiški energijos nuostoliai, „MQTT Broker“gedimas, „WiFi N/W“gedimas, nuotolinio jutiklio perkonfigūravimas, konfigūruojama ataskaitų teikimo strategija, skirta tinklo srautui mažinti ir specialus jutiklio kalibravimas.

Iš viso buvo sukurti 6 išjungti įrenginiai (žr. 1 paveikslėlį aukščiau) ir paskirstyti po mano namus, kad būtų sukurtas mano pirmasis IoT jutiklių tinklas.

„Instructable“taip pat mato MQTT pavadinimo susitarimo, naudojamo pradinėje „IoT Home Automation“serijoje, apžvalgą, suteikiant galimybę labiau subalansuotai, praktiškai struktūrai, leidžiančiai paprasčiau derinti IoT srautą kelių IoT įrenginių aplinkoje.

Toliau pateikiama išsami informacija apie daiktų interneto jutiklį, įskaitant; konstrukcija, šaltinio kodas, testavimo strategija ir „OpenHAB“konfigūracijos.

Kokių dalių man reikia?

  1. 1 nuolaida ESP8266-01,
  2. 2 išjungti 1uF elektrolitinius kondensatorius,
  3. 3 išjungti 10K rezistorius,
  4. 1 išjungtas 330R rezistorius,
  5. 1 nuo 3 mm skersmens. LED,
  6. 1 nuolaida LD1117-33v, 3v3 LDO VReg. (Farnell čia),
  7. 1 išjungtas DHT22 temperatūros/drėgmės jutiklis,
  8. 1 išjungta dviguba 4 krypčių 0,1 colio jungtis,
  9. 1 nuolaida CAMDENBOSS RX2008/S-5 plastikinis gaubtas, dėžutė, ABS, 38 mm, 23 mm (Farnell čia),
  10. 1 išjungta nuolatinės srovės maitinimo jungtis, kištukas, 1 A, 2 mm, skydo laikiklis (Farnell čia),
  11. 1 išjungimas TO-220 radiatorius 24,4 ° C/W (Farnell čia),
  12. Įvairūs termiškai susitraukiantys vamzdeliai (geltoni, čia „Ebay“),
  13. Įvairaus ilgio IDC juostinis kabelis,
  14. Radiatorių junginys,
  15. „Veroboard“,
  16. ESP8266-01 programavimo įrenginys. Pažiūrėk čia; Praktiška grandinės konstrukcija su juostine plokšte, nuo 9 žingsnio.

Kokios programinės įrangos man reikia?

  1. „Arduino IDE“1.6.9
  2. „Arduino IDE“sukonfigūruotas programuoti ESP8266-01. Pažiūrėk čia; „Arduino IDE“nustatymas programuoti ESP8266-01

Kokių įrankių man reikia?

  1. Lituoklis,
  2. Gręžtuvas ir įvairūs antgaliai,
  3. Failai,
  4. Pjūklas,
  5. Tvirta yda,
  6. Šilumos pistoletas,
  7. DMM.

Kokių įgūdžių man reikia?

  1. Minimalus elektronikos išmanymas,
  2. Žinios apie Arduino ir jo IDE,
  3. Pradiniai gamybos įgūdžiai (litavimas, pjovimas, pjovimas, dildymas, gręžimas ir kt.),
  4. Šiek tiek kantrybės,
  5. Tam tikras jūsų namų tinklo supratimas.

Aptartos temos

  1. Grandinės apžvalga
  2. Programinės įrangos sistemos apžvalga
  3. Programinės įrangos apžvalga
  4. Jutiklio kalibravimas
  5. MQTT temų pavadinimo konvencija
  6. „OpenHAB“konfigūracija
  7. Dizaino bandymas
  8. Išvada
  9. Naudotos nuorodos

Serijų nuorodos

Į 7 dalį: Studijų žibintų valdiklis (pertvarkytas). 7 dalis. Daiktų internetas, namų automatika

Į 9 dalį: „IoT“tinklo valdiklis. 9 dalis. Daiktų internetas, namų automatika

1 žingsnis: grandinės apžvalga

Grandinės apžvalga
Grandinės apžvalga
Grandinės apžvalga
Grandinės apžvalga
Grandinės apžvalga
Grandinės apžvalga
Grandinės apžvalga
Grandinės apžvalga

1 paveikslėlyje parodyta visa IoT jutiklio grandinės konstrukcija.

„IoT“įrenginio esmė yra ESP8266-01, kuris yra prijungtas prie DHT22 temperatūros/drėgmės jutiklio per 10K ištraukimo varžą prie GPIO2. Išorinis 5 V šaltinis tiekiamas iš perjungto režimo maitinimo šaltinio ir tiekiamas į įrenginį per 2 mm nuolatinės srovės skydo lizdą ir reguliuojamas vietoje naudojant LD1117-33v, 3v3 LDO įtampos reguliatorių, pritvirtintą prie išorinio radiatoriaus su BZP M3 keptuvės galvutės varžtu ir veržle.

Konstrukcijoje yra 3 mm raudonas šviesos diodas, prijungtas prie GPIO0, kuris naudojamas vietiniam IoT įrenginio būsenos nurodymui paleidimo metu arba bet kokiai vėlesnei klaidos būklei. Jis taip pat gali būti naudojamas įrenginiui identifikuoti rankiniu būdu aktyvuojant per „openHAB“sąsają.

Visa konstrukcija puikiai dera prie ABS puodų dėžutės, kaip parodyta aukščiau 2 paveiksle, ir buvo specialiai sukurta siekiant užtikrinti, kad jutiklis būtų kuo toliau nuo reguliatoriaus, kad būtų išvengta šališkumo dėl vietinio šildymo poveikio (7 paveikslas aukščiau).

Grandinės plokštė yra viena plokštės dalis, supjaustyta pagal formą ir pritaikyta prie korpuso (3 paveikslas aukščiau). Ši plokštė yra pritvirtinta M3 nailoniniu varžtu ir dviem veržlėmis, kurios priglunda prie apatinės jutiklio pusės ir taip leidžia sėdėti ant lygaus paviršiaus.

4… 6 paveikslėlyje pavaizduotos įvairios statybos būsenos.

2 žingsnis: Programinės įrangos sistemos apžvalga

Programinės įrangos sistemos apžvalga
Programinės įrangos sistemos apžvalga
Programinės įrangos sistemos apžvalga
Programinės įrangos sistemos apžvalga

Šiame IoT temperatūros ir drėgmės jutimo įrenginyje yra šeši pagrindiniai programinės įrangos komponentai, kaip parodyta 1 paveikslėlyje aukščiau.

SPIFFS

Tai yra borto SPI „Flash Filing“sistema ir naudojama šiai informacijai saugoti (žr. 2 pav. Aukščiau);

  • Piktogramos ir „Jutiklio konfigūracijos pagrindinis puslapis“html: aptarnaujamas „IoT“įrenginio, kai jis negali prisijungti prie jūsų „IoT WiFi“tinklo (dažniausiai dėl neteisingos saugos informacijos) ir suteikia vartotojui galimybę nuotoliniu būdu konfigūruoti jutiklį be reikalo perprogramuoti arba įkelti naują SPIFFS turinį.
  • Saugos informacija: joje saugoma informacija, kurią įjungus „IoT“įrenginys prisijungia prie jūsų „IoT WiFi“tinklo ir „MQTT Broker“. Informacija, pateikta per „Jutiklio konfigūracijos pagrindinį puslapį“, įrašoma į šį failą („secvals.txt“).
  • Informacija apie kalibravimą: šiame faile esanti informacija („calvals.txt“) naudojama, jei reikia, kalibruoti borto temperatūros/drėgmės jutiklį. Kalibravimo konstantas galima įrašyti į IoT įrenginį tik naudojant MQTT komandas iš MQTT brokerio.

Pastaba: Norėdami iš pradžių nustatyti įrenginį, čia rasite išsamios informacijos apie tai, kaip naudoti SPIFFS su „Arduino IDE“.

mDNS serveris

Ši funkcija naudojama, kai „IoT“įrenginiui nepavyksta prisijungti prie „WiFi“tinklo kaip „WiFi“stoties, o jis tapo „WiFi“prieigos tašku, panašiu į vietinį „WiFi“maršrutizatorių. Tokio maršrutizatoriaus atveju paprastai prie jo prisijungtumėte įvesdami panašaus 192.168.1.1 IP adresą (paprastai atspausdintą ant etiketės, pritvirtintos prie dėžutės) tiesiai į naršyklės URL juostą, į kurią gausite prisijungimo puslapį vartotojo vardą ir slaptažodį, kad galėtumėte konfigūruoti įrenginį.

Jei ESP8266 veikia AP režimu (prieigos taško režimu), numatytasis įrenginio IP adresas yra 192.168.4.1, tačiau, kai veikia mDNS serveris, naršyklės URL juostoje turite įvesti tik žmonėms draugišką pavadinimą „SENSORSVR.local“, kad pamatytumėte „Pagrindinis jutiklio konfigūracijos puslapis“.

MQTT klientas

MQTT klientas suteikia visas reikalingas funkcijas; prisijunkite prie savo IoT tinklo MQTT brokerio, užsiprenumeruokite pasirinktas temas ir paskelbkite naudingus krovinius tam tikrai temai. Trumpai tariant, jame numatytos pagrindinės daiktų interneto funkcijos.

HTTP žiniatinklio serveris

Kaip minėta aukščiau, jei „IoT“įrenginys negali prisijungti prie „WiFi“tinklo, kurio SSID, P/W ir tt yra apibrėžti saugos informacijos faile, esančiame SPIFFS, įrenginys taps prieigos tašku. Prisijungus prie „WiFi“tinklo, kurį teikia prieigos taškas, HTTP žiniatinklio serveris leidžia tiesiogiai prisijungti prie įrenginio ir pakeisti jo konfigūraciją naudojant HTTP žiniatinklio naršyklę, kurios tikslas yra aptarnauti „Sensor Configuration Home“Puslapio tinklalapis, kuris taip pat saugomas SPIFFS.

WiFi stotis

Ši funkcija suteikia „IoT“įrenginiui galimybę prisijungti prie vietinio „WiFi“tinklo naudojant saugos informacijos failo parametrus, be to jūsų „IoT“įrenginys negalės užsiprenumeruoti/paskelbti „MQTT Broker“

„WiFi“prieigos taškas

Galimybė tapti „WiFi“prieigos tašku yra priemonė, kuria „IoT“įrenginys leidžia prisijungti prie jo ir keisti konfigūraciją per „WiFi“stotį ir naršyklę (pvz., „Safari“„Apple iPad“).

Šis prieigos taškas transliuoja SSID = "SENSOR" + paskutinius 6 IoT įrenginio MAC adreso skaitmenis. Šio uždaro tinklo slaptažodis išgalvotai pavadintas „PASSWORD“

3 žingsnis: programinės įrangos apžvalga

Programinės įrangos apžvalga
Programinės įrangos apžvalga
Programinės įrangos apžvalga
Programinės įrangos apžvalga

Norėdami sėkmingai sukompiliuoti šį šaltinio kodą, jums reikės šių papildomų bibliotekų;

PubSubClient.h

  • Autorius: Nickas O'Leary
  • Tikslas: leidžia įrenginiui skelbti arba užsisakyti MQTT temas su tam tikru tarpininku
  • Iš:

DHT.h

  • Autorius: Adafruit
  • Paskirtis: DHT temperatūros/drėgmės jutiklio biblioteka
  • Iš:

Kodo apžvalga

Programinė įranga naudoja būsenos mašiną, kaip parodyta 1 paveiksle aukščiau (visa šaltinio kopija pateikta žemiau). Yra 5 pagrindinės būsenos, kaip nurodyta toliau;

  • INIT

    Ši inicijavimo būsena yra pirmoji būsena, įvesta po maitinimo įjungimo

  • NOCONFIG

    Ši būsena įvedama, jei įjungus aptinkamas netinkamas arba trūkstamas failas secvals.txt

  • LAUKIA NW

    Ši būsena yra laikina, įvesta, kol nėra „WiFi“tinklo ryšio

  • LAUKIA MQTT

    Ši būsena yra laikina, įvesta užmezgus „WiFi“tinklo ryšį ir kol nėra ryšio su „MQTT“tarpininku tame tinkle

  • AKTYVUS

    Tai yra įprasta veikimo būsena, įvesta sukūrus ir „WiFi“tinklo ryšį, ir „MQTT Broker“ryšį. Būtent šios būsenos metu jutiklio temperatūra ir drėgmė yra paskelbta „MQTT Broker“

Įvykiai, kontroliuojantys perėjimus tarp būsenų, aprašyti aukščiau esančiame 1 paveiksle. Perėjimus tarp būsenų taip pat reglamentuoja šie „SecVals“parametrai;

  • 1 -asis MQTT brokerio IP adresas. Taškinėje dešimtainėje formoje AAA. BBB. CCC. DDD
  • 2 -asis MQTT tarpininkų uostas. Sveiko skaičiaus forma.
  • Trečiasis „MQTT Broker“ryšys bando prisijungti prieš pereinant iš STA režimo į AP režimą. Sveiko skaičiaus forma.
  • 4 -asis „WiFi“tinklo SSID. Laisvos formos tekstu.
  • 5 -asis „WiFi“tinklo slaptažodis. Laisvos formos tekstu.

Kaip minėta aukščiau, jei „IoT“įrenginys negali prisijungti kaip „WiFi“stotis prie „WiFi“tinklo, kurio SSID ir P/W yra apibrėžti „secvals.txt“, saugomame SPIFFS, „IoT“įrenginys taps prieigos tašku. Prijungus prie šio prieigos taško, jis pateiks „Jutiklio konfigūracijos pagrindinį puslapį“, kaip parodyta 2 paveiksle (įvesdami „SENSORSVR.local“arba 192.168.4.1 į naršyklės URL adreso juostą). Šis pagrindinis puslapis leidžia perkonfigūruoti jutiklį per HTTP naršyklę.

Nuotolinė prieiga būdama AKTYVUS

Prisijungus prie „MQTT Broker“, įrenginį taip pat galima iš naujo kalibruoti ir perkonfigūruoti per MQTT teminius leidinius. Failas calvals.txt turi R/W prieigą, o secvals.txt - tik rašymo prieiga.

Naudotojo derinimas

Įkrovos sekos metu „IoT“įrenginio indikatorius pateikia tokį derinimo atsiliepimą

  • 1 Trumpa blykstė: nėra konfigūracijos failo, esančio SPIFFS (secvals.txt)
  • 2 Trumpi mirksėjimai: „IoT“įrenginys bando prisijungti prie „WiFi“tinklo
  • Nuolatinis apšvietimas: „IoT“įrenginys bando prisijungti prie „MQTT Broker“
  • Išjungta: įrenginys aktyvus
  • 1 pastaba: „Jutiklio konfigūracijos pagrindiniame puslapyje“nenaudojami saugūs lizdai, todėl jūsų tinklas yra saugus.
  • 2 pastaba: Norint užprogramuoti kiekvieną daiktų interneto įrenginį, prieš atsisiunčiant reikės redaguoti MQTT eilutę. Taip yra todėl, kad jutiklio numeris buvo įterptas į MQTT temos eilutę. t.y. „WFD/THSen/100/HumdStatus/1“6 mano įrenginiuose jie atitinkamai sunumeruoti 1… 6.

4 žingsnis: jutiklio kalibravimas

Jutiklio kalibravimas
Jutiklio kalibravimas
Jutiklio kalibravimas
Jutiklio kalibravimas

Kai „IoT“įrenginys įjungiamas, kaip įkrovos sekos dalis iš SPIFFS nuskaitomas failas „cavals.txt“. Šio failo turinys yra kalibravimo konstantos, kaip parodyta aukščiau 1 paveiksle. Šios kalibravimo konstantos naudojamos iš jutiklio gautiems rodmenims koreguoti, kad jie atitiktų atskaitos prietaisą. Yra dar viena vertė, kuri apibrėžia prietaiso ataskaitų teikimo strategiją ir yra aprašyta toliau kartu su jutiklių kalibravimo procedūra.

Ataskaitų teikimo strategija Šis parametras nustato, kaip nuotolinis jutiklis praneša apie vietinius aplinkos parametrų pokyčius. Jei pasirenkama vertė 0, nuotolinis jutiklis paskelbs visus matomus temperatūros ar drėgmės pokyčius kiekvieną kartą, kai nuskaitomas jutiklis (maždaug kas 10 sekundžių). Bet kokia kita vertė atidės pakeitimo paskelbimą 1… 60 minučių. Pakeitus šį parametrą, galima optimizuoti MQTT tinklo srautą.

Temperatūros kalibravimas

Norėdami sukalibruoti jutiklius, jie buvo fiziškai arti vienas kito, kaip parodyta 2 paveiksle. Išilgai jų aš įdėjau DMM su prijungta kalibruota termoelementu („Fluke 87 V“) ir stebėjau kiekvieno įrenginio išėjimus per „OpenHAB“temperatūrą tendencijų puslapyje per dieną, kad būtų pasiektas geras temperatūros svyravimas. Atkreipiau dėmesį į statinį poslinkį (padidėjęs nulis „C“) ir kiekvieno įrenginio pasikeitimo greitį („M“grafiko padidėjimas arba nuolydis), palyginti su vertės, gaunamos iš kalibruotos termoporos. Tada aš apskaičiavau paprastą y = mx+c ryšį (radau, kad jis buvo pakankamai tiesinis, kad būtų artimas tiesės grafikui) ir užprogramavau visas būtinas kalibravimo konstantų korekcijas per MQTTSpy.

Tada prietaisai buvo stebimi dar 24 valandas, kad būtų užtikrintas sėkmingas kalibravimas. Temperatūros pėdsakai „OpenHAB“temperatūros tendencijų puslapyje buvo beveik vienas ant kito.

Žinoma, jei jus domina tik apytikslė temperatūra, visas kalibravimo vertes galite palikti kaip numatytąsias.

Drėgmės kalibravimas

Kadangi neturiu jokių priemonių tiksliai įrašyti ar net kontroliuoti vietinės aplinkos drėgmės, kalibruoti jutiklių, naudojau panašų metodą, kaip aprašyta aukščiau, visus prietaisus pastatydamas arti fizinio artumo (2 pav.) Ir tiesiog stebėdamas jų išvestį per „OpenHAB“Drėgmės tendencijos puslapis. Tada aš pasirinkau įrenginį Nr. 1 kaip kalibravimo atskaitos tašką ir sukalibravau visus įrenginius.

5 žingsnis: MQTT temų pavadinimo konvencija

MQTT temų pavadinimo konvencija
MQTT temų pavadinimo konvencija
MQTT temų pavadinimo konvencija
MQTT temų pavadinimo konvencija

Po daugybės bandymų ir klaidų nusprendžiau temos pavadinimo susitarimą, aprašytą 1 paveiksle.

Būtent „AccessMethod/DeviceType/WhichDevice/Action/SubDevice“

Tai nėra tobula, tačiau leidžia naudoti naudingus filtrus, kad būtų matomi visi tam tikros parametrų vertės jutiklių išėjimai, todėl galima lengvai palyginti, kaip parodyta 2 paveiksle, su MQTTSpy. Jis taip pat palaiko pakankamai išplėstines logines funkcijų grupes tam tikrame daiktų interneto įrenginyje.

Įdiegdamas šias temas programinėje įrangoje, aš naudoju griežtai koduotas temų eilutes su fiksuotais, įterptais skaitiniais identifikatoriais kiekvienam įrenginiui, o ne dinamiškai kurdamas temas vykdymo metu, kad sutaupyčiau RAM ir išlaikyčiau aukštą našumą.

Pastaba: Jei nesate tikri, kaip naudoti „MQTTSpy“, skaitykite čia „MQTT brokerio nustatymas“. 2 dalis. Daiktų internetas, namų automatika “

6 veiksmas: „OpenHAB“konfigūracija

„OpenHAB“konfigūracija
„OpenHAB“konfigūracija
„OpenHAB“konfigūracija
„OpenHAB“konfigūracija
„OpenHAB“konfigūracija
„OpenHAB“konfigūracija

Pakeičiau „OpenHAB“konfigūraciją, pateiktą ankstesniame „Instructable“(čia) ir įtraukiau į atskirus įrašus;

  • Garažas,
  • Salė,
  • Svetainė,
  • Virtuvė
  • Svečių miegamasis
  • Miegamasis

Svetainės žemėlapyje žr. 1 paveikslėlį aukščiau.

Prie kiekvieno iš šių įrašų pridėjau atskirų svetainių schemų, atskleidžiančių vietines aplinkos vertes (žr. 2 pav. Aukščiau);

  • Temperatūra
  • Drėgmė
  • Šilumos indeksas

Aš taip pat įtraukiau jungiklį, skirtą valdyti jutiklyje sumontuotą vietinį LED.

3… 5 paveikslėliuose rodomi atskiri tiesioginiai 24 valandų temperatūros, drėgmės ir RSSI (gauto signalo stiprumo indikatoriai, iš esmės matuoja, kaip gerai jutiklis mato „WiFi“tinklą) pėdsakai.

6 paveiksle pateikiamas ilgalaikės drėgmės tendencijos per savaitę pavyzdys.

1 pastaba: Jei nesate tikri, kaip naudoti „OpenHAB“, skaitykite čia „OpenHAB nustatymas ir konfigūravimas“. 6 dalis. Daiktų internetas, namų automatika “

2 pastaba: Žemiau pateikiama pakeistos svetainės schemos, taisyklių ir elementų failų, piktogramų ir kt. Kopija.

7 žingsnis: dizaino išbandymas

Dizaino bandymas
Dizaino bandymas
Dizaino bandymas
Dizaino bandymas

Dažniausiai išbandžiau daiktų interneto įrenginį per MQTT ryšį su „MQTT Spy“, stebėdamas išvesties išvestį ir derinimo srautą serijinėje sąsajoje. Tai leido man pasinaudoti visomis turimomis prenumeruojamomis temomis ir patikrinti paskelbtus atsakymus. Nors tai buvo pasiekta rankiniu būdu ir kartais tapo šiek tiek nuobodu, tai leido 100% aprėptį.

Tačiau pagrindinė būsenos mašina pasirodė šiek tiek sudėtinga išbandyti, nes ji priklausė nuo to, ar yra ar nėra „WiFi“tinklo, prie kurio prisijungti reikia konkrečių parametrų rinkinių. Tam nebuvo praktiška naudoti namų tinklą.

Norėdami išspręsti šią problemą, sukūriau savo fiktyvių tinklų rinkinį, naudodamas ESP8266-01, sukonfigūruotą kaip prieigos taškus (1 pav.) Su SSD atitinkamai „DummyNet1“ir „DummyNet2“. Naudojant 2 paveiksle esančią grandinę virš indikatoriaus, buvo parodytas, ar prie jo buvo prijungtas daiktų interneto įrenginys. Nors tai nebuvo tobulas testavimo sprendimas (ty kiekviename iš šių netikrų „WiFi“tinklų nebuvo MQTT serverio), buvo galima visiškai patikrinti būsenos aparatą.

Žemiau pridėjau šaltinio kodo kopiją.

8 žingsnis: Išvada

Generolas

„IoT“įrenginių programinė įranga patikimai veikė daugelį mėnesių, atsigaudama po elektros energijos tiekimo sutrikimų (daugiausia dėl manęs). Apskritai jie yra gana patikimi prietaisai, teikiantys nuoseklius ir tikslius duomenis.

Patobulinimai

Kurdamas programinę įrangą, skirtą skaityti ir rašyti SPIFFS, aš parašiau kodą, kuris iš pažiūros gali būti šiek tiek pažangesnis, nei planavau, naudodamas tuščias rodykles, nauja redakciją ir nuorodas į rodykles. Nors jis yra labai lankstus ir gerai atlieka savo darbą, kitą kartą galiu naudoti „JSON“kažką panašaus į „ConfigFile.ino“, kad būtų šiek tiek paprasčiau.

  • „Arduino GIT HUB Core“

    https://github.com/esp8266/Arduino

  • ConfigFile.ino Šaltinis

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

Norų sąrašas

Aš norėjau prisijungti prie brokerio naudodami mDNS klientą, tačiau biblioteka buvo per daug neryški. Štai kodėl būtina nurodyti „MQTT Broker“IP adresą, o ne „MQTTSVR.local“. Jei mDNS biblioteka ateityje taps stabilesnė, pridėsiu šią galimybę prie įrenginio.

Būtų malonu turėti priemones, skirtas tiksliai stebėti ir kontroliuoti aplinkos drėgmę, kad būtų galima kalibruoti jutiklius. Tačiau tai reiškia, kad pasirinktas kalibravimo metodas duoda gerus santykinius rodmenis ir atrodo pakankamai tikslus pagal DHT22 duomenų lapo specifikaciją.

Galiausiai, atsižvelgiant į programinės įrangos sudėtingumą, radau visišką kodo testavimą po esminių pakeitimų. Galėsiu apsvarstyti automatinį testavimą vėliau.

9 žingsnis: naudojamos nuorodos

Aš naudoju šiuos šaltinius, kad sujungčiau šią instrukciją;

PubSubClient.h

  • Autorius: Nickas O'Leary
  • Iš:

DHT.h

  • Autorius: Adafruit
  • Iš:

DHT22 duomenų lapas

Rekomenduojamas: