Satura rādītājs:

Iebūvēts IoT gaisa kvalitātes sensors Bez mākoņa: 10 soļi
Iebūvēts IoT gaisa kvalitātes sensors Bez mākoņa: 10 soļi

Video: Iebūvēts IoT gaisa kvalitātes sensors Bez mākoņa: 10 soļi

Video: Iebūvēts IoT gaisa kvalitātes sensors Bez mākoņa: 10 soļi
Video: КИТАЙЦЫ, ЧТО ВЫ ТВОРИТЕ??? 35 СУПЕР ТОВАРОВ ДЛЯ АВТОМОБИЛЯ С ALIEXPRESS 2024, Jūnijs
Anonim
Izveidojiet iekšējo IoT gaisa kvalitātes sensoru, nav nepieciešams mākonis
Izveidojiet iekšējo IoT gaisa kvalitātes sensoru, nav nepieciešams mākonis
Izveidojiet iekšējo IoT gaisa kvalitātes sensoru, nav nepieciešams mākonis
Izveidojiet iekšējo IoT gaisa kvalitātes sensoru, nav nepieciešams mākonis
Izveidojiet iekšējo IoT gaisa kvalitātes sensoru, nav nepieciešams mākonis
Izveidojiet iekšējo IoT gaisa kvalitātes sensoru, nav nepieciešams mākonis
Izveidojiet iekšējo IoT gaisa kvalitātes sensoru, nav nepieciešams mākonis
Izveidojiet iekšējo IoT gaisa kvalitātes sensoru, nav nepieciešams mākonis

Iekštelpu vai āra gaisa kvalitāte ir atkarīga no daudziem piesārņojuma avotiem, kā arī no laika apstākļiem.

Šī ierīce uztver dažus izplatītākos un dažus interesantākos parametrus, izmantojot 2 sensoru mikroshēmas.

  • Temperatūra
  • Mitrums
  • Spiediens
  • Organiskā gāze
  • Mikrodaļiņas

Šeit izmantotie sensori ir BME680, lai iegūtu temperatūras, mitruma, spiediena un organisko gāzu vērtības, un PMS5003, lai iegūtu mikro daļiņu blīvumu.

Izmantojot HomeDing bibliotēku, ir viegli izveidot ierīci, kas ir savienota tikai ar jūsu mājas tīklu un kuru var sasniegt un kontrolēt ar jebkuru tīkla pārlūkprogrammu. Tam ir vairāki elementi, kas ļauj izmantot visizplatītākās sensoru mikroshēmas, ierīces un citus pakalpojumus.

Tas arī nodrošina pilnīgu risinājumu tīmekļa puses mitināšanai ierīces iekšpusē, nevis izmantojot uz mākoņiem balstītu risinājumu, lai parādītu sensora datus un mijiedarbotos ar ierīci.

Piegādes

Viss, kas jums nepieciešams, lai izveidotu šo projektu, ir uz ESP8266 balstīta tāfele, piemēram, nodemcu plate un sensoru komplekts gaisa kvalitātes mērīšanai. Šajā projektā izmantotā HomeDing bibliotēka atbalsta dažas no parastajām sensoru mikroshēmām attiecībā uz temperatūru, mitrumu, spiedienu un kvalitāti. Šeit tiek izmantota mikroshēma BMP680.

  • USB spraudnis un mikro-usb kabelis barošanai.
  • 1 nodemcu plate ar ESP8266 centrālo procesoru.
  • 1 BME680 sensora sadalīšanas panelis.
  • 1 PM2.5 gaisa daļiņu lāzera sensors PMS5003

BME680 sensoru ir viegli nomainīt pret DHT22 sensoru, jo arī daudzi citi to atbalsta bibliotēka.

1. darbība: sagatavojiet Arduino vidi ESP8266

Sagatavojiet Arduino vidi ESP8266
Sagatavojiet Arduino vidi ESP8266
  1. Instalējiet jaunāko Arduino IDE versiju (pašlaik versija 1.8.2).
  2. Izmantojiet Board Manager, lai instalētu esp8266 atbalsta instalēšanu. Detalizētu instrukciju var atrast šeit:
  3. Iestatiet tāfeles opcijas NodeMCU 1.0 ar 1 MB baitu SPIFFS failu sistēmu, kā parādīts ekrānuzņēmumā

2. darbība. Iekļaujiet nepieciešamās bibliotēkas

Iekļaut nepieciešamās bibliotēkas
Iekļaut nepieciešamās bibliotēkas

HomeDing bibliotēka izmanto dažas izplatītas papildu bibliotēkas, lai sensori un displeji darbotos.

Instalējot HomeDing bibliotēku, jūs redzēsit uznirstošo logu ar šīm nepieciešamajām bibliotēkām, kuras var automātiski instalēt, kā parādīts attēlā, un tās visas ir viegli instalēt.

Dažreiz (nezināmu iemeslu dēļ) bibliotēku instalēšana neizdodas, tāpēc visas nepieciešamās bibliotēkas jāinstalē manuāli.

Sīkāku informāciju par nepieciešamajām bibliotēkām var atrast dokumentācijas vietnē

Šis ir pašreiz nepieciešamo bibliotēku saraksts:

  • Adafruit NeoPixel
  • LiquidCrystal_PCF8574.h
  • ESP8266 un ESP32 Oled draiveris SSD1306 displejam
  • Rotācijas kodētājs
  • DHT sensoru bibliotēka ESPx
  • OneWire

PMS5003 gaisa daļiņu lāzera sensors sazinās, izmantojot 9600 bodu sērijas līnijas signālu. Šis signāls tiek uztverts, izmantojot SoftwareSerial bibliotēku, kas tiek piegādāta kopā ar ESP8266 rīku instalēšanu. Pārliecinieties, ka bibliotēkā nav instalēta vecāka versija.

3. darbība: pielāgojiet standarta parauga skici

Pielāgojiet standarta parauga skici
Pielāgojiet standarta parauga skici

Standarta piemērā jau ir iekļauti daži biežāk sastopamie sensori kā elementi, tāpēc būs nepieciešama tikai noteikta konfigurācija.

Tas attiecas uz BME680 sensoru, ko atbalsta BME680 elements.

PMS5003 sensors ir retāk sastopams, un tas ir jāaktivizē, iekļaujot PMS elementu programmaparatūrā. To var izdarīt, definējot #define HOMEDING_INCLUDE_PMS skices elementu reģistra sadaļā

#define HOMEDING_INCLUDE_BME680#definēt HOMEDING_INCLUDE_PMS

Lai vienkāršotu jaunas ierīces pievienošanu tīklam, varat pievienot mājas WiFi SSID un ieejas frāzi failā secrets.h blakus standarta.ino skices failam. Bet jūs varat arī izmantot iebūvēto WiFi pārvaldnieku, lai ierīci pievienotu tīklam bez šīs kodētās konfigurācijas.

Tagad viss, kas saistīts ar skices īstenošanu, ir pabeigts, un programmaparatūru var apkopot un augšupielādēt.

4. darbība: augšupielādējiet tīmekļa lietotāja saskarni

Standarta piemērā ir iekļauta datu mape, kurā ir visi tīmekļa lietotāja saskarnes faili.

Pirms šo failu augšupielādes, iespējams, vēlēsities pievienot šajā rakstā atrodamos failus env.json un config.json, jo tas atvieglos lietas.

Šo failu saturs padara IoT ierīci īpašu un darbojas kā gaisa kvalitātes sensors. Tas ir sīki izskaidrots šajā stāstā.

Izmantojiet failu augšupielādes utilītu ESP8266 un augšupielādējiet visus failus. Lai aktivizētu konfigurāciju, tā ir jāpārstartē.

5. darbība: pievienojiet BME680 sensoru

Pievienojiet BME680 sensoru
Pievienojiet BME680 sensoru
Pievienojiet BME680 sensoru
Pievienojiet BME680 sensoru
Pievienojiet BME680 sensoru
Pievienojiet BME680 sensoru

BME680 sensors sazinās ar plati, izmantojot I2C kopni.

Tā kā tas, iespējams, tiek koplietots ar citiem paplašinājumiem, piemēram, citiem sensoriem vai displejiem, tas ir konfigurēts ierīces līmenī vietnē env.json kopā ar ierīces tīkla nosaukumu. Šeit ir iegūts ierīces un I2C iestatījumu paraugs:

"ierīce": {

"0": {"name": "airding", "description": "Gaisa kvalitātes sensors",… "i2c-scl": "D2", "i2c-sda": "D1"}}

Uz maizes dēļa var redzēt savienojuma kabeļus ar sensoru: 3.3V = sarkans, GND = melns, SCL = dzeltens, SDA = zils

BME680 konfigurāciju var izmantot failā config.json:

"bme680": {

"bd": {"address": "0x77", "readtime": "10s"}}

Darbības pievienosim vēlāk.

Lai pārbaudītu iestatījumus, vienkārši izmantojiet pārlūkprogrammu un atveriet vietni https://airding/board.htm, un jūs redzēsit parādītās sensora faktiskās vērtības, un tās tiks atjauninātas aptuveni ik pēc 10 sekundēm:

6. darbība: pievienojiet sensoru PMS5003

Pievienojiet PMS5003 sensoru
Pievienojiet PMS5003 sensoru

Man nebija sensora ar maizei draudzīgu savienotāju, tāpēc man bija jāizgriež viens no kabeļa savienotājiem, izmantojot manu lodāmuru, lai to tieši piestiprinātu nodemcu plāksnei. Jūs to joprojām varat redzēt pēdējos attēlos.

Šī sensora jauda ir jāņem no Vin, kuru parasti baro USB kopne. GND ir tas pats, bet pieejams arī blakus Vin pin.

Dati no sensora tiek pārsūtīti standarta 9600 baudu sērijas formātā, tāpēc jākonfigurē rx un tx tapas un lasīšanas laiks:

"pms": {

"pm25": {"description": "pm25 daļiņu sensors", "pinrx": "D6", "pintx": "D5", "readtime": "10s"}}

Darbības pievienosim vēlāk.

Lai vēlreiz pārbaudītu iestatīšanu, vienkārši pārstartējiet ierīci un izmantojiet pārlūkprogrammu un atveriet vietni https://airding/board.htm, un jūs redzēsit parādīto sensora faktisko pm35 vērtību, un tie tiks atjaunināti apmēram ik pēc 10 sekundēm, taču šī vērtība parasti ir nemainās bieži.

Jūs varat iegūt augstākas vērtības, novietojot sveces gaismu blakus sensoram, jo svece rada lielu daļu šo daļiņu.

Tagad jūs varat ievietot visu jaukā korpusā, jo visas pārējās konfigurācijas un pat programmatūras atjauninājumus var veikt attālināti.

7. darbība: dažu tīkla funkciju pievienošana

Tiek iespējots šāds konfigurācijas izvilkums env.json

  • programmaparatūras atjaunināšana bezvadu režīmā
  • ļauj noteikt tīklu, izmantojot SSDP tīkla protokolu, un izgūst pašreizējo laiku no ntp servera.

{

… "Ota": {"0": {"ports": 8266, "passwd": "123", "description": "Klausieties" pa gaisu "OTA atjauninājumi"}}, "ssdp": {"0 ": {" Ražotājs ":" jūsu vārds "}}," ntptime ": {" 0 ": {" lasīšanas laiks ":" 36h "," zona ": 2}}}

Jums vajadzētu pielāgot laika joslu savai atrašanās vietai. Ja jums ir šaubas, varat izmantot vietni https://www.timeanddate.com/, lai iegūtu kompensāciju no UTC/GMT. "2" ir piemērots Vācijai vasarā.

Varat arī pielāgot ota paroli, izlasot instrukcijas par saglabāšanas režīmu dokumentācijā vietnē

Pēc restartēšanas jūs varat atrast putnu ierīci tīklā, un pēc atbildes saņemšanas no ntp servera ir pieejams vietējais laiks.

8. solis: dažas reģistrēšanas pievienošana

Tikai faktiskās vērtības var nebūt pietiekamas, tāpēc var izmantot vēl dažus elementus.

Šim stāstam žurnāla elements un NPTTime elements tiek izmantoti, lai reģistrētu sensora vērtību vēsturi žurnāla failā, un šī elementa tīmekļa lietotāja saskarne to var parādīt kā grafiku.

Šāda konfigurācija rada divus žurnāla elementus gāzei un daļiņām:

{

"log": {"pm": {"description": "PM25 žurnāls", "faila nosaukums": "/pmlog.txt", "fileize": "10000"}, "aq": {"description": " Gāzes kvalitātes žurnāls "," faila nosaukums ":" /aqlog.txt "," fileize ":" 10000 "}}

9. darbība. Darbības

Darbības
Darbības

Tagad mums ir jāpārsūta faktiskās vērtības žurnāla elementiem, izmantojot darbības. Darbībās tiek izmantots URL apzīmējums, lai mērķa elementam nodotu kay un vērtību. Daudzi elementi atbalsta izstarojošas darbības noteiktos notikumos, piemēram, jaunas sensora vērtības uztveršanu.

Darbības ir konfigurētas elementā, kas emitē darbības, ir nepieciešami 2 ieraksti:

  • Pms/p25 onvalue notikums nosūta faktisko vērtību log/pm elementam, izmantojot vērtības darbību.
  • Notikums bme680/bd ongas nosūta faktisko vērtību elementam log/pm, izmantojot vērtības darbību.

{

"pms": {"pm25": {… "onvalue": "log/pm? value = $ v"}}, "bme680": {"bd": {… "ongas": "log/aq? value = $ v "}}}

Tagad visi elementi ir konfigurēti.

10. darbība: attēli un konfigurācijas faili

Attēli un konfigurācijas faili
Attēli un konfigurācijas faili
Attēli un konfigurācijas faili
Attēli un konfigurācijas faili
Attēli un konfigurācijas faili
Attēli un konfigurācijas faili

Šeit ir mans pēdējā IoT gaisa kvalitātes sensora attēls.

Lejupielādes konfigurācijas faili pirms augšupielādes jāpārdēvē par *.json (Nr. Txt).

Saites un atsauces

  • HomeDing pirmkoda krātuve:
  • Dokumentācija:
  • Standarta piemērs:
  • BME680 elements:
  • PMS elements:
  • Žurnāla elements:
  • NtpTime elements:

Ieteicams: