Obsah:

Postavte interný snímač kvality vzduchu IoT Nie je potrebný žiadny cloud: 10 krokov
Postavte interný snímač kvality vzduchu IoT Nie je potrebný žiadny cloud: 10 krokov

Video: Postavte interný snímač kvality vzduchu IoT Nie je potrebný žiadny cloud: 10 krokov

Video: Postavte interný snímač kvality vzduchu IoT Nie je potrebný žiadny cloud: 10 krokov
Video: CS50 2015 - Week 4 2024, Jún
Anonim
Postavte interný snímač kvality vzduchu IoT bez cloudu
Postavte interný snímač kvality vzduchu IoT bez cloudu
Postavte interný snímač kvality vzduchu IoT Nie je potrebný žiadny cloud
Postavte interný snímač kvality vzduchu IoT Nie je potrebný žiadny cloud
Postavte interný snímač kvality vzduchu IoT bez cloudu
Postavte interný snímač kvality vzduchu IoT bez cloudu
Postavte interný snímač kvality vzduchu IoT bez cloudu
Postavte interný snímač kvality vzduchu IoT bez cloudu

Kvalita vnútorného alebo vonkajšieho vzduchu závisí od mnohých zdrojov znečistenia a tiež od počasia.

Toto zariadenie zachytáva niektoré bežné a niektoré z najzaujímavejších parametrov pomocou 2 senzorových čipov.

  • Teplota
  • Vlhkosť
  • Tlak
  • Organický plyn
  • Mikročastice

Tu používané senzory sú BME680 na získavanie hodnôt teploty, vlhkosti, tlaku a organického plynu a PMS5003 na meranie hustoty mikročastíc.

Pomocou knižnice HomeDing je ľahké vytvoriť zariadenie, ktoré je pripojené iba k vašej domácej sieti a je k nemu prístup a ovládanie pomocou akéhokoľvek prehliadača v sieti. Dodáva sa s výberom prvkov, ktoré umožňujú používať najbežnejšie senzorové čipy, zariadenia a ďalšie služby.

Prináša tiež kompletné riešenie pre hosťovanie webovej strany vo vnútri zariadenia namiesto použitia cloudového riešenia na zobrazenie údajov zo senzorov a interakcie so zariadením.

Zásoby

Všetko, čo potrebujete na vybudovanie tohto projektu, je doska založená na ESP8266, ako je doska nodemcu, a sada senzorov na meranie kvality vzduchu. Knižnica HomeDing použitá v tomto projekte podporuje niektoré z bežných čipov snímačov teploty, vlhkosti, tlaku a kvality. Tu sa používa čip BMP680.

  • Zásuvka USB a kábel micro USB na napájanie.
  • 1 doska nodemcu s procesorom ESP8266.
  • 1 oddeľovacia doska snímača BME680.
  • 1 laserový snímač častíc vzduchu PM2,5 typu PMS5003

Senzor BME680 je možné ľahko vymeniť za snímač DHT22, pretože ich podporuje aj knižnica.

Krok 1: Pripravte prostredie Arduino pre ESP8266

Pripravte si prostredie Arduino pre ESP8266
Pripravte si prostredie Arduino pre ESP8266
  1. Nainštalujte najnovšiu verziu Arduino IDE (aktuálna verzia 1.8.2).
  2. Na nainštalovanie podpory esp8266 použite Správcu dosky. Podrobný návod nájdete tu:
  3. Nastavte možnosti dosky pre NodeMCU 1.0 s 1 MBytovým súborovým systémom SPIFFS, ako je znázornené na obrázku

Krok 2: Zahrňte požadované knižnice

Zahrňte požadované knižnice
Zahrňte požadované knižnice

Knižnica HomeDing sa spolieha na to, že senzory a displeje fungujú aj na niektorých bežných ďalších knižniciach.

Po inštalácii knižnice HomeDing sa zobrazí vyskakovacie okno s týmito požadovanými knižnicami, ktoré je možné nainštalovať automaticky, ako je znázornené na obrázku, a je ľahké ich všetky nainštalovať.

Niekedy (z neznámych dôvodov) inštalácia knižníc zlyhá, takže všetky požadované knižnice je potrebné nainštalovať manuálne.

Viac podrobností o požadovaných knižniciach nájdete na webovej stránke dokumentácie

Toto je zoznam aktuálnych požadovaných knižníc:

  • Adafruit NeoPixel
  • LiquidCrystal_PCF8574.h
  • Ovládač ESP8266 a ESP32 Oled pre displej SSD1306
  • RotaryEncoder
  • Knižnica snímačov DHT pre ESPx
  • OneWire

Laserový snímač častíc vzduchu PMS5003 komunikuje pomocou signálu sériovej linky 9600 baudov. Tento signál je zachytený pomocou knižnice SoftwareSerial, ktorá je súčasťou inštalácie nástrojov ESP8266. Uistite sa, že ako knižnicu nemáte nainštalovanú staršiu verziu.

Krok 3: Prispôsobte štandardnú ukážku náčrtu

Prispôsobte štandardnú ukážku náčrtu
Prispôsobte štandardnú ukážku náčrtu

Štandardný príklad už obsahuje niektoré z bežnejších senzorov ako prvky, takže bude potrebná iba určitá konfigurácia.

To platí pre snímač BME680, ktorý je podporovaný prvkom BME680.

Senzor PMS5003 je menej bežný a je potrebné ho aktivovať zahrnutím prvku PMS do firmvéru. To sa dosiahne definovaním #define HOMEDING_INCLUDE_PMS v sekcii registra prvkov skice

#define HOMEDING_INCLUDE_BME680#definovať HOMEDING_INCLUDE_PMS

Pre jednoduchosť pridania nového zariadenia do siete môžete pridať SSID a prístupovú frázu vášho domáceho WiFi do súboru sec.h vedľa súboru skici standard.ino. Vstavaný správca WiFi však môžete použiť aj na pridanie zariadenia do siete bez tejto pevne zakódovanej konfigurácie.

Teraz je všetko, čo sa týka implementácie náčrtu, hotové a firmvér je možné skompilovať a nahrať.

Krok 4: Nahrajte webové používateľské rozhranie

Štandardný príklad sa dodáva s dátovým priečinkom, ktorý obsahuje všetky súbory pre webové používateľské rozhranie.

Pred nahraním týchto súborov možno budete chcieť pridať súbor env.json a config.json, ktorý nájdete v tomto článku, pretože to všetko uľahčí.

Obsah týchto súborov je tým, čím je zariadenie IoT špeciálne a správa sa ako snímač kvality ovzdušia. V tomto príbehu je to podrobne popísané.

Použite nástroj na nahrávanie súborov ESP8266 a nahrajte všetky súbory. Na aktiváciu konfigurácie je potrebný reštart.

Krok 5: Pridajte snímač BME680

Pridajte snímač BME680
Pridajte snímač BME680
Pridajte snímač BME680
Pridajte snímač BME680
Pridajte snímač BME680
Pridajte snímač BME680

Senzor BME680 komunikuje s doskou pomocou zbernice I2C.

Pretože je to možné zdieľané s inými rozšíreniami, ako sú iné senzory alebo displeje, je nakonfigurovaný na úrovni zariadenia v súbore env.json spolu s názvom siete zariadenia. Tu je extrahovaná ukážka nastavení zariadenia a I2C:

"zariadenie": {

"0": {"name": "airding", "description": "Air Quality Sensor", … "i2c-scl": "D2", "i2c-sda": "D1"}}

Na breadboarde vidíte prepojovacie káble k senzoru: 3,3 V = červená, GND = čierna, SCL = žltá, SDA = modrá

Konfiguráciu pre BME680 je možné použiť v súbore config.json:

"bme680": {

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

Akcie pridáme neskôr.

Na otestovanie nastavenia stačí použiť prehliadač a otvoriť webovú stránku https://airding/board.htm. Uvidíte skutočné hodnoty senzora a budú sa aktualizovať každých 10 sekúnd:

Krok 6: Pridajte senzor PMS5003

Pridajte snímač PMS5003
Pridajte snímač PMS5003

Nedostal som snímač s konektorom šetrným k doske, takže som musel odrezať jeden z konektorov na kábli pomocou mojej spájkovačky, aby som ho priamo pripevnil k doske nodemcu. Stále to môžete vidieť na posledných obrázkoch.

Napájanie tohto senzora musí byť odoberané z Vin, ktorý je bežne napájaný zo zbernice USB. GND je rovnaký, ale je k dispozícii aj vedľa kolíka Vin.

Údaje zo senzora sa prenášajú v štandardnom sériovom formáte 9600 baudov, takže je potrebné nakonfigurovať piny rx a tx a čas čítania:

"pms": {

"pm25": {"description": "snímač častíc pm25", "pinrx": "D6", "pintx": "D5", "readtime": "10s"}}

Akcie pridáme neskôr.

Ak chcete nastavenie znova otestovať, reštartujte zariadenie a použite prehliadač, otvorte stránku https://airding/board.htm a uvidíte skutočnú hodnotu pm35 senzora, ktorá sa zobrazí, a budú aktualizované každých 10 sekúnd, ale táto hodnota je normálne nemení sa často.

Vyššie hodnoty môžete dosiahnuť umiestnením svetla sviečky vedľa senzora, pretože sviečka produkuje väčšinu týchto častíc.

Teraz môžete všetko uložiť do pekného krytu, pretože všetky ostatné konfigurácie a dokonca aj aktualizácie softvéru je možné vykonávať na diaľku.

Krok 7: Pridanie niektorých funkcií siete

Nasledujúci konfiguračný výpis v súbore env.json povoľuje

  • bezdrôtová aktualizácia firmvéru
  • umožňuje detekciu siete pomocou sieťového protokolu SSDP a získava aktuálny čas zo servera ntp.

{

… "ota": {"0": {"port": 8266, "passwd": "123", "description": "Počúvajte aktualizácie OTA" cez vzduch ""}}, "ssdp": {"0 ": {" Manufacturer ":" yourname "}}," ntptime ": {" 0 ": {" readtime ":" 36h "," zone ": 2}}}

Časové pásmo by ste mali prispôsobiť svojej polohe. Ak máte pochybnosti, môžete použiť webovú stránku https://www.timeanddate.com/ na získanie posunu od UTC/GMT. „2“je pre nemecký letný čas to pravé.

Heslo ota môžete tiež upraviť po prečítaní pokynov týkajúcich sa režimu ukladania v dokumentácii na

Po reštarte môžete nájsť vysielacie zariadenie v sieti a po prijatí odpovede zo servera ntp je k dispozícii miestny čas.

Krok 8: Pridanie niektorých protokolovaní

Skutočné hodnoty nemusia poskytovať dostatočné množstvo údajov, takže je možné použiť niekoľko ďalších prvkov.

V tomto príbehu sa prvok denníka a prvok NPTTime používajú na zaznamenávanie histórie hodnôt senzorov do súboru denníka a karta webového používateľského rozhrania pre tento prvok ho môže zobraziť ako graf.

Nasledujúca konfigurácia vytvára 2 logovacie prvky pre plyn a častice:

{

"log": {"pm": {"description": "Denník pm25", "názov súboru": "/pmlog.txt", "veľkosť súboru": "10000"}, "aq": {"popis": " Denník kvality plynu "," názov súboru ":" /aqlog.txt "," veľkosť súboru ":" 10 000 "}}}

Krok 9: Akcie

Akcie
Akcie

Teraz musíme pomocou príkazov preniesť skutočné hodnoty do prvkov denníka. Tieto akcie používajú notáciu adresy URL na odovzdanie hodnoty a kay cieľovému prvku. Mnoho prvkov podporuje vysielanie akcií pri určitých udalostiach, ktoré sa dejú, napríklad zachytenie novej hodnoty senzora.

Akcie sú nakonfigurované v prvku, ktorý vydáva akcie, sú potrebné 2 položky:

  • Udalosť pms/p25 onvalue odošle skutočnú hodnotu prvku log/pm pomocou akcie hodnoty.
  • Udalosť bme680/bd ongas odosiela skutočnú hodnotu prvku log/pm pomocou hodnotovej akcie.

{

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

Teraz sú všetky prvky nakonfigurované.

Krok 10: Obrázky a konfiguračné súbory

Obrázky a konfiguračné súbory
Obrázky a konfiguračné súbory
Obrázky a konfiguračné súbory
Obrázky a konfiguračné súbory
Obrázky a konfiguračné súbory
Obrázky a konfiguračné súbory

Tu je niekoľko obrázkov z môjho posledného senzora kvality vzduchu IoT.

Konfiguračné súbory na stiahnutie je potrebné pred odovzdaním premenovať na *.json (bez.txt).

Odkazy a referencie

  • Úložisko zdrojového kódu HomeDing:
  • Dokumentácia:
  • Štandardný príklad:
  • Element BME680:
  • Prvok PMS:
  • Prvok denníka:
  • Prvok NtpTime:

Odporúča: