Sisukord:

Sisseehitatud IoT õhukvaliteedi anduri ehitamine Pilve pole vaja: 10 sammu
Sisseehitatud IoT õhukvaliteedi anduri ehitamine Pilve pole vaja: 10 sammu

Video: Sisseehitatud IoT õhukvaliteedi anduri ehitamine Pilve pole vaja: 10 sammu

Video: Sisseehitatud IoT õhukvaliteedi anduri ehitamine Pilve pole vaja: 10 sammu
Video: Как Сделать Идеальный Туалет, Ошибки и Советы Часть 1 🔴 Дизайн Интерьера 2024, Juuni
Anonim
Sisseehitatud IoT õhukvaliteedi anduri ehitamine ei vaja pilve
Sisseehitatud IoT õhukvaliteedi anduri ehitamine ei vaja pilve
Sisseehitatud IoT õhukvaliteedi anduri ehitamine ei vaja pilve
Sisseehitatud IoT õhukvaliteedi anduri ehitamine ei vaja pilve
Sisseehitatud IoT õhukvaliteedi anduri ehitamine ei vaja pilve
Sisseehitatud IoT õhukvaliteedi anduri ehitamine ei vaja pilve
Sisseehitatud IoT õhukvaliteedi anduri ehitamine ei vaja pilve
Sisseehitatud IoT õhukvaliteedi anduri ehitamine ei vaja pilve

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

Valmistage Arduino keskkond ESP8266 jaoks ette
Valmistage Arduino keskkond ESP8266 jaoks ette
  1. Installige Arduino IDE uusim versioon (praegu versioon 1.8.2).
  2. Esp8266 toe installimiseks kasutage Board Manageri. Üksikasjalikud juhised leiate siit:
  3. Seadistage tahvlivalikud NodeMCU 1.0 jaoks 1MByte SPIFFS failisüsteemiga, nagu on näidatud ekraanipildil

2. samm: kaasake nõutavad teegid

Kaasa nõutavad raamatukogud
Kaasa nõutavad raamatukogud

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

Kohandage tavalist näidisjoonist
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

Lisage BME680 andur
Lisage BME680 andur
Lisage BME680 andur
Lisage BME680 andur
Lisage BME680 andur
Lisage BME680 andur

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

Lisage andur PMS5003
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

Toimingud
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

Pildid ja konfiguratsioonifailid
Pildid ja konfiguratsioonifailid
Pildid ja konfiguratsioonifailid
Pildid ja konfiguratsioonifailid
Pildid ja konfiguratsioonifailid
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: