Obsah:
- Zásoby
- Krok 1: Připravte prostředí Arduino pro ESP8266
- Krok 2: Zahrňte požadované knihovny
- Krok 3: Přizpůsobení standardní ukázkové skici
- Krok 4: Nahrajte webové uživatelské rozhraní
- Krok 5: Přidejte snímač BME680
- Krok 6: Přidejte senzor PMS5003
- Krok 7: Přidání některých síťových funkcí
- Krok 8: Přidání logování
- Krok 9: Akce
- Krok 10: Obrázky a konfigurační soubory
Video: Postavte si inhouse senzor kvality vzduchu IoT Bez cloudu: 10 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
Kvalita vnitřního nebo venkovního vzduchu závisí na mnoha zdrojích znečištění a také na počasí.
Toto zařízení zachycuje některé běžné a některé z nejzajímavějších parametrů pomocí 2 senzorových čipů.
- Teplota
- Vlhkost vzduchu
- Tlak
- Organický plyn
- Mikročástice
Zde používané senzory jsou BME680 pro získávání hodnot teploty, vlhkosti, tlaku a organického plynu a PMS5003 pro získání hustoty mikročástic.
Pomocí knihovny HomeDing je snadné vytvořit zařízení, které je připojeno pouze k vaší domácí síti a je k němu přístup a ovládání pomocí jakéhokoli prohlížeče v síti. Dodává se s výběrem prvků, které umožňují používání nejběžnějších senzorových čipů, zařízení a dalších služeb.
Přináší také kompletní řešení pro hostování webové stránky uvnitř zařízení namísto použití cloudového řešení pro zobrazení dat senzorů a interakci se zařízením.
Zásoby
Vše, co potřebujete k vybudování tohoto projektu, je deska založená na ESP8266, jako je deska nodemcu a sada senzorů pro měření kvality vzduchu. Knihovna HomeDing použitá v tomto projektu podporuje některé z běžných senzorových čipů pro teplotu, vlhkost, tlak a kvalitu. Zde je použit čip BMP680.
- USB konektor a mikro USB kabel pro napájení.
- 1 deska nodemcu s CPU ESP8266.
- 1 rozpojovací deska snímače BME680.
- 1 PM2,5 laserový senzor částic PMS5003
Vyměnit snímač BME680 za snímač DHT22 je snadné, protože je knihovna podporuje také mezi mnoha dalšími.
Krok 1: Připravte prostředí Arduino pro ESP8266
- Nainstalujte si nejnovější verzi Arduino IDE (aktuální verze 1.8.2).
- K instalaci podpory esp8266 použijte Správce desek. Podrobný návod naleznete zde:
- Nastavte možnosti desky pro NodeMCU 1.0 s 1 MByte SPIFFS File System, jak ukazuje obrázek
Krok 2: Zahrňte požadované knihovny
Knihovna HomeDing se spoléhá na některé běžné další knihovny pro fungování senzorů a displejů.
Když nainstalujete knihovnu HomeDing, zobrazí se vyskakovací okno s těmito požadovanými knihovnami, které lze nainstalovat automaticky, jak je znázorněno na obrázku, a je snadné je všechny nainstalovat.
Někdy (z neznámých důvodů) instalace knihoven selže, takže všechny požadované knihovny je třeba nainstalovat ručně.
Další podrobnosti o požadovaných knihovnách naleznete na webu dokumentace na adrese
Toto je seznam aktuálně požadovaných knihoven:
- Adafruit NeoPixel
- LiquidCrystal_PCF8574.h
- Ovladač ESP8266 a ESP32 Oled pro displej SSD1306
- RotaryEncoder
- Knihovna snímačů DHT pro ESPx
- OneWire
Laserový senzor částic vzduchu PMS5003 komunikuje pomocí signálu sériové linky 9600 baudů. Tento signál je zachycen pomocí knihovny SoftwareSerial, která je součástí instalace nástrojů ESP8266. Ujistěte se, že nemáte nainstalovanou starší verzi jako knihovnu.
Krok 3: Přizpůsobení standardní ukázkové skici
Standardní příklad již obsahuje některé běžnější senzory jako prvky, takže bude vyžadována pouze určitá konfigurace.
To platí pro snímač BME680, který je podporován prvkem BME680.
Senzor PMS5003 je méně obvyklý a je třeba jej aktivovat vložením prvku PMS do firmwaru. To se provádí definováním #define HOMEDING_INCLUDE_PMS v sekci registru prvků skici
#define HOMEDING_INCLUDE_BME680#definovat HOMEDING_INCLUDE_PMS
Pro zjednodušení přidávání nového zařízení do sítě můžete přidat SSID a přístupové fráze vašeho domácího WiFi do souboru secrets.h vedle souboru skici standard.ino. Můžete však také použít vestavěný WiFi Manager pro přidání zařízení do sítě bez této pevně kódované konfigurace.
Nyní je vše ohledně implementace náčrtu hotové a firmware lze zkompilovat a nahrát.
Krok 4: Nahrajte webové uživatelské rozhraní
Standardní příklad je dodáván s datovou složkou, která obsahuje všechny soubory pro webové uživatelské rozhraní.
Než nahrajete tyto soubory, možná budete chtít přidat soubor env.json a config.json, který najdete v tomto článku, protože to věci usnadní.
Obsah těchto souborů je tím, čím je zařízení IoT speciální a chová se jako senzor kvality ovzduší. V tomto příběhu je to podrobně vysvětleno.
Použijte nástroj pro nahrávání souborů ESP8266 a nahrajte všechny soubory. K aktivaci konfigurace je třeba restartovat počítač.
Krok 5: Přidejte snímač BME680
Senzor BME680 komunikuje s deskou pomocí sběrnice I2C.
Jelikož je to případně sdíleno s jinými rozšířeními, jako jsou ostatní senzory nebo displeje, je konfigurováno na úrovni zařízení v souboru env.json společně se síťovým názvem zařízení. Zde je extrahovaná ukázka nastavení zařízení a I2C:
"přístroj": {
"0": {"name": "airding", "description": "Air Quality Sensor", … "i2c-scl": "D2", "i2c-sda": "D1"}}
Na prkénku vidíte připojovací kabely k senzoru: 3,3 V = červená, GND = černá, SCL = žlutá, SDA = modrá
Konfiguraci pro BME680 lze použít v souboru config.json:
"bme680": {
"bd": {"adresa": "0x77", "readtime": "10s"}}
Akce přidáme později.
Chcete -li otestovat nastavení, použijte prohlížeč a otevřete https://airding/board.htm a uvidíte skutečné hodnoty senzoru a budou aktualizovány každých 10 sekund:
Krok 6: Přidejte senzor PMS5003
Nedostal jsem senzor s konektorem šetrným k prkénku, takže jsem musel odříznout jeden z konektorů na kabelu pomocí mé páječky, abych jej přímo připojil k desce nodemcu. Stále to můžete vidět na závěrečných obrázcích.
Napájení tohoto snímače musí být odebíráno z Vin, který je normálně napájen ze sběrnice USB. GND je stejný, ale také dostupný vedle Vin pin.
Data ze senzoru jsou přenášena ve standardním sériovém formátu 9600 baudů, takže je třeba nakonfigurovat piny rx a tx a dobu čtení:
"pms": {
"pm25": {"description": "snímač částic pm25", "pinrx": "D6", "pintx": "D5", "readtime": "10s"}}
Akce přidáme později.
Chcete -li nastavení znovu vyzkoušet, restartujte zařízení a použijte prohlížeč, otevřete https://airding/board.htm a uvidíte skutečnou hodnotu pm35 senzoru a budou aktualizovány každých 10 sekund, ale tato hodnota je normálně nemění často.
Vyšší hodnoty můžete získat umístěním světla svíčky vedle senzoru, protože svíčka produkuje velkou část těchto částic.
Nyní můžete vše dát do pěkného bydlení, protože všechny ostatní konfigurace a dokonce i aktualizace softwaru lze provádět na dálku.
Krok 7: Přidání některých síťových funkcí
Následující výpis konfigurace v souboru env.json umožňuje
- aktualizace firmwaru bezdrátově
- umožňuje detekovat síť pomocí síťového protokolu SSDP a načítá aktuální čas ze serveru ntp.
{
… "Ota": {"0": {"port": 8266, "passwd": "123", "description": "Poslechněte si" OTA "aktualizace OTA"}}, "ssdp": {"0 ": {" Manufacturer ":" yourname "}}," ntptime ": {" 0 ": {" readtime ":" 36h "," zone ": 2}}}
Časové pásmo byste měli přizpůsobit své poloze. Pokud máte pochybnosti, můžete použít web https://www.timeanddate.com/ k získání kompenzace od UTC/GMT. „2“je pro léto v Německu to pravé.
Heslo ota můžete také upravit po přečtení pokynů týkajících se režimu ukládání v dokumentaci na adrese
Po restartu můžete najít vysílací zařízení v síti a po obdržení odpovědi ze serveru ntp je k dispozici místní čas.
Krok 8: Přidání logování
Jen skutečné hodnoty nemusí dávat dost, takže lze použít několik dalších prvků.
Pro tento příběh se prvek Log a prvek NPTTime používají k záznamu historie hodnot senzorů do souboru protokolu a karta webového uživatelského rozhraní pro tento prvek jej může zobrazit jako graf.
Následující konfigurace vytvoří 2 logovací prvky pro plyn a částice:
{
"log": {"pm": {"description": "Protokol pm25", "název_souboru": "/pmlog.txt", "velikost souboru": "10000"}, "aq": {"description": " Protokol kvality plynu "," název souboru ":" /aqlog.txt "," velikost souboru ":" 10 000 "}}}
Krok 9: Akce
Nyní musíme přenášet skutečné hodnoty do prvků protokolu pomocí akcí. Akce používají zápis adresy URL k předání hodnoty a hodnoty cílovému prvku. Mnoho prvků podporuje vyzařování akcí na určité události, které se dějí, jako je zachycení nové hodnoty senzoru.
Akce jsou konfigurovány u prvku, který vydává akce Jsou vyžadovány 2 položky:
- Událost pms/p25 onvalue odesílá skutečnou hodnotu do prvku log/pm pomocí hodnotové akce.
- Událost bme680/bd ongas odesílá skutečnou hodnotu do prvku log/pm pomocí hodnotové akce.
{
"pms": {"pm25": {… "onvalue": "log/pm? value = $ v"}}, "bme680": {"bd": {… "ongas": "log/aq? value = $ v "}}}
Nyní jsou všechny prvky nakonfigurovány.
Krok 10: Obrázky a konfigurační soubory
Zde je nějaký obrázek mého finálního senzoru kvality vzduchu IoT.
Konfigurační soubory ke stažení je třeba před nahráním přejmenovat na *.json (bez.txt).
Odkazy a reference
- Úložiště zdrojového kódu HomeDing:
- Dokumentace:
- Standardní příklad:
- Prvek BME680:
- Prvek PMS:
- Prvek protokolu:
- Prvek NtpTime:
Doporučuje:
Měřič kvality vzduchu v interiéru: 5 kroků (s obrázky)
Měřič kvality vzduchu v interiéru: Jednoduchý projekt ke kontrole kvality vzduchu ve vašem domě. Protože v poslední době často zůstáváme/pracujeme z domova, bylo by dobré sledovat kvalitu vzduchu a připomenout si, kdy je čas otevřít okno a nadýchat se čerstvého vzduchu
Senzor kvality vzduchu AEROBOT V1.0: 6 kroků (s obrázky)
Senzor kvality vzduchu AEROBOT V1.0: Tento návod k použití je o výrobě levného a vysoce přesného senzoru kvality vzduchu s názvem AEROBOT. Tento projekt ukazuje teplotu, relativní vlhkost, hustotu prachu PM 2,5 a upozornění na kvalitu vzduchu v okolí. Používá senzor DHT11
Senzor kvality vzduchu pomocí Arduina: 4 kroky
Senzor kvality vzduchu pomocí Arduina: V tomto příspěvku se naučíme, jak vytvořit jednoduchý, ale užitečný snímač kvality vzduchu. Spolu s Piksey Pico použijeme snímač SGP30, ačkoli skica bude fungovat téměř s jakoukoli deskou kompatibilní s Arduino. Výše uvedené video vás provede
Airduino: Mobilní monitor kvality vzduchu: 5 kroků
Airduino: Mobile Air Quality Monitor: Vítejte v mém projektu, Airduino. Jmenuji se Robbe Breens. Studuji multimediální a komunikační technologie na Howest v Kortrijku v Belgii. Na konci druhého semestru musíme vyrobit zařízení IoT, což je skvělý způsob, jak přinést všechny
AirPi - senzor kvality vzduchu: 8 kroků
AirPi - senzor kvality vzduchu: Přemýšleli jste někdy nad tím, proč vás bolí hlava? A pokud je to kvůli špatné kvalitě ovzduší? Pomocí tohoto zařízení můžete zkontrolovat, zda tomu tak je. Toto zařízení měří hodnotu CO2, hodnotu TVOC, teplotu a vlhkost. Můžete vidět vzduch q