Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Valmista Arduino -ympäristö ESP8266: lle
- Vaihe 2: Sisällytä pakolliset kirjastot
- Vaihe 3: Muokkaa vakioesimerkkiluonnosta
- Vaihe 4: Lataa verkkokäyttöliittymä
- Vaihe 5: Lisää BME680 -anturi
- Vaihe 6: Lisää PMS5003 -anturi
- Vaihe 7: Joidenkin verkko -ominaisuuksien lisääminen
- Vaihe 8: Lokin lisääminen
- Vaihe 9: Toimet
- Vaihe 10: Kuvat ja määritystiedostot
Video: Rakenna sisäinen IoT -ilmanlaatutunnistin Ei pilviä: 10 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Sisä- tai ulkoilman laatu riippuu monista saastelähteistä ja myös säästä.
Tämä laite kaappaa joitain yleisimpiä ja mielenkiintoisimpia parametreja käyttämällä 2 anturisirua.
- Lämpötila
- Kosteus
- Paine
- Orgaaninen kaasu
- Mikrohiukkaset
Tässä käytettyjä antureita ovat BME680 lämpötilan, kosteuden, paineen ja orgaanisen kaasun arvojen mittaamiseen ja PMS5003 mikrohiukkasten tiheyden saamiseksi.
HomeDing -kirjaston avulla on helppo rakentaa laite, joka on yhdistetty vain kotiverkkoon ja joka on tavoitettavissa ja hallittavissa millä tahansa verkon selaimella. Sen mukana tulee valikoima elementtejä, jotka mahdollistavat yleisimpien anturisirujen, laitteiden ja muiden palvelujen käytön.
Se tarjoaa myös täydellisen ratkaisun web -puolen isännöimiseen laitteen sisällä sen sijaan, että käyttäisimme pilvipohjaista ratkaisua anturitietojen näyttämiseen ja vuorovaikutukseen laitteen kanssa.
Tarvikkeet
Tämän projektin rakentamiseen tarvitset vain ESP8266 -pohjaisen levyn, kuten nodemcu -kortin ja ilmanlaatua mittaavien anturien sarjan. Tässä projektissa käytetty HomeDing -kirjasto tukee joitakin yleisiä lämpötila-, kosteus-, paine- ja laatuanturipiirejä. Tässä käytetään BMP680 -sirua.
- USB-pistoke ja mikro-usb-kaapeli virtalähteelle.
- 1 nodemcu -levy ESP8266 -suorittimella.
- 1 BME680 -anturikatkaisukortti.
- 1 PM2.5 ilmahiukkaslaser -anturi, tyyppi PMS5003
BME680 -anturi on helppo vaihtaa DHT22 -anturiin, koska kirjasto tukee myös monia muita.
Vaihe 1: Valmista Arduino -ympäristö ESP8266: lle
- Asenna Arduino IDE: n uusin versio (nykyinen versio 1.8.2).
- Asenna esp8266-tuki Asenna Board Managerin avulla. Yksityiskohtaiset ohjeet löydät täältä:
- Määritä korttivaihtoehdot NodeMCU 1.0: lle, jossa on 1 Mtavu SPIFFS -tiedostojärjestelmä, kuten kuvakaappauksessa
Vaihe 2: Sisällytä pakolliset kirjastot
HomeDing -kirjasto perustuu joihinkin yleisiin lisäkirjastoihin antureiden ja näyttöjen toimimiseksi.
Kun asennat HomeDing -kirjaston, näet ponnahdusikkunan, jossa on nämä pakolliset kirjastot, jotka voidaan asentaa automaattisesti, kuten kuvassa näkyy, ja niiden kaikkien asentaminen on helppoa.
Joskus (tuntemattomista syistä) kirjastojen asennus epäonnistuu, joten kaikki tarvittavat kirjastot on asennettava manuaalisesti.
Lisätietoja tarvittavista kirjastoista on dokumentaatiosivustolla osoitteessa
Tässä on luettelo nykyisistä pakollisista kirjastoista:
- Adafruit NeoPixel
- LiquidCrystal_PCF8574.h
- ESP8266 ja ESP32 Oled -ohjain SSD1306 -näyttöön
- Pyörivä kooderi
- DHT -anturikirjasto ESPx: lle
- OneWire
PMS5003 -ilmahiukkaslaser -anturi kommunikoi käyttämällä 9600 baudin sarjalinjasignaalia. Tämä signaali kaapataan käyttämällä SoftwareSerial -kirjastoa, joka tulee ESP8266 -työkalujen asennuksen mukana. Älä asenna vanhempaa versiota kirjastoksi.
Vaihe 3: Muokkaa vakioesimerkkiluonnosta
Vakioesimerkki sisältää jo joitakin yleisimpiä antureita elementteinä, joten vain joitakin kokoonpanoja tarvitaan.
Tämä koskee BME680 -anturia, jota BME680 Element tukee.
PMS5003 -anturi on harvinaisempi ja se on aktivoitava sisällyttämällä PMS -elementti laiteohjelmistoon. Tämä tehdään määrittelemällä #define HOMEDING_INCLUDE_PMS luonnoksen elementtirekisteriosassa
#define HOMEDING_INCLUDE_BME680#define HOMEDING_INCLUDE_PMS
Yksinkertaisuuden lisäämiseksi uuden laitteen lisäämiseksi verkkoon voit lisätä kotisi WiFi -yhteyden SSID: n ja salasanan secret..h -tiedostoon standard.ino -luonnostiedoston viereen. Voit kuitenkin lisätä laitteen verkkoon myös sisäänrakennetun WiFi Managerin avulla ilman tätä kovakoodattua kokoonpanoa.
Nyt kaikki luonnoksen toteuttamiseen liittyvät asiat on tehty ja laiteohjelmisto voidaan koota ja ladata.
Vaihe 4: Lataa verkkokäyttöliittymä
Vakioesimerkki sisältää tietokansion, joka sisältää kaikki web -käyttöliittymän tiedostot.
Ennen kuin lataat nämä tiedostot, voit lisätä tämän artikkelin sisältämät env.json- ja config.json -tiedostot, koska tämä helpottaa asioita.
Näiden tiedostojen sisältö tekee IoT -laitteesta erityisen ja toimii ilmanlaadun anturina. Se selitetään yksityiskohtaisesti tässä tarinassa.
Käytä ESP8266 -tiedoston latausapuohjelmaa ja lataa kaikki tiedostot. Se vaatii uudelleenkäynnistyksen kokoonpanon aktivoimiseksi.
Vaihe 5: Lisää BME680 -anturi
BME680 -anturi kommunikoi kortin kanssa I2C -väylän avulla.
Koska tämä on mahdollisesti jaettu muiden laajennusten kanssa, kuten muut anturit tai näytöt, se on määritetty laitteen tasolla env.json -laitteessa yhdessä laitteen verkon nimen kanssa. Tässä on poimittu näyte laite- ja I2C -asetuksista:
"laite": {
"0": {"name": "airding", "description": "Ilmanlaatuanturi",… "i2c-scl": "D2", "i2c-sda": "D1"}}
Leipäpöydällä näet anturin liitäntäkaapelit: 3.3V = punainen, GND = musta, SCL = keltainen, SDA = sininen
BME680: n määrityksiä voidaan käyttää osoitteessa config.json:
"bme680": {
"bd": {"address": "0x77", "readtime": "10s"}}
Lisäämme toiminnot myöhemmin.
Testaa asetuksia vain selaimella ja avaa https://airding/board.htm. Näet anturin todelliset arvot ja ne päivitetään noin 10 sekunnin välein:
Vaihe 6: Lisää PMS5003 -anturi
Minulla ei ollut anturia, jossa oli leipälautaystävällinen liitin, joten minun piti leikata yksi kaapelin liittimistä liitosraudan avulla kiinnittääksesi sen suoraan nodemcu -levyyn. Näet sen vielä viimeisistä kuvista.
Tämän anturin virta on otettava Vin -laitteesta, joka saa virtansa normaalisti USB -väylältä. GND on sama, mutta saatavana myös Vin -nastan vieressä.
Tiedot anturista siirretään vakio 9600 baudin sarjamuodossa, joten rx- ja tx -nastat ja lukuaika on määritettävä:
"pms": {
"pm25": {"description": "pm25 hiukkasanturi", "pinrx": "D6", "pintx": "D5", "readtime": "10s"}}
Lisäämme toiminnot myöhemmin.
Jos haluat testata asetuksia uudelleen, käynnistä laite uudelleen ja käytä selainta ja avaa https://airding/board.htm. Näet anturin todellisen pm35 -arvon ja ne päivitetään noin 10 sekunnin välein, mutta tämä arvo on normaalisti ei muutu usein.
Voit saada suurempia arvoja asettamalla kynttilän valon anturin viereen, koska kynttilä tuottaa suuren osan näistä hiukkasista.
Nyt voit laittaa kaiken kauniiseen koteloon, koska kaikki muut kokoonpanot ja jopa ohjelmistopäivitykset voidaan tehdä etänä.
Vaihe 7: Joidenkin verkko -ominaisuuksien lisääminen
Seuraava määritys ote env.jsonissa on käytössä
- laiteohjelmiston päivittäminen langattomasti
- mahdollistaa verkon tunnistamisen SSDP -verkkoprotokollan avulla ja hakee nykyisen ajan ntp -palvelimelta.
{
… "Ota": {"0": {"portti": 8266, "passwd": "123", "description": "Kuuntele" over the air "OTA -päivitykset"}}, "ssdp": {"0 ": {" Valmistaja ":" nimesi "}}," ntptime ": {" 0 ": {" readtime ":" 36h "," zone ": 2}}}
Sinun pitäisi säätää aikavyöhyke sijaintisi mukaan. Jos olet epävarma, voit käyttää verkkosivustoa https://www.timeanddate.com/ saadaksesi poikkeaman UTC/GMT -ajalta. "2" sopii Saksan kesäaikaan.
Voit myös muuttaa Ota -salasanaa lukemalla tallennusmoodia koskevat ohjeet osoitteessa
Uudelleenkäynnistyksen jälkeen saatat löytää ilmalaitteen verkosta ja kun olet saanut vastauksen ntp -palvelimelta, paikallinen aika on käytettävissä.
Vaihe 8: Lokin lisääminen
Pelkästään todelliset arvot eivät ehkä anna tarpeeksi, joten joitain muita elementtejä voidaan käyttää.
Tässä tarinassa lokielementtiä ja NPTTime -elementtiä käytetään anturien arvojen historian tallentamiseen lokitiedostoon, ja tämän elementin Web -käyttöliittymäkortti voi näyttää sen kaaviona.
Seuraava kokoonpano luo kaksi lokielementtiä kaasulle ja hiukkasille:
{
"log": {"pm": {"description": "Log of pm25", "filename": "/pmlog.txt", "fileize": "10000"}, "aq": {"description": " Kaasun laadun loki "," tiedostonimi ":" /aqlog.txt "," tiedoston koko ":" 10000 "}}
Vaihe 9: Toimet
Nyt meidän on siirrettävä todelliset arvot lokielementteihin toimintojen avulla. Toiminnot käyttävät URL -merkintää välittääkseen kay ja arvon kohde -elementille. Monet elementit tukevat lähetystoimintoja tietyissä tapahtumissa, kuten uuden anturiarvon kaappaamisessa.
Toiminnot on määritetty elementille, joka lähettää toimintoja 2 merkintää tarvitaan:
- On -arvo -tapahtuma pms/p25 lähettää todellisen arvon log/pm -elementille käyttämällä arvotoimintoa.
- Tapahtuma bme680/bd ongas lähettää todellisen arvon log/pm -elementille käyttämällä arvotoimintoa.
{
"pms": {"pm25": {… "onvalue": "log/pm? value = $ v"}}, "bme680": {"bd": {… "ongas": "log/aq? value = $ v "}}}
Nyt kaikki elementit on määritetty.
Vaihe 10: Kuvat ja määritystiedostot
Tässä muutama kuva viimeisestä IoT -ilmanlaatuanturistani.
Ladattavat määritystiedostot on nimettävä uudelleen nimeksi *.json (no.txt) ennen lataamista.
Linkit ja viitteet
- HomeDingin lähdekoodivarasto:
- Dokumentaatio:
- Vakioesimerkki:
- BME680 -elementti:
- PMS -elementti:
- Lokielementti:
- NtpTime Element:
Suositeltava:
Mod Sisäinen virtalähde Mikrotik CSS326-24G-2S+RM-kytkimelle: 11 vaihetta
Sisäinen virtalähde Mikrotik CSS326-24G-2S+RM -kytkimeen: VAROITUS: TÄMÄ PROJEKTI ON KÄYTTÄNYT KORKEAT JÄNNITTEET, JOS ET OLE MUKAVA TAI TIETÄT, MITÄ TEET, KONSULTOI SÄHKÖPELIÄ. Emme ole vastuussa mistään vaurioista, jotka ovat aiheutuneet mille tahansa laitteestasi tämän oppaan noudattamisen jälkeen
SNES Classic Mini Sisäinen Bluetooth -muokkaus: 6 vaihetta (kuvilla)
SNES Classic Mini Sisäinen Bluetooth -muokkaus: Tervehdys kaikille klassisen Nintendo -konsolin ystäville! Tämä opas auttaa sinua asentamaan puolipysyvän sisäisen bluetooth-vastaanottimen SNES Classic Mini -konsoliin (tähän asti oppaan loppuosa on kutsuttu SNESC: ksi). Tämä
Simple Life Hackin sisäinen Android -äänitallennin: 4 vaihetta
Simple Life Hack: Androidin sisäinen äänitallennin: Useimmat Android -pelaajat kohtaavat valtavan ongelman, koska he eivät saa tallentaa sisäistä ääntä Android -käyttöjärjestelmän avulla. Joten heillä on vähän vaihtoehtoja, jotka maksavat liikaa tai vaikeita tapoja, kuten laitteen juurtuminen. Sinulla on seuraavat vaihtoehdot sisäisen äänen tallentamiseen Androille
Pilviä tapahtuu: 3 vaihetta
Pilviä tapahtuu: Sääasema Tämä järjestelmä on halpa sääasema, joka käyttää Raspberry 3- ja Texas Instruments -anturitunnistetta CC2650 vertaamaan ulkosäätä sisäisiin olosuhteisiin. Solmun punaisen ja Freeboardin avulla voidaan luoda kojelauta visualisoimaan
Xbox 360 Slim sisäinen virtalähde Psu: 5 vaihetta
Xbox 360: n ohut sisäinen virtalähde Psu: Motivaatio En ole koskaan pitänyt laitteissa roikkuvista muuntajista, kaapelihäiriöistä, jotka asennetaan televisioon, muuntajista aina valmiustilassa jne. sama muoto ja koko