Tartalomjegyzék:

Belső IoT levegőminőség -érzékelő felépítése Felhő nem szükséges: 10 lépés
Belső IoT levegőminőség -érzékelő felépítése Felhő nem szükséges: 10 lépés

Videó: Belső IoT levegőminőség -érzékelő felépítése Felhő nem szükséges: 10 lépés

Videó: Belső IoT levegőminőség -érzékelő felépítése Felhő nem szükséges: 10 lépés
Videó: Lakatos Péter: Minél betegebb valaki metabolikusan, annál nehezebb lesz a menopauza 2024, November
Anonim
Házon belüli IoT levegőminőség -érzékelő építése Felhő nem szükséges
Házon belüli IoT levegőminőség -érzékelő építése Felhő nem szükséges
Házon belüli IoT levegőminőség -érzékelő felépítése Nincs szükség felhőre
Házon belüli IoT levegőminőség -érzékelő felépítése Nincs szükség felhőre
Házon belüli IoT levegőminőség -érzékelő felépítése Nincs szükség felhőre
Házon belüli IoT levegőminőség -érzékelő felépítése Nincs szükség felhőre
Házon belüli IoT levegőminőség -érzékelő építése Felhő nem szükséges
Házon belüli IoT levegőminőség -érzékelő építése Felhő nem szükséges

A beltéri vagy kültéri levegő minősége számos szennyezőforrástól és az időjárástól is függ.

Ez az eszköz rögzíti néhány gyakori és néhány legérdekesebb paramétert 2 érzékelő chip használatával.

  • Hőfok
  • páratartalom
  • Nyomás
  • Szerves gáz
  • Mikrorészecskék

Az itt használt szenzorok a BME680 a hőmérséklet, páratartalom, nyomás és szerves gáz értékek leolvasására, a PMS5003 pedig a mikrorészecskék sűrűségének megállapítására.

A HomeDing könyvtár használatával könnyen létrehozhat olyan eszközt, amely csak az otthoni hálózathoz csatlakozik, és a hálózat bármely böngészőjével elérhető és irányítható. Számos elemet tartalmaz, amelyek lehetővé teszik a leggyakoribb érzékelő chipek, eszközök és egyéb szolgáltatások használatát.

Ezenkívül komplett megoldást kínál a weboldalnak az eszköz belsejében történő tárolására, ahelyett, hogy felhőalapú megoldást használna az érzékelőadatok megjelenítésére és az eszközzel való interakcióra.

Kellékek

A projekt felépítéséhez csak egy ESP8266 alapú tábla szükséges, mint például a nodemcu kártya és a levegőminőség mérésére szolgáló érzékelőkészlet. A projektben használt HomeDing könyvtár támogatja a hőmérséklet, a páratartalom, a nyomás és a minőség általános érzékelő chipjeit. Itt a BMP680 chipet használják.

  • USB csatlakozó és mikro-usb kábel a tápellátáshoz.
  • 1 nodemcu kártya ESP8266 CPU -val.
  • 1 BME680 szenzortörő kártya.
  • 1 PM2.5 PMS5003 típusú részecske lézeres érzékelő

Könnyű a BME680 érzékelőt DHT22 érzékelőre cserélni, mivel a könyvtár is támogatja őket sok más mellett.

Lépés: Készítse elő az Arduino környezetet az ESP8266 számára

Készítse elő az Arduino környezetet az ESP8266 számára
Készítse elő az Arduino környezetet az ESP8266 számára
  1. Telepítse az Arduino IDE legújabb verzióját (jelenleg az 1.8.2 verzió).
  2. A Board Manager segítségével telepítse az esp8266 támogatás telepítését. Részletes utasítás itt található:
  3. Állítsa be a tábla beállításait egy NodeMCU 1.0 verzióhoz 1 MByte SPIFFS fájlrendszerrel, a képernyőképen látható módon

2. lépés: Szükséges könyvtárak felvétele

Tartalmazza a kötelező könyvtárakat
Tartalmazza a kötelező könyvtárakat

A HomeDing könyvtár néhány általános könyvtárra támaszkodik az érzékelők és kijelzők működéséhez.

Amikor telepíti a HomeDing könyvtárat, megjelenik egy előugró ablak, amely tartalmazza ezeket a szükséges könyvtárakat, amelyek automatikusan telepíthetők a képen látható módon, és könnyen telepíthető.

Néha (ismeretlen okokból) a könyvtárak telepítése sikertelen, ezért minden szükséges könyvtárat manuálisan kell telepíteni.

A szükséges könyvtárakról további részletek a dokumentációs webhelyen találhatók:

Ez a jelenleg szükséges könyvtárak listája:

  • Adafruit NeoPixel
  • LiquidCrystal_PCF8574.h
  • ESP8266 és ESP32 Oled illesztőprogram SSD1306 kijelzőhöz
  • RotaryEncoder
  • DHT szenzortár az ESPx számára
  • OneWire

A PMS5003 légrészecske lézeres érzékelő 9600 baudos soros vonali jel segítségével kommunikál. Ezt a jelet az ESP8266 eszközök telepítéséhez mellékelt SoftwareSerial könyvtár használja. Ügyeljen arra, hogy ne legyen régebbi verzió telepítve könyvtárként.

3. lépés: A standard példa vázlat testreszabása

Testreszabhatja a standard példa vázlatot
Testreszabhatja a standard példa vázlatot

A standard példa már tartalmaz néhány elemet a leggyakoribb érzékelőkből, így csak bizonyos konfigurációra lesz szükség.

Ez vonatkozik a BME680 elem által támogatott BME680 érzékelőre.

A PMS5003 érzékelő kevésbé gyakori, és aktiválni kell a PMS elem beépítésével a firmware -be. Ezt úgy teheti meg, hogy a vázlat elemregiszter szakaszában definiálja a #define HOMEDING_INCLUDE_PMS

#define HOMEDING_INCLUDE_BME680#define HOMEDING_INCLUDE_PMS

Az új eszköz hálózathoz való hozzáadásának egyszerűsége érdekében hozzáadhatja otthoni WiFi -jének SSID -jét és jelszavát a secret.h fájlban a standard.ino vázlatfájl mellett. De a beépített WiFi Manager használatával is hozzáadhatja az eszközt a hálózathoz e kódolt konfiguráció nélkül.

Most minden elkészült a vázlat megvalósításával kapcsolatban, és a firmware összeállítható és feltölthető.

4. lépés: Töltse fel a webes felhasználói felületet

A szabványos példa egy adatmappát tartalmaz, amely tartalmazza a webes felhasználói felület összes fájlját.

Mielőtt feltölti ezeket a fájlokat, érdemes hozzáadni a cikkben található env.json és config.json fájlokat, mert ez megkönnyíti a dolgokat.

Ezeknek a fájloknak a tartalma az IoT eszközt teszi különlegessé és légminőség -érzékelőként viselkedik. Ebben a történetben részletesen kifejtik.

Használja az ESP8266 fájlfeltöltő segédprogramot, és töltse fel az összes fájlt. A konfiguráció aktiválásához újra kell indítani.

5. lépés: Adja hozzá a BME680 érzékelőt

Adja hozzá a BME680 érzékelőt
Adja hozzá a BME680 érzékelőt
Adja hozzá a BME680 érzékelőt
Adja hozzá a BME680 érzékelőt
Adja hozzá a BME680 érzékelőt
Adja hozzá a BME680 érzékelőt

A BME680 érzékelő az I2C busz segítségével kommunikál a táblával.

Mivel ez más kiterjesztésekkel is megosztható, mint például más érzékelők vagy kijelzők, az eszköz szintjén van beállítva az env.json fájlban az eszköz hálózati nevével együtt. Íme egy kivonat az eszközről és az I2C beállításokról:

"eszköz": {

"0": {"name": "airding", "description": "Levegőminőség-érzékelő",… "i2c-scl": "D2", "i2c-sda": "D1"}}

A kenyértáblán láthatók az érzékelőhöz csatlakoztatott kábelek: 3.3V = piros, GND = fekete, SCL = sárga, SDA = kék

A BME680 konfigurációja használható a config.json fájlban:

"bme680": {

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

A műveleteket később hozzáadjuk.

A beállítás teszteléséhez használjon böngészőt, és nyissa meg a https://airding/board.htm oldalt, és látni fogja az érzékelő tényleges értékeit, és körülbelül 10 másodpercenként frissülnek:

6. lépés: Adja hozzá a PMS5003 érzékelőt

Adja hozzá a PMS5003 érzékelőt
Adja hozzá a PMS5003 érzékelőt

Nem kaptam érzékelőt kenyérpirítóbarát csatlakozóval, így a kábel egyik csatlakozóját le kellett vágnom a forrasztópáka segítségével, hogy közvetlenül a nodemcu táblához rögzítsem. A végső képeken továbbra is látható.

Ennek az érzékelőnek a tápellátását a Vin -ből kell venni, amelyet általában az USB -busz táplál. A GND ugyanaz, de a Vin csap mellett is elérhető.

Az érzékelő adatait szabványos 9600 baudos soros formátumban továbbítják, így az rx és tx érintkezőket és az olvasási időt konfigurálni kell:

"pms": {

"pm25": {"description": "pm25 részecskeérzékelő", "pinrx": "D6", "pintx": "D5", "readtime": "10s"}}

A műveleteket később hozzáadjuk.

A beállítás újbóli teszteléséhez indítsa újra az eszközt, és böngésző segítségével nyissa meg a https://airding/board.htm oldalt, és látni fogja az érzékelő tényleges pm35 értékét, és körülbelül 10 másodpercenként frissül, de ez az érték általában nem gyakran változik.

Magasabb értékeket kaphat, ha gyertyafényt helyez az érzékelő mellé, mivel a gyertya ezekből a részecskékből sokat termel.

Most mindent egy szép házba helyezhet, mert az összes többi konfiguráció és akár a szoftverfrissítés távolról is elvégezhető.

7. lépés: Néhány hálózati szolgáltatás hozzáadása

Az env.json következő konfigurációs kivonata engedélyezhető

  • a firmware frissítése a levegőben
  • lehetővé teszi a hálózat észlelését az SSDP hálózati protokoll használatával, és lekéri az aktuális időt egy ntp szerverről.

{

… "Ota": {"0": {"port": 8266, "passwd": "123", "description": "Hallgassa meg a" over the air "OTA frissítéseket"}}, "ssdp": {"0 ": {" Gyártó ":" az Ön neve "}}," ntptime ": {" 0 ": {" readtime ":" 36h "," zone ": 2}}}

Az időzónát a helyéhez kell igazítania. Ha kétségei vannak, használhatja a https://www.timeanddate.com/ webhelyet, hogy lekérje az UTC/GMT időtartamot. A "2" a nyári időszakra vonatkozik.

Az ota jelszavát módosíthatja, miután elolvasta a mentési módra vonatkozó utasításokat a https://homeding.github.io/index.htm#page=/savemo… dokumentációban.

Az újraindítás után előfordulhat, hogy megtalálja az airding eszközt a hálózaton, és miután megkapta a választ az ntp szervertől, rendelkezésre áll a helyi idő.

8. lépés: Naplózás hozzáadása

Lehet, hogy csak a tényleges értékek nem adnak eleget, így néhány további elem is használható.

Ennél a történetnél a Log elem és az NPTTime Element arra szolgál, hogy naplófájlba rögzítse az érzékelőértékek előzményeit, és az elemhez tartozó webes felhasználói felület kártya megjelenítheti azt grafikonként.

A következő konfiguráció létrehozza a 2 naplóelemet a gáz és a részecskék számára:

{

"log": {"pm": {"description": "PM25 naplója", "fájlnév": "/pmlog.txt", "fileize": "10000"}, "aq": {"description": " Gázminőség naplója "," fájlnév ":" /aqlog.txt "," fájlméret ":" 10000 "}}

9. lépés: Műveletek

Műveletek
Műveletek

Most a tényleges értékeket műveletek segítségével kell átvinni a naplóelemekbe. A műveletek URL -jelölést használnak egy kay és érték átadására a célelemnek. Sok elem támogatja a kibocsátási műveleteket bizonyos eseményeken, például új érzékelőérték rögzítésénél.

A műveletek a műveleteket kibocsátó elemnél vannak konfigurálva, 2 bejegyzés szükséges:

  • A pms/p25 onvalue esemény értékművelet segítségével elküldi a tényleges értéket a log/pm elemnek.
  • A bme680/bd ongas esemény egy értékművelet segítségével elküldi a tényleges értéket a log/pm elemnek.

{

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

Most minden elem konfigurálva van.

10. lépés: Képek és konfigurációs fájlok

Képek és konfigurációs fájlok
Képek és konfigurációs fájlok
Képek és konfigurációs fájlok
Képek és konfigurációs fájlok
Képek és konfigurációs fájlok
Képek és konfigurációs fájlok

Íme néhány kép az utolsó IoT levegőminőség -érzékelőmről.

A letöltendő konfigurációs fájlokat a feltöltés előtt át kell nevezni *.json -ra (no.txt).

Hivatkozások és hivatkozások

  • HomeDing forráskódtár:
  • Dokumentáció:
  • Standard példa:
  • BME680 elem:
  • PMS elem:
  • Naplóelem:
  • NtpTime Element:

Ajánlott: