Domácí monitorovací stanice – 4 – NodeMCU

0

Propojení vývojové desky NodeMCU se senzorem plynů MQ-135 a čidlem na sledování teploty a vlhkosti SI7021 s následným odesláním dat pomocí MQTT do NAS Synology.

 

Obsah  seriálu:

  1. Úvod
  2. Základní pojmy a jak to funguje
  3. Programování ESP8266 – první čidlo
  4. Programování NodeMCU – druhé čidlo
  5. Raspberry Pi a Telegraf
  6. Nastavení NAS
  7. Výstupy na Grafanu
  8. Závěr

 

NODEMCU je malá vývojová deska vybavená Wifi s ESP-12 modulem. Je vybavena USB-mini zdířkou, takže zapojení nabíječky z mobilu není problém. Je ve dvou variantách – s komunikačním můstkem UART na USB CH340 nebo s CP2102. Svými rozměry se hodí pro nepájivé pole. Alternativy pro NodeMCU jsou třeba Arduino Uno, Arduino Nano nebo Wemos D1 mini .

Rozložení pinů u NODEMCU
Rozložení pinů u NODEMCU
NODEMCU
NODEMCU

 

 

K NodeMCU mám v současné době připojeno čidlo MQ-135  a SI7021. Čidlo MQ-135 je senzor – detektor plynů ( CO2, Alkohol, Benzen, Amoniak, oxidy dusíku a kouř ) a SI7021 je senzor podobný BME280, snímá teplotu a vlhkost .

Můžete samozřejmě použít i jiné senzory, teď testuji BH1750, což je senzor intenzity světelného záření . Je to přesný 16 bitový modul pro měření intenzity světla v jednotkách luxů, osazený obvodem BH1750FVI a umožňuje měřit intenzitu v rozsahu 1 – 65535 lx. Přenos dat je I2C sběrnicí kompatibilní s 5V technologií. Alternativou k tomuto čidlu je třeba senzor TSL2591, ale o tom až někdy jindy.

Naprogramování kódu v Arduino IDE je stejné jako u ESP8266 . Budete potřebovat knihovnu pro  SI7021  nebo BH1750 a MQ-135 . Knihoven je spousta, můžete použít i jinou, třeba z GitHubu.

A nyní kód , opět s odesíláním pomocí MQTT :

 

Pokud chcete u NodeMCU používat mód hlubokého spánku, tzv. deep sleep, je nutné propojit piny RST a GPIO16 (značen D0) , buď napřímo nebo někde uvádějí spojit piny odporem o hodnotách cca 330 ohmů .

Připojení čidla MQ-135 k NodemCU je následující :

NodeMCU  / MQ-135

A0 – A0

GND – GND

VIN(5V) – VCC

Jistě jste si v kódu všimli hodnoty mq135_rzero, tuto hodnotu odečtěte po 24 hodinách provozu asi při 20-24 C na čerstvém vzduchu a vložte jí do souboru MQ135.h na řádek  #define RZERO 76.63  patřícího knihovně Mq-135.  Výchozí hodnota tam je 76.63. Toto slouží pro správnou kalibraci čidla, kdy je to vázáno na běžnou hodnotu Co2 v čistém vzduchu, což je cca 400 ppm.

Propojení NodeMCU a senzoru SI7021 je následující :

NodeMCU  /  SI7021

D2 – SDA

D1 – SCL

GND – GND

3v3 – 3v3

 

 

Máte k tomu co říct. Napište