Sisällysluettelo:

WiFi IoT lämpötila- ja kosteusanturi. Osa: 8 IoT, koti -automaatio: 9 vaihetta
WiFi IoT lämpötila- ja kosteusanturi. Osa: 8 IoT, koti -automaatio: 9 vaihetta

Video: WiFi IoT lämpötila- ja kosteusanturi. Osa: 8 IoT, koti -automaatio: 9 vaihetta

Video: WiFi IoT lämpötila- ja kosteusanturi. Osa: 8 IoT, koti -automaatio: 9 vaihetta
Video: Lesson 1: What is Arduino? Types of Arduino Boards and SunFounder Kit | SunFounder Robojax 2024, Joulukuu
Anonim
WiFi IoT lämpötila- ja kosteusanturi. Osa: 8 IoT, kotiautomaatio
WiFi IoT lämpötila- ja kosteusanturi. Osa: 8 IoT, kotiautomaatio

Johdanto

Tämä artikkeli dokumentoi aikaisemman Instructable -ohjelman käytännön kestävyyden ja kehityksen: "Pimping" ensimmäisen IoT -WiFi -laitteen. Osa 4: IoT, kotiautomaatio, joka sisältää kaikki tarvittavat ohjelmistotoiminnot onnistuneen käyttöönoton mahdollistamiseksi kotiympäristössä.

Johdanto

Kuten edellä mainittiin, tässä ohjeessa kuvataan aikaisemman esineiden internetin esimerkin yhdistäminen luotettavaan järjestelmäsuunnitteluun, joka mahdollistaa käytännön käyttötapausten onnistuneen käsittelyn, kuten; Katastrofaalinen sähkökatko, MQTT Broker -vika, WiFi N/W -häiriö, anturin etäkonfigurointi, konfiguroitava raportointistrategia verkkoliikenteen vähentämiseksi ja anturin kalibrointi.

Yhteensä 6 laitteita luotiin (katso kuva 1 yllä) ja jaettiin kotini ympärille muodostaen ensimmäisen IoT -anturiverkostoni.

Instructable näkee myös katsauksen MQTT -nimeämiskäytännöstä, jota käytettiin alkuperäisessä IoT -kotiautomaatiosarjassa ja joka tarjoaa tasapainoisemman ja käytännöllisemmän rakenteen, joka mahdollistaa IoT -liikenteen yksinkertaisemman virheenkorjauksen monen IoT -laiteympäristössä.

Seuraavassa on IoT -anturin täydelliset suunnittelutiedot, mukaan lukien; rakenne, lähdekoodi, testausstrategia ja OpenHAB -kokoonpanot.

Mitä osia tarvitsen?

  1. 1 pois päältä ESP8266-01,
  2. 2 pois 1uF elektrolyyttikondensaattorit,
  3. 3 off 10K vastukset,
  4. 1 off 330R vastus,
  5. 1 halkaisija 3 mm. LED,
  6. 1 pois päältä LD1117-33v, 3v3 LDO VReg. (Farnell täällä),
  7. 1 pois DHT22 lämpötila-/kosteusanturi,
  8. 1 pois Dual 4way 0,1 "-liitin,
  9. 1 off CAMDENBOSS RX2008/S-5 muovikotelo, ruukku, ABS, 38 mm, 23 mm (Farnell tässä),
  10. 1 pois päältä DC -virtaliitin, pistoke, 1 A, 2 mm, paneeliasennus (Farnell tässä),
  11. 1 pois päältä TO-220 jäähdytyselementti 24,4 ° C/W (Farnell täällä),
  12. Erilaisia kutisteputkia (keltainen, Ebay täällä),
  13. Eri pituiset IDC -nauhakaapelit,
  14. Jäähdytyselementti,
  15. Veroboard,
  16. Ohjelmointilaite ESP8266-01. Katso tästä; Käytännöllinen piirin rakentaminen nauhalevyllä, vaihe 9 eteenpäin.

Mitä ohjelmistoja tarvitsen?

  1. Arduino IDE 1.6.9
  2. Arduino IDE on määritetty ohjelmoimaan ESP8266-01. Katso tästä; Arduino IDE: n määrittäminen ohjelmoimaan ESP8266-01

Mitä työkaluja tarvitsen?

  1. Juotin,
  2. Pora ja erilaiset terät,
  3. Tiedostot,
  4. Rautasaha,
  5. Vahva pahe,
  6. Kuuma pyssy,
  7. DMM.

Mitä taitoja tarvitsen?

  1. Minimaalinen käsitys elektroniikasta,
  2. Tieto Arduinosta ja sen IDE: stä
  3. Alkeelliset valmistustaidot (juotos, hakkerointi, viilaus, poraus jne.),
  4. Jonkin verran kärsivällisyyttä,
  5. Hieman ymmärrystä kotiverkostasi.

Käsitellyt aiheet

  1. Piirien yleiskatsaus
  2. Ohjelmistojärjestelmän yleiskatsaus
  3. Ohjelmiston yleiskatsaus
  4. Anturin kalibrointi
  5. MQTT -aiheen nimeämiskokous
  6. OpenHAB -määritykset
  7. Suunnittelun testaaminen
  8. Johtopäätös
  9. Käytetyt viitteet

Sarjan linkit

Osaan 7: Tutkimusvalojen ohjain (muokattu). Osa 7: IoT, kodin automaatio

Osa 9: IoT -verkkovirta -ohjain. Osa 9: IoT, kodin automaatio

Vaihe 1: Piirin yleiskatsaus

Piirin yleiskatsaus
Piirin yleiskatsaus
Piirin yleiskatsaus
Piirin yleiskatsaus
Piirin yleiskatsaus
Piirin yleiskatsaus
Piirin yleiskatsaus
Piirin yleiskatsaus

Yllä oleva kuva 1 esittää IoT -anturin koko piirin rakenteen.

IoT-laitteen ytimessä on ESP8266-01, joka on kytketty DHT22-lämpötila-/kosteusanturiin 10K: n vetovastus GPIO2: n kautta. Ulkoinen 5 voltin virtalähde on kytketty ja syötetään laitteeseen 2 mm: n DC-paneeliasennuksen kautta ja sitä säädetään paikallisesti LD1117-33v, 3v3 LDO -jännitesäätimellä, joka on asennettu ulkoiseen jäähdytyselementtiin BZP M3 -pannaruuvilla ja mutterilla.

Rakenne sisältää 3 mm: n punaisen ledin, joka on kytketty GPIO0: een ja jota käytetään antamaan paikallinen tieto IoT -laitteen tilasta käynnistyksen aikana tai mahdollisista myöhemmistä virheolosuhteista. Sitä voidaan käyttää myös laitteen tunnistamiseen aktivoimalla manuaalisesti openHAB -liitännän kautta.

Täysi muotoilu sopii siististi ABS -ruukkuun, kuten yllä kuvassa 2, ja se on erityisesti suunniteltu varmistamaan, että anturi on mahdollisimman kaukana säätimestä, jotta vältetään paikallisten lämmitystehosteiden aiheuttama esijännitys (kuva 7 yllä).

Piirilevy on yksittäinen osa veroboardia, leikattu muotoon ja tehty sopimaan koteloon (kuva 3 yllä). Tämä levy kiinnitetään paikalleen upotetulla M3 -nailonruuvilla ja kahdella mutterilla, jotka sopivat tasolle anturin alapuolen kanssa, jolloin se voi asettua tasaiselle pinnalle.

Kuvat 4… 6 esittävät erilaisia rakennustiloja.

Vaihe 2: Ohjelmistojärjestelmän yleiskatsaus

Ohjelmistojärjestelmän yleiskatsaus
Ohjelmistojärjestelmän yleiskatsaus
Ohjelmistojärjestelmän yleiskatsaus
Ohjelmistojärjestelmän yleiskatsaus

Tämä IoT -lämpötilan ja kosteuden tunnistava laite sisältää kuusi keskeistä ohjelmistokomponenttia, kuten kuvassa 1 on esitetty.

SPIFFS

Tämä on sisäinen SPI Flash-arkistointijärjestelmä ja sitä käytetään seuraavien tietojen säilyttämiseen (katso kuva 2 yllä);

  • Kuvakkeet ja "Anturikonfiguraation kotisivu" html: IoT -laite näyttää, kun se ei voi muodostaa yhteyttä IoT -WiFi -verkkoon (yleensä virheellisten suojaustietojen vuoksi) ja tarjoaa käyttäjälle mahdollisuuden määrittää anturi etänä ilman tarvetta ohjelmoida tai ladata uutta SPIFFS-sisältöä.
  • Suojaustiedot: Tämä sisältää tiedot, joita IoT -laite käyttää käynnistettäessä muodostaakseen yhteyden IoT -WiFi -verkkoon ja MQTT Brokeriin. Anturikonfiguraation kotisivun kautta lähetetyt tiedot kirjoitetaan tähän tiedostoon ('secvals.txt').
  • Kalibrointitiedot: Tämän tiedoston sisältämiä tietoja ("calvals.txt") käytetään kalibroimaan sisäisen lämpötila-/kosteusanturin tarvittaessa. Kalibrointivakiot voidaan kirjoittaa IoT -laitteelle vain MQTT -välittäjän MQTT -komentojen kautta.

Huomautus: Jos haluat määrittää laitteen aluksi, katso täältä lisätietoja SPIFFS: n käytöstä Arduino IDE: n kanssa.

mDNS -palvelin

Tätä toimintoa käytetään, kun IoT -laite ei ole muodostanut yhteyttä WiFi -verkkoon WiFi -asemana ja siitä on tullut WiFi -tukiasema, joka muistuttaa kotimaista WiFi -reititintä. Tällaisessa reitittimessä muodostat yleensä yhteyden siihen kirjoittamalla esimerkiksi 192.168.1.1: n IP -osoitteen (joka on yleensä painettu laatikkoon kiinnitettyyn tarraan) suoraan selaimesi URL -palkkiin, jonka jälkeen saat kirjautumissivun syötettäväksi käyttäjätunnus ja salasana, joiden avulla voit määrittää laitteen.

ESP8266 -laitteen AP -tilassa (tukiasematilassa) laitteen oletusarvo on IP -osoite 192.168.4.1, mutta mDNS -palvelimen ollessa käynnissä sinun on syötettävä vain ihmisystävällinen nimi "SENSORSVR.local" selaimen URL -palkkiin nähdäksesi 'Anturikonfiguraation kotisivu'.

MQTT -asiakas

MQTT -asiakas tarjoaa kaikki tarvittavat toiminnot; muodosta yhteys IoT -verkon MQTT -välittäjään, tilaa haluamasi aiheet ja julkaise tietyn aiheen hyötykuormia. Lyhyesti sanottuna se sisältää IoT -ydintoimintoja.

HTTP -verkkopalvelin

Kuten edellä mainittiin, jos IoT -laite ei pysty muodostamaan yhteyttä WiFi -verkkoon, jonka SSID, P/W jne. On määritetty SPIFFS -tiedostossa olevassa suojaustiedostossa, laitteesta tulee tukiasema. Kun olet muodostanut yhteyden tukiaseman tarjoamaan WiFi -verkkoon, HTTP -verkkopalvelimen avulla voit muodostaa yhteyden suoraan laitteeseen ja muuttaa sen kokoonpanoa HTTP -verkkoselaimen avulla. Sen tarkoitus on palvella Sensor Configuration Home Sivun verkkosivu, joka on myös SPIFFS -muodossa.

WiFi -asema

Tämä toiminto antaa IoT -laitteelle mahdollisuuden muodostaa yhteys kotimaiseen WiFi -verkkoon suojaustietojen parametrien avulla, ilman tätä IoT -laitteesi ei voi tilata/julkaista MQTT -välittäjää

WiFi -tukiasema

Kyky tulla WiFi -yhteyspisteeksi on keino, jolla IoT -laitteen avulla voit muodostaa yhteyden siihen ja tehdä muutoksia asetuksiin WiFi -aseman ja selaimen (kuten Safarin kautta Apple iPadissa) kautta.

Tämä tukiasema lähettää SSID = "SENSOR" + IoT -laitteen MAC -osoitteen kuusi viimeistä numeroa. Tämän suljetun verkon salasana on mielikuvituksellisesti nimeltään PASSWORD

Vaihe 3: Ohjelmiston yleiskatsaus

Ohjelmiston yleiskatsaus
Ohjelmiston yleiskatsaus
Ohjelmiston yleiskatsaus
Ohjelmiston yleiskatsaus

Johdanto Tämän lähdekoodin kääntämiseksi tarvitset seuraavat ylimääräiset kirjastot;

PubSubClient.h

  • Kirjailija: Nick O'Leary
  • Tarkoitus: Antaa laitteen julkaista tai tilata MQTT -aiheita tietyn välittäjän kanssa
  • Lähde:

DHT.h

  • Lähettäjä: Adafruit
  • Tarkoitus: DHT -lämpötila-/kosteusanturin kirjasto
  • Lähde:

Koodin yleiskatsaus

Ohjelmisto käyttää tilakonetta, kuten kuvassa 1 on esitetty (koko lähde jäljempänä). Alla on viisi päätilaa;

  • SEN SISÄLLÄ

    Tämä alustustila on ensimmäinen tila, joka syötetään käynnistyksen jälkeen

  • NOCONFIG

    Tämä tila syötetään, jos käynnistyksen jälkeen havaitaan virheellinen tai puuttuva secvals.txt -tiedosto

  • ODOTETTU NYT

    Tämä tila on väliaikainen, syötetty, vaikka WiFi -verkkoyhteyttä ei ole

  • MÄÄRÄ MQTT

    Tämä tila on ohimenevä, syötetään sen jälkeen, kun WiFi -verkkoyhteys on muodostettu, ja vaikka ei ole yhteyttä MQTT -välittäjään kyseisessä verkossa

  • AKTIIVINEN

    Tämä on normaali toimintatila, joka syötetään, kun sekä WiFi -verkkoyhteys että MQTT Broker -yhteys on muodostettu. Tässä tilassa anturin lämpötila- ja kosteustoiminnot julkaistaan MQTT Brokerissa

Tapahtumat, jotka ohjaavat tilojen välisiä siirtymiä, on kuvattu yllä olevassa kuvassa 1. Siirtymisiä tilojen välillä säätelevät myös seuraavat SecVals -parametrit;

  • Ensimmäinen MQTT -välittäjän IP -osoite. Pisteviiva desimaalimuodossa AAA. BBB. CCC. DDD
  • Toinen MQTT -välittäjäportti. Kokonaisluku muodossa.
  • Kolmas MQTT Broker -yhteys yrittää tehdä ennen siirtymistä STA -tilasta AP -tilaan. Kokonaisluku muodossa.
  • 4. WiFi -verkon SSID. Vapaassa muodossa.
  • Viides WiFi -verkon salasana. Vapaassa muodossa.

Kuten edellä mainittiin, jos IoT -laite ei pysty muodostamaan yhteyttä WiFi -asemana WiFi -verkkoon, jonka SSID ja P/W on määritetty SPIFFS -tiedostossa olevassa secvals.txt -tiedostossa, IoT -laitteesta tulee tukiasema. Kun yhteys on muodostettu tähän tukiasemaan, se näyttää 'Anturin kokoonpanon kotisivun', kuten yllä kuvassa 2 (kirjoittamalla selaimesi URL -osoitepalkkiin joko 'SENSORSVR.local' tai 192.168.4.1). Tämä kotisivu mahdollistaa anturin uudelleenmäärityksen HTTP -selaimen kautta.

Etäkäyttö ACTIVE -tilassa

Kun laite on yhdistetty MQTT Brokeriin, on mahdollista sekä kalibroida että konfiguroida laite uudelleen MQTT-aihejulkaisujen kautta. Tiedostolla calvals.txt on R/W -käyttöoikeus ja secvals.txt -tiedostossa on vain kirjoitusoikeus.

Käyttäjän virheenkorjaus

Käynnistysjakson aikana IoT -laitteen led antaa seuraavan virheenkorjauspalautteen

  • 1 Lyhyt salama: Ei määritystiedostoa SPIFFS -tiedostossa (secvals.txt)
  • 2 Lyhyet välähdykset: IoT -laite yrittää muodostaa yhteyden WiFi -verkkoon
  • Jatkuva valaistus: IoT -laite yrittää muodostaa yhteyden MQTT Brokeriin
  • Ei pala: Laite on aktiivinen
  • Huomautus 1: "Anturikonfiguraation kotisivu" ei käytä suojattuja pistorasioita, joten se luottaa siihen, että verkko on suojattu.
  • Huomautus 2: Jokaisen IoT -laitteen ohjelmoimiseksi MQTT -merkkijonoa on muokattava ennen lataamista. Tämä johtuu siitä, että anturin numero on upotettu MQTT -aihemerkkijonoon. eli. "WFD/THSen/100/HumdStatus/1" 6 laitteelleni on numeroitu 1… 6.

Vaihe 4: Anturin kalibrointi

Anturin kalibrointi
Anturin kalibrointi
Anturin kalibrointi
Anturin kalibrointi

Kun IoT -laite käynnistyy, osana käynnistyssekvenssiä tiedosto nimeltä cavals.txt luetaan SPIFFS -tiedostosta. Tämän tiedoston sisältö on kalibrointivakioita, kuten yllä kuvassa 1. Näitä kalibrointivakioita käytetään säätämään anturilta saatuja lukemia, jotta ne ovat yhdenmukaisia vertailulaitteen kanssa. On vielä yksi arvo, joka määrittelee laitteen raportointistrategian, ja se kuvataan alla yhdessä anturien kalibrointimenettelyn kanssa.

Raportointistrategia Tämä parametri määrittää, miten etäanturi raportoi mahdolliset ympäristön parametriset muutokset sille paikallisesti. Jos arvo 0 on valittu, etäanturi julkaisee kaikki muutokset lämpötila- tai kosteusarvoissa joka kerta, kun anturia luetaan (noin 10 sekunnin välein). Mikä tahansa muu arvo viivästyttää muutoksen julkaisemista 1… 60 minuuttia. Tämän parametrin muokkaaminen mahdollistaa MQTT -verkkoliikenteen optimoinnin.

Lämpötilan kalibrointi

Anturien kalibroimiseksi ne sijoitettiin fyysiseen läheisyyteen toistensa kanssa, kuten yllä olevassa kuvassa 2 on esitetty. Niiden viereen asetin DMM -laitteen kalibroidulla termoparilla (Fluke 87 V) ja seurasin sitten kunkin laitteen lähtöä OpenHAB -lämpötilan kautta trendisivulla päivän aikana, jotta lämpötila pysyy hyvänä. Huomasin sekä staattisen poikkeaman (korotettu nolla "C") että kunkin laitteen muutosnopeuden (vahvistuksen tai kaavion "M" kaltevuuden) suhteessa kalibroidusta termoparista tulevan arvon nopeuteen. Laskin sitten yksinkertaisen y = mx+c -suhteen (huomasin sen olevan riittävän lineaarinen, jotta se olisi lähellä likimääräistä suoraviivakaaviota) ja ohjelmoin tarvittavat korjaukset kalibrointivakioihin MQTTSpy: n avulla.

Laitteita seurattiin sitten vielä 24 tuntia varmistaakseen, että kalibrointi onnistui. Viittaus siihen, mitkä olivat lämpötilan jäljet OpenHAB -lämpötilan trendisivulla, olivat kaikki melko päällekkäin.

Tietenkin, jos olet kiinnostunut vain likimääräisestä lämpötilasta, voit jättää kaikki kalibrointiarvot oletusarvoisiksi.

Kosteuden kalibrointi

Koska minulla ei ole keinoja tallentaa tai edes hallita paikallista ympäristön kosteutta tarkasti, kalibroida antureita, käytin samanlaista lähestymistapaa kuin edellä, sijoittamalla kaikki laitteet fyysiseen läheisyyteen (kuva 2) ja seuraamalla vain niiden tuottoa OpenHAB: n kautta Kosteushaku -sivu. Valitsin sitten laitteen #1 kalibrointiohjeeksi ja kalibroin kaikki laitteet suhteessa tähän.

Vaihe 5: MQTT -aiheen nimeämiskäytäntö

MQTT -aiheen nimeämiskokous
MQTT -aiheen nimeämiskokous
MQTT -aiheen nimeämiskokous
MQTT -aiheen nimeämiskokous

Paljon yrittämisen ja erehdyksen jälkeen päätin kuvassa 1 kuvatun aiheiden nimeämiskäytännön.

Nimittäin 'AccessMethod/DeviceType/WhichDevice/Action/SubDevice'

Se ei ole täydellinen, mutta se sallii hyödyllisten suodattimien käytön kaikkien anturilähtöjen näyttämiseksi tietylle parametriarvolle, mikä mahdollistaa helpon vertailun kuten kuvassa 2 MQTTSpy: n kanssa. Se tukee myös kohtuullisesti laajennettavia loogisia toimintojen ryhmittelyjä tietyssä IoT -laitteessa.

Toteuttaessani näitä aiheita ohjelmistossa käytin kovakoodattuja aihemerkkijonoja, joissa oli kiinteät, upotetut numeeriset tunnisteet kullekin laitteelle, toisin kuin aiheiden dynaaminen luominen ajon aikana RAM -muistin säästämiseksi ja suorituskyvyn pitämiseksi korkealla.

Huomautus: Jos et ole varma MQTTSpy: n käytöstä, katso täältä MQTT -välittäjän määrittäminen. Osa 2: IoT, kodin automaatio '

Vaihe 6: OpenHAB -määritykset

OpenHAB -määritykset
OpenHAB -määritykset
OpenHAB -määritykset
OpenHAB -määritykset
OpenHAB -määritykset
OpenHAB -määritykset

Muutin OpenHAB -kokoonpanoa, joka annettiin aiemmassa Instructable -ohjelmassani (täällä) ja lisättiin yksittäisiin merkintöihin;

  • Autotalli,
  • Sali,
  • Olohuone,
  • Keittiö
  • Vierashuone
  • Päämakuuhuone

Sivustokartassa katso kuva 1 yllä.

Jokaiseen näistä merkinnöistä lisäsin yksittäisiä sivustokarttoja, jotka paljastivat paikalliset ympäristön arvot (katso kuva 2 yllä);

  • Lämpötila
  • Kosteus
  • Lämpöindeksi

Mukana oli myös kytkin, joka ohjaa anturiin asennettua paikallista lediä.

Kuvat 3… 5 näyttävät yksittäisiä live -jälkiä 24 tunnin aikana lämpötilasta, kosteudesta ja RSSI: stä (vastaanotetun signaalin voimakkuuden indikaattori, pohjimmiltaan mitta siitä, kuinka hyvin anturi näkee WiFi -verkon).

Kuvassa 6 on esimerkki pitkän aikavälin kosteuden kehityksestä viikon aikana.

Huomautus 1: Jos et ole varma OpenHAB: n käytöstä, katso täältä 'OpenHAB: n määrittäminen ja määrittäminen. Osa 6: IoT, kodin automaatio '

Huomautus 2: Alla on jäljennös muokatusta sivustokartasta, sääntö- ja kohdetiedostoista, kuvakkeista jne.

Vaihe 7: Suunnittelun testaaminen

Suunnittelun testaaminen
Suunnittelun testaaminen
Suunnittelun testaaminen
Suunnittelun testaaminen

Suurimmaksi osaksi testasin IoT -laitetta MQTT -yhteydellä MQTT Spy -laitteella, seuraten led -lähtöä ja debug -liikennettä sarjaliitännässä. Näin sain käyttää kaikkia saatavilla olevia tilattuja aiheita ja tarkistaa julkaistut vastaukset. Vaikka tämä saavutettiin manuaalisesti ja siitä tuli ajoittain hieman tylsä, se mahdollisti 100% kattavuuden.

Kuitenkin päätilakone osoittautui hieman hankalaksi testata, koska se perustui WiFi -verkon olemassaoloon tai puuttumiseen, jonka käyttö edellyttää tiettyjä parametrisarjoja. Ei yksinkertaisesti ollut käytännöllistä käyttää kotiverkkoa tähän.

Tämän ongelman kiertämiseksi olen luonut oman nukkeverkkojen sarjan käyttämällä ESP8266-01-järjestelmää, joka on määritetty tukiasemiksi (kuva 1) ja SSID-tunnuksilla DummyNet1 ja DummyNet2. Käyttämällä piirin kuvassa 2 ledin yläpuolella osoitti, oliko siihen liitetty IoT -laite. Vaikka tämä ei ollut täydellinen testausratkaisu (eli jokainen näistä näennäisistä WiFi -verkoista ei sisältänyt MQTT -palvelinta), tilakone oli mahdollista testata kokonaan.

Olen lisännyt kopion lähdekoodista alla.

Vaihe 8: Johtopäätös

Yleistä

IoT -laitteiden ohjelmistot ovat toimineet luotettavasti useiden kuukausien ajan toipumassa kotitalouksien sähkökatkoista (lähinnä itsestäni). Kaiken kaikkiaan ne ovat melko kestäviä laitteita, jotka tarjoavat johdonmukaista ja tarkkaa tietoa.

Parannuksia

Kehittäessäni ohjelmistorutiineja lukea ja kirjoittaa SPIFFS: lle kirjoitin koodia, joka jälkikäteen saattaa olla hieman kehittyneempi kuin olin suunnitellut, käyttämällä tyhjiä osoittimia, uudelleenlaatimista ja osoittimia osoittimiin. Vaikka se on erittäin joustava ja tekee työnsä hyvin, seuraavalla kerralla voin käyttää JSON -ohjelmaa ConfigFile.ino -mallin mukaisesti, jotta se olisi hieman yksinkertaisempaa.

  • Arduino GIT HUB Core

    https://github.com/esp8266/Arduino

  • ConfigFile.ino Lähde

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

Toivelista

Olin aikonut käyttää mDNS -asiakasta yhteyden muodostamiseen välittäjään, mutta kirjasto oli liian heikko. Siksi on tarpeen määrittää MQTT Brokerin IP -osoite eikä "MQTTSVR.local". Jos mDNS -kirjasto muuttuu vakaammaksi tulevaisuudessa, lisään tämän ominaisuuden laitteeseen.

Olisi ollut mukavaa saada keinot tarkkailla ja säätää ympäristön kosteutta tarkasti kalibroida anturit. Valittu kalibrointimenetelmä antaa kuitenkin hyvät suhteelliset lukemat ja vaikuttaa kohtuullisen täsmälliseltä DHT22 -tietolomakkeen spesifikaation mukaisesti.

Lopuksi, kun otetaan huomioon ohjelmiston monimutkaisuus, huomasin koodin täydellisen testaamisen sen jälkeen, kun suuri muutos oli tulossa aikaa vieväksi. Voisin harkita automaattista testausta myöhemmin.

Vaihe 9: Käytetyt viitteet

Käytin seuraavia lähteitä laittaakseni tämän ohjeen yhteen;

PubSubClient.h

  • Kirjailija: Nick O'Leary
  • Lähde:

DHT.h

  • Lähettäjä: Adafruit
  • Lähde:

DHT22 tuotetiedot

Suositeltava: