Tartalomjegyzék:
- Kellékek
- Lépés: Készítse elő az Arduino környezetet az ESP8266 számára
- 2. lépés: Szükséges könyvtárak felvétele
- 3. lépés: A standard példa vázlat testreszabása
- 4. lépés: Töltse fel a webes felhasználói felületet
- 5. lépés: Adja hozzá a BME680 érzékelőt
- 6. lépés: Adja hozzá a PMS5003 érzékelőt
- 7. lépés: Néhány hálózati szolgáltatás hozzáadása
- 8. lépés: Naplózás hozzáadása
- 9. lépés: Műveletek
- 10. lépés: Képek és konfigurációs fájlok
Videó: Belső IoT levegőminőség -érzékelő felépítése Felhő nem szükséges: 10 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
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
- Telepítse az Arduino IDE legújabb verzióját (jelenleg az 1.8.2 verzió).
- 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ó:
- Á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
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
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
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
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
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
Í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:
Chrome webbővítmény - Előzetes kódolási tapasztalat nem szükséges: 6 lépés
Chrome webbővítmény - nincs szükség előzetes kódolási tapasztalatra: A Chrome -bővítmények kis programok, amelyek célja a felhasználók böngészési élményének javítása. A Chrome -bővítményekkel kapcsolatos további információkért látogasson el a https://developer.chrome.com/extensions weboldalra. A Chrome Internetes bővítmény létrehozásához kódolás szükséges, ezért nagyon hasznos áttekinteni a HT
Cirkádiánbarát LED asztali lámpa (programozás nem szükséges!): 7 lépés (képekkel)
Cirkadiánbarát LED asztali lámpa (nem igényel programozást!): Ezt a lámpát cirkadián ritmusbarátnak terveztem. Éjszaka könnyebb az alvás, mert csak a meleg színű LED -ek kapcsolhatnak be. Napközben ébren tarthat, mert a hideg-fehér és a meleg színű LED-ek is bekapcsolhatnak a
Wifi PPM (alkalmazás nem szükséges): 4 lépés (képekkel)
Wifi PPM (nincs szükség alkalmazásra): Szerettem volna vezérelni a saját DIY micro beltéri quadrocopteremet az okos telefonommal, de nem találtam erre jó megoldást. Volt néhány ESP8266 wifi modulom, ezért úgy döntöttem, hogy elkészítem a sajátomat. A program elindít egy wifi hozzáférési pontot HTML -szel
YABC - Még egy Blynk vezérlő - IoT felhő hőmérséklet- és páratartalom -szabályozó, ESP8266: 4 lépés
YABC - Még egy Blynk vezérlő - IoT felhőhőmérséklet- és páratartalom -szabályozó, ESP8266: Sziasztok, nemrég kezdtem el otthon gombát termeszteni, osztriga gombát, de ebből a vezérlőből már 3 -szor van itthon a fermentoros hőmérséklet -szabályozáshoz az otthoni sörfőzéshez, feleségem most is ezt a Kombucha -dolgot csinálja, és hőfokszabályozóként
Robot Gong: Végső Hackaton projektötlet értékesítési és termékszakértők számára (kódolás nem szükséges): 17 lépés (képekkel)
Robot Gong: Végső Hackaton projektötlet értékesítési és termékszakértők számára (nincs szükség kódolásra): Építsünk fel egy robotikus zenei gongot, amelyet e -mail vált ki. Ez lehetővé teszi az automatikus e -mail figyelmeztetések beállítását a gongok kilövésére … (SalesForce, Trello, Basecamp segítségével …) A csapat soha többé nem felejti el a " GONGGG " amikor új kód jelenik meg, dea