Obsah:

Postavte si inhouse senzor kvality vzduchu IoT Bez cloudu: 10 kroků
Postavte si inhouse senzor kvality vzduchu IoT Bez cloudu: 10 kroků

Video: Postavte si inhouse senzor kvality vzduchu IoT Bez cloudu: 10 kroků

Video: Postavte si inhouse senzor kvality vzduchu IoT Bez cloudu: 10 kroků
Video: Sonoff Ihost - Центр управления умным домом без доступа к интернет с Zigbee и Matter 2024, Červen
Anonim
Postavte si inhouse IoT senzor kvality vzduchu Bez cloudu
Postavte si inhouse IoT senzor kvality vzduchu Bez cloudu
Postavte si inhouse IoT senzor kvality vzduchu Bez cloudu
Postavte si inhouse IoT senzor kvality vzduchu Bez cloudu
Postavte si inhouse IoT senzor kvality vzduchu Bez cloudu
Postavte si inhouse IoT senzor kvality vzduchu Bez cloudu
Postavte si inhouse IoT senzor kvality vzduchu Bez cloudu
Postavte si inhouse IoT senzor kvality vzduchu Bez cloudu

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

Připravte prostředí Arduino pro ESP8266
Připravte prostředí Arduino pro ESP8266
  1. Nainstalujte si nejnovější verzi Arduino IDE (aktuální verze 1.8.2).
  2. K instalaci podpory esp8266 použijte Správce desek. Podrobný návod naleznete zde:
  3. 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

Zahrnout požadované knihovny
Zahrnout 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

Přizpůsobte si standardní příklad skici
Přizpůsobte si standardní příklad 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

Přidejte snímač BME680
Přidejte snímač BME680
Přidejte snímač BME680
Přidejte snímač BME680
Přidejte snímač BME680
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

Přidejte senzor PMS5003
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

Akce
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

Obrázky a konfigurační soubory
Obrázky a konfigurační soubory
Obrázky a konfigurační soubory
Obrázky a konfigurační soubory
Obrázky a konfigurační soubory
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: