Sisukord:
- Tarvikud
- Samm: valmistage Arduino keskkond ESP8266 jaoks ette
- 2. samm: kaasake nõutavad teegid
- 3. samm: kohandage tavalist näidisjoonist
- Samm: laadige üles veebi kasutajaliides
- Samm: lisage andur BME680
- Samm: lisage andur PMS5003
- Samm: mõne võrgufunktsiooni lisamine
- 8. samm: lisage logimine
- 9. samm: toimingud
- Samm: pildid ja konfiguratsioonifailid
Video: Sisseehitatud IoT õhukvaliteedi anduri ehitamine Pilve pole vaja: 10 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Sise- või välisõhu kvaliteet sõltub paljudest saasteallikatest ja ka ilmast.
See seade salvestab mõned tavalised ja mõned kõige huvitavamad parameetrid, kasutades 2 anduri kiipi.
- Temperatuur
- Niiskus
- Rõhk
- Orgaaniline gaas
- Mikroosakesed
Siin kasutatavad andurid on BME680 temperatuuri, niiskuse, rõhu ja orgaanilise gaasi väärtuste saamiseks ning PMS5003 mikroosakeste tiheduse saamiseks.
Teeki HomeDing kasutades on lihtne ehitada seade, mis on ühendatud ainult teie koduvõrguga ning millele pääseb ligi ja mida saab hallata iga võrgu brauser. Kaasas valik elemente, mis võimaldavad kasutada kõige tavalisemaid andurikiipe, seadmeid ja muid teenuseid.
See pakub ka täielikku lahendust veebi poole majutamiseks seadme sees, selle asemel et kasutada pilvepõhist lahendust andurite andmete kuvamiseks ja seadmega suhtlemiseks.
Tarvikud
Selle projekti ehitamiseks on vaja ainult ESP8266 -põhist tahvlit nagu nodemcu -plaat ja õhukvaliteedi mõõtmiseks mõeldud andurite komplekt. Selles projektis kasutatav HomeDingi raamatukogu toetab mõningaid tavalisi temperatuuri, niiskuse, rõhu ja kvaliteedi andurikiipe. Siin kasutatakse BMP680 kiipi.
- Toiteallikaks USB-pistik ja mikro-USB-kaabel.
- 1 nodemcu plaat ESP8266 protsessoriga.
- 1 BME680 anduri katkestusplaat.
- 1 PM2.5 õhuosakeste laserandur tüüp PMS5003
BME680 andurit on lihtne DHT22 anduriga vahetada, kuna seda toetab ka raamatukogu paljude teiste hulgas.
Samm: valmistage Arduino keskkond ESP8266 jaoks ette
- Installige Arduino IDE uusim versioon (praegu versioon 1.8.2).
- Esp8266 toe installimiseks kasutage Board Manageri. Üksikasjalikud juhised leiate siit:
- Seadistage tahvlivalikud NodeMCU 1.0 jaoks 1MByte SPIFFS failisüsteemiga, nagu on näidatud ekraanipildil
2. samm: kaasake nõutavad teegid
HomeDingi teek tugineb andurite ja kuvarite toimimiseks mõnele tavalisele lisateekile.
Kui installite HomeDingi raamatukogu, näete hüpikakent nende nõutavate teekidega, mida saab automaatselt installida, nagu on näidatud pildil ja neid kõiki on lihtne installida.
Mõnikord (teadmata põhjustel) teekide installimine ebaõnnestub, nii et kõik nõutavad teegid tuleb käsitsi installida.
Lisateavet vajalike teekide kohta leiate dokumentatsiooni veebisaidilt aadressil
See on praeguste nõutavate raamatukogude loend:
- Adafruit NeoPixel
- LiquidCrystal_PCF8574.h
- ESP8266 ja ESP32 Oled draiver SSD1306 kuva jaoks
- Pöörlev kodeerija
- DHT andurite kogu ESPx jaoks
- OneWire
PMS5003 õhuosakeste lasersensor suhtleb 9600 baudise jadajoone signaali abil. See signaal on jäädvustatud tarkvaraga Serial raamatukogu abil, mis on kaasas ESP8266 tööriistade installimisega. Veenduge, et teeki pole installitud vanemat versiooni.
3. samm: kohandage tavalist näidisjoonist
Standardnäide sisaldab juba mõningaid levinumaid andureid, seega on vaja ainult teatud konfiguratsiooni.
See kehtib BME680 anduri kohta, mida toetab element BME680.
PMS5003 andur on vähem levinud ja see tuleb aktiveerida, lisades püsivarasse PMS -elemendi. Selleks määratlege visandi elemendiregistri osas #define HOMEDING_INCLUDE_PMS
#define HOMEDING_INCLUDE_BME680#define HOMEDING_INCLUDE_PMS
Uue seadme võrku lisamise lihtsuse huvides võite lisada koduse WiFi SSID -i ja parooli fraasi secret..h, mis on standard.ino visandifaili kõrval. Kuid saate kasutada ka sisseehitatud WiFi-haldurit, et lisada seade võrku ilma selle kõvakodeeritud konfiguratsioonita.
Nüüd on eskiisi rakendamisega kõik tehtud ning püsivara saab kompileerida ja üles laadida.
Samm: laadige üles veebi kasutajaliides
Tavalise näitega on kaasas andmekaust, mis sisaldab kõiki veebi kasutajaliidese faile.
Enne nende failide üleslaadimist võiksite lisada selles artiklis leiduvad failid env.json ja config.json, sest see muudab asja lihtsamaks.
Nende failide sisu muudab IoT -seadme eriliseks ja käitub õhukvaliteedi andurina. Selles loos on seda üksikasjalikult selgitatud.
Kasutage failide üleslaadimise utiliiti ESP8266 ja laadige üles kõik failid. Konfiguratsiooni aktiveerimiseks vajab see taaskäivitamist.
Samm: lisage andur BME680
BME680 andur suhtleb plaadiga I2C siiniga.
Kuna seda on võimalik jagada teiste laiendustega, näiteks teiste andurite või kuvaritega, on see seadistatud env.json -i seadme tasemel koos seadme võrgunimega. Siin on seadme ja I2C seadete väljavõte:
"seade": {
"0": {"nimi": "airding", "kirjeldus": "Õhukvaliteedi andur",… "i2c-scl": "D2", "i2c-sda": "D1"}}
Leivaplaadil näete anduri ühenduskaableid: 3.3V = punane, GND = must, SCL = kollane, SDA = sinine
BME680 konfiguratsiooni saab kasutada failis config.json:
"bme680": {
"bd": {"address": "0x77", "readtime": "10s"}}
Toimingud lisame hiljem.
Seadistuse testimiseks kasutage lihtsalt brauserit ja avage https://airding/board.htm ning näete anduri tegelikke väärtusi ja neid uuendatakse umbes iga 10 sekundi järel:
Samm: lisage andur PMS5003
Ma ei saanud leibaplaadisõbraliku pistikuga andurit, nii et pidin kaabli ühe pistiku ära lõikama, kasutades seda jootekolviga, et see otse nodemcu plaadile kinnitada. Seda näete veel lõplikel piltidel.
Selle anduri toide tuleb võtta Vinilt, mida tavaliselt toidab USB -siin. GND on sama, kuid saadaval ka Vin -tihvti kõrval.
Anduri andmed edastatakse standardses 9600 baud seeriavormingus, nii et rx ja tx tihvtid ja lugemisaeg tuleb konfigureerida:
"pms": {
"pm25": {"description": "pm25 osakeste andur", "pinrx": "D6", "pintx": "D5", "readtime": "10s"}}
Toimingud lisame hiljem.
Seadistuse uuesti testimiseks lihtsalt taaskäivitage seade ja kasutage brauserit ning avage https://airding/board.htm ja näete anduri tegelikku pm35 väärtust ning neid uuendatakse umbes iga 10 sekundi järel, kuid see väärtus on tavaliselt ei muutu sageli.
Kõrgemaid väärtusi saate, kui asetate küünlalambi anduri kõrvale, kuna küünal tekitab suure osa nendest osakestest.
Nüüd saate kõik kena korpusesse panna, sest kõiki muid konfiguratsioone ja isegi tarkvarauuendusi saab teha eemalt.
Samm: mõne võrgufunktsiooni lisamine
Järgmine konfiguratsiooniekstrakt env.jsonis lubab
- püsivara värskendamine õhu kaudu
- võimaldab tuvastada võrku SSDP võrguprotokolli abil ja otsib ntp serverist praeguse aja.
{
… "Ota": {"0": {"port": 8266, "passwd": "123", "description": "Kuula" üle õhu "OTA värskendused"}}, "ssdp": {"0 ": {" Tootja ":" teie nimi "}}," ntptime ": {" 0 ": {" readtime ":" 36h "," zone ": 2}}}
Peaksite ajavööndi oma asukoha järgi kohandama. Kui teil on kahtlusi, võite kasutada veebisaiti https://www.timeanddate.com/, et saada tasakaal UTC/GMT järgi. "2" sobib Saksamaa suveaja jaoks.
Võid ka muuta parooli pärast seda, kui oled lugenud salvestusrežiimi puudutavaid juhiseid aadressil
Pärast taaskäivitamist võite leida võrgust võrgu ja pärast ntp -serverilt vastuse saamist on saadaval kohalik aeg.
8. samm: lisage logimine
Lihtsalt tegelikud väärtused ei pruugi anda piisavalt, nii et saab kasutada veel mõnda elementi.
Selle loo jaoks kasutatakse logielementi ja NPTTime -elementi anduriväärtuste ajaloo salvestamiseks logifaili ning selle elemendi veebiliidese kaart saab seda graafikuna kuvada.
Järgmine konfiguratsioon loob gaasi ja osakeste jaoks kaks logielementi:
{
"log": {"pm": {"description": "Log of pm25", "filename": "/pmlog.txt", "fileize": "10000"}, "aq": {"description": " Gaasikvaliteedi logi "," failinimi ":" /aqlog.txt "," failisuurus ":" 10000 "}}
9. samm: toimingud
Nüüd peame tegelikud väärtused toimingute abil logielementidele üle kandma. Toimingud kasutavad URL -i märget, et edastada sihtmärgile element ja väärtus. Paljud elemendid toetavad kiirgavaid toiminguid teatud sündmuste korral, näiteks uue anduri väärtuse jäädvustamine.
Toimingud on konfigureeritud elementi, mis väljastab toiminguid, on vaja 2 kirjet:
- Sündmus pms/p25 saadab tegeliku väärtuse elemendile log/pm, kasutades väärtustegevust.
- Sündmus bme680/bd ongas saadab tegeliku väärtuse elemendile log/pm, kasutades väärtustegevust.
{
"pms": {"pm25": {… "onvalue": "log/pm? value = $ v"}}, "bme680": {"bd": {… "ongas": "log/aq? value = $ v "}}}
Nüüd on kõik elemendid konfigureeritud.
Samm: pildid ja konfiguratsioonifailid
Siin on pilt minu viimasest IoT õhukvaliteedi andurist.
Allalaadimiseks vajalikud konfiguratsioonifailid tuleb enne üleslaadimist ümber nimetada *.json (nr.txt).
Viited ja viited
- HomeDingi lähtekoodi hoidla:
- Dokumentatsioon:
- Tavaline näide:
- BME680 element:
- PMS -element:
- Logielement:
- NtpTime Element:
Soovitan:
5 dollarit isetehtud YouTube'i tellijate kuva, kasutades ESP8266 - kodeerimist pole vaja: 5 sammu
5 dollarit DIY YouTube'i tellijate kuva, kasutades ESP8266 - kodeerimist pole vaja: Selles projektis näitan teile, kuidas saate kasutada ESP8266 plaati Wemos D1 Mini, et kuvada mis tahes YouTube'i kanali tellijate arv alla 5 dollari
Lisage ventilaator arvuti jahutusradiaatorisse - kruvisid pole vaja: 5 sammu
Ventilaatori lisamine arvuti jahutusradiaatorisse - kruvisid pole vaja: Probleem: mul on (oli) minu failiserveris emaplaat, millel on ventilaatorita jahutusradiaator minu arvates põhjasilla kohal. Vastavalt anduriprogrammile (ksensors), mis mul Fedoras jooksis, oli emaplaadi temperatuur umbes 190 kraadi. Minu süles
Chrome'i veebilaiend - eelnevat kodeerimiskogemust pole vaja: 6 sammu
Chrome'i veebilaiend - eelnevat kodeerimiskogemust pole vaja: Chrome'i laiendused on väikesed programmid, mis on loodud kasutajate sirvimiskogemuse täiustamiseks. Lisateavet Chrome'i laienduste kohta leiate aadressilt https://developer.chrome.com/extensions. Chrome'i veebilaiendi loomiseks on vaja kodeerimist, seega on HT ülevaatamine väga kasulik
ESP32-CAM Jäädvustage fotosid ja saatke e-posti teel SPIFF Memmory abil. -- SD -kaarti pole vaja: 4 sammu
ESP32-CAM Jäädvustage fotosid ja saatke e-posti teel SPIFF Memmory abil. || SD-kaarti pole vaja: Tere inimesed! ESP32-CAM-plaat on odav arendusplaat, mis ühendab endas ESP32-S kiibi, OV2640 kaamera, mitu GPIO-d välisseadmete ühendamiseks ja microSD-kaardi pesa. Sellel on mitmeid rakendusi, alates video voogesituse veebiserverist
Cubesat õhukvaliteedi anduri ja Arduinoga: 4 sammu
Cubesat õhukvaliteedi anduri ja Arduinoga: CubeSati loojad: Reghan, Logan, Kate ja Joan Sissejuhatus Kas olete kunagi mõelnud, kuidas luua Marsi orbiit, et koguda andmeid Marsi atmosfääri ja õhukvaliteedi kohta? Selle aasta jooksul oleme oma füüsikatunnis õppinud A programmeerimist