Kazalo:
- Zaloge
- 1. korak: Pripravite okolje Arduino za ESP8266
- 2. korak: Vključite potrebne knjižnice
- 3. korak: Prilagodite standardno primerno skico
- 4. korak: naložite spletni uporabniški vmesnik
- 5. korak: Dodajte senzor BME680
- 6. korak: Dodajte senzor PMS5003
- 7. korak: Dodajanje nekaterih omrežnih funkcij
- 8. korak: Dodajte nekaj beleženja
- 9. korak: Dejanja
- 10. korak: Slike in konfiguracijske datoteke
Video: Zgradite hišni senzor kakovosti zraka IoT brez oblaka: 10 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Kakovost notranjega ali zunanjega zraka je odvisna od številnih virov onesnaženja in tudi od vremena.
Ta naprava zajema nekatere običajne in nekatere najbolj zanimive parametre z uporabo 2 senzorskih čipov.
- Temperatura
- Vlažnost
- Pritisk
- Organski plin
- Mikrodelci
Tukaj uporabljeni senzorji so BME680 za merjenje temperature, vlažnosti, tlaka in organskih plinov ter PMS5003 za pridobivanje gostote mikro delcev.
Z uporabo knjižnice HomeDing je enostavno sestaviti napravo, ki je povezana samo z vašim domačim omrežjem in je dostopna in nadzorovana s katerim koli brskalnikom v omrežju. Na voljo je z izbiro elementov, ki omogočajo uporabo najpogostejših senzorskih čipov, naprav in drugih storitev.
Prinaša tudi popolno rešitev za gostovanje spletne strani v napravi namesto uporabe rešitve v oblaku za prikaz podatkov senzorja in interakcijo z napravo.
Zaloge
Za izdelavo tega projekta potrebujete le ploščo na osnovi ESP8266, kot je plošča nodemcu in niz senzorjev za merjenje kakovosti zraka. Knjižnica HomeDing, uporabljena v tem projektu, podpira nekatere običajne senzorske čipe za temperaturo, vlažnost, tlak in kakovost. Tu se uporablja čip BMP680.
- Priključek USB in kabel micro-usb za napajanje.
- 1 nodemcu plošča s procesorjem ESP8266.
- 1 Odklopna plošča senzorja BME680.
- 1 PM2,5 laserski senzor delcev zraka tipa PMS5003
Senzor BME680 je enostavno zamenjati s senzorjem DHT22, saj jih knjižnica podpira tudi med mnogimi drugimi.
1. korak: Pripravite okolje Arduino za ESP8266
- Namestite najnovejšo različico Arduino IDE (trenutno različica 1.8.2).
- Namestite podporo za esp8266 z upraviteljem Board. Podrobna navodila najdete tukaj:
- Nastavite možnosti plošče za NodeMCU 1.0 z datotečnim sistemom 1MByte SPIFFS, kot je prikazano na posnetku zaslona
2. korak: Vključite potrebne knjižnice
Knjižnica HomeDing temelji na nekaterih običajnih dodatnih knjižnicah za delovanje senzorjev in zaslonov.
Ko namestite knjižnico HomeDing, boste videli pojavno okno s temi zahtevanimi knjižnicami, ki jih je mogoče samodejno namestiti, kot je prikazano na sliki, in jih je enostavno namestiti.
Včasih (iz neznanih razlogov) namestitev knjižnic ne uspe, zato je treba vse potrebne knjižnice namestiti ročno.
Več podrobnosti o zahtevanih knjižnicah najdete na spletni strani dokumentacije na naslovu
To je seznam trenutno potrebnih knjižnic:
- Adafruit NeoPixel
- LiquidCrystal_PCF8574.h
- ESP8266 in ESP32 Oled Driver za zaslon SSD1306
- RotaryEncoder
- Knjižnica senzorjev DHT za ESPx
- OneWire
Laserski senzor zračnih delcev PMS5003 komunicira z uporabo signala serijske linije 9600 baud. Ta signal se zajame s knjižnico SoftwareSerial, ki je priložena namestitvi orodij ESP8266. Pazite, da starejša različica ni nameščena kot knjižnica.
3. korak: Prilagodite standardno primerno skico
Standardni primer že vključuje nekatere pogostejše senzorje kot elemente, zato bo potrebna le določena konfiguracija.
To velja za senzor BME680, ki ga podpira element BME680.
Senzor PMS5003 je manj pogost in ga je treba aktivirati z vključitvijo elementa PMS v vdelano programsko opremo. To naredite tako, da v razdelku registra elementov skice določite #define HOMEDING_INCLUDE_PMS.
#define HOMEDING_INCLUDE_BME680#define HOMEDING_INCLUDE_PMS
Za poenostavitev pri dodajanju nove naprave v omrežje lahko dodate datoteko SSID in geslo za vašo domačo WiFi v datoteki secrets.h poleg datoteke s skico standard.ino. Lahko pa uporabite tudi vgrajen WiFi Manager, da napravo dodate v omrežje brez te strogo kodirane konfiguracije.
Zdaj je vse v zvezi z izvedbo skice končano, vdelano programsko opremo pa lahko sestavite in naložite.
4. korak: naložite spletni uporabniški vmesnik
Standardni primer vsebuje podatkovno mapo, ki vsebuje vse datoteke za spletni uporabniški vmesnik.
Preden naložite te datoteke, boste morda želeli dodati datoteki env.json in config.json, ki jih najdete v tem članku, ker bo to olajšalo stvari.
Vsebina teh datotek je tisto, zaradi česar je naprava IoT posebna in se obnaša kot senzor kakovosti zraka. Podrobno je opisano v tej zgodbi.
Uporabite pripomoček za nalaganje datotek ESP8266 in naložite vse datoteke. Za aktiviranje konfiguracije je potreben ponovni zagon.
5. korak: Dodajte senzor BME680
Senzor BME680 komunicira s ploščo prek vodila I2C.
Ker je to mogoče v skupni rabi z drugimi razširitvami, kot so drugi senzorji ali zasloni, je konfigurirano na ravni naprave v env.json skupaj z omrežnim imenom naprave. Tu je izvlečen vzorec nastavitev naprave in I2C:
"naprava": {
"0": {"name": "airding", "description": "Senzor kakovosti zraka",… "i2c-scl": "D2", "i2c-sda": "D1"}}
Na matični plošči lahko vidite priključne kable na senzor: 3,3 V = rdeča, GND = črna, SCL = rumena, SDA = modra
Konfiguracijo za BME680 lahko uporabite v config.json:
"bme680": {
"bd": {"address": "0x77", "readtime": "10s"}}
Dejanja bomo dodali kasneje.
Če želite preizkusiti nastavitev, uporabite brskalnik in odprite https://airding/board.htm, prikazane bodo dejanske vrednosti senzorja, ki se bodo posodabljale približno vsakih 10 sekund:
6. korak: Dodajte senzor PMS5003
Nisem dobil senzorja s prijaznim priključkom za ploščo, zato sem moral s spajkalnikom za neposredno pritrditev na ploščo nodemcu odrezati enega od priključkov na kablu. Še vedno ga lahko vidite na končnih slikah.
Napajanje tega senzorja je treba vzeti iz Vina, ki ga običajno napaja vodilo USB. GND je enak, vendar je na voljo tudi poleg pin Pin.
Podatki iz senzorja se prenašajo v standardni 9600 baud serijski obliki, zato je treba konfigurirati zatiče rx in tx ter čas branja:
"pms": {
"pm25": {"description": "pm25 senzor delcev", "pinrx": "D6", "pintx": "D5", "readtime": "10s"}}
Dejanja bomo dodali kasneje.
Če želite znova preizkusiti namestitev, znova zaženite napravo in uporabite brskalnik ter odprite https://airding/board.htm in videli boste dejansko vrednost PM35 prikazanega senzorja, ki se bo posodabljala približno vsakih 10 sekund, vendar je ta vrednost običajno se ne spreminja pogosto.
Večje vrednosti lahko dobite tako, da poleg senzorja postavite svečo, saj sveča proizvaja veliko teh delcev.
Zdaj lahko vse postavite v lepo ohišje, saj je vse ostale konfiguracije in celo posodobitve programske opreme mogoče opraviti na daljavo.
7. korak: Dodajanje nekaterih omrežnih funkcij
Spodnji izvleček konfiguracije v env.json omogoča
- brezžično posodabljanje vdelane programske opreme
- omogoča odkrivanje omrežja z uporabo omrežnega protokola SSDP in pridobiva trenutni čas s strežnika ntp.
{
… "Ota": {"0": {"port": 8266, "passwd": "123", "description": "Poslušajte posodobitve OTA" po zraku ""}}, "ssdp": {"0 ": {" Proizvajalec ":" vaše ime "}}," ntptime ": {" 0 ": {" čas branja ":" 36h "," cona ": 2}}}
Časovni pas morate prilagoditi svoji lokaciji. Če ste v dvomih, lahko uporabite odmik od UTC/GMT na spletnem mestu https://www.timeanddate.com/. "2" je primerno za poletje Nemčije.
Geslo ota lahko prilagodite tudi po branju navodil glede načina shranjevanja v dokumentaciji na naslovu
Po ponovnem zagonu boste morda našli napravo za zračenje v omrežju in po prejemu odgovora s strežnika ntp je na voljo lokalni čas.
8. korak: Dodajte nekaj beleženja
Dejanske vrednosti morda ne dajejo dovolj, zato je mogoče uporabiti še nekaj elementov.
Za to zgodbo se element Log in NPTTime Element uporabljata za beleženje zgodovine vrednosti senzorjev v datoteki dnevnika, kartica spletnega uporabniškega vmesnika za ta element pa ga lahko prikaže kot graf.
Naslednja konfiguracija ustvari dva dnevnika za plin in delce:
{
"log": {"pm": {"description": "Dnevnik pm25", "filename": "/pmlog.txt", "filesize": "10000"}, "aq": {"description": " Dnevnik kakovosti plina "," ime datoteke ":" /aqlog.txt "," velikost datoteke ":" 10000 "}}}
9. korak: Dejanja
Zdaj moramo z dejanji prenesti dejanske vrednosti v elemente dnevnika. Dejanja uporabljajo zapis URL -ja za posredovanje ključa in vrednosti ciljnemu elementu. Mnogi elementi podpirajo oddajanje dejanj ob določenih dogodkih, ki se zgodijo, na primer zajem nove vrednosti senzorja.
Dejanja so konfigurirana pri elementu, ki oddaja dejanja, potrebna sta 2 vnosa:
- Dogodek pms/p25 onvalue pošlje dejansko vrednost elementu log/pm z dejstvom vrednosti.
- Dogodek bme680/bd ongas pošlje dejansko vrednost elementu log/pm z dejstvom vrednosti.
{
"pms": {"pm25": {… "onvalue": "log/pm? value = $ v"}}, "bme680": {"bd": {… "ongas": "log/aq? value = $ v "}}}
Zdaj so vsi elementi konfigurirani.
10. korak: Slike in konfiguracijske datoteke
Tukaj je nekaj slik mojega zadnjega senzorja kakovosti zraka IoT.
Konfiguracijske datoteke za prenos je treba pred nalaganjem preimenovati v *.json (št. Txt).
Povezave in reference
- Repozitorij izvorne kode HomeDing:
- Dokumentacija:
- Standardni primer:
- BME680 Element:
- Element PMS:
- Element dnevnika:
- Element NtpTime:
Priporočena:
AEROBOT senzor kakovosti zraka V1.0: 6 korakov (s slikami)
AEROBOT senzor kakovosti zraka V1.0: Ta navodila govorijo o izdelavi poceni in zelo natančnega senzorja kakovosti zraka po imenu AEROBOT. Ta projekt prikazuje temperaturo, relativno vlažnost, gostoto prahu PM 2,5 in opozarja na kakovost zraka v okolici. Uporablja senzor DHT11
Senzor kakovosti zraka z uporabo Arduina: 4 koraki
Senzor kakovosti zraka z uporabo Arduina: V tem prispevku se bomo naučili, kako sestaviti preprost, a uporaben senzor kakovosti zraka. Senzor SGP30 bomo uporabljali skupaj s Piksey Pico, čeprav bo skica delovala s skoraj vsako ploščo, združljivo z Arduinom. Zgornji videoposnetek govori o
Senzor kakovosti zraka DIY + 3D natisnjena torbica: 6 korakov
Senzor kakovosti zraka DIY + 3D natisnjena torbica: ta priročnik vsebuje vse informacije, ki jih potrebujete za izdelavo zelo zmogljivega žepnega senzorja
AirPi - senzor kakovosti zraka: 8 korakov
AirPi - senzor kakovosti zraka: Ste se kdaj vprašali, zakaj vas boli glava? In če je to posledica slabe kakovosti zraka? S to napravo lahko preverite, ali je temu tako. Ta naprava meri vrednost CO2, vrednost TVOC, temperaturo in vlažnost. Vidite zrak q
Hladilnik / stojalo za prenosni računalnik brez stroškov (brez lepila, brez vrtanja, brez matic in vijakov, brez vijakov): 3 koraki
Hladilnik / stojalo za prenosni računalnik z nič stroški (brez lepila, brez vrtanja, brez matic in vijakov, brez vijakov): UPDATE: PROSIM VELIKO GLASAJ ZA MOJE NAVODILNO, HVALA ^ _ ^ MOGOČE STE ZDRAVILI VPISITE NA www.instructables.com/id/Zero-Cost-Aluminium-Furnace-No-Propane-No-Glue-/ ALI MOŽDA GLASUJTE ZA NAJBOLJŠEGA PRIJATELJA