Project owner: lichnak, PeterBay
Interested:
Related:
Reference: https://Espressif.com
License: Uveďte původ-Zachovejte licenci; CC BY-SA

NodeMCU

Poslední velkou zajímavostí v oblasti levných IoT zařízení je bezdrátový mikrokontroler ESP8266 dodávaný čínským výrobcem Espressif Systems. Původní myšlenka byla vytvořit funkční UART bridge s WiFi pro mikrokontrolery. Nasledně vznikl ESP8266 mikrokontroler založený na procesoru 32-bit Tensilica Xtensa LX106 běžící na frekvenci 80 MHz s plně funkční WiFi sestavou.

NodeMCU je open-source firmware a hardwarová vývojářská sada, která urychluje vývoj prototypů IoT zařízení v několika řádcích LUA skriptovacího prostředí. NodeMCU firmware je postaven pro čip ESP8266 WiFi SOC a přináší LUA skriptovací prostředí založené na jazyku eLua. Vývojářská sada NodeMCU je založena na ESP8266 a implementuje GPIO, PWM, IIC, 1-Wirend a ADC na jedné desce.

Firmware NodeMCU Github

Developer Kit v1.0 NodeMCU DevKit 1.0 Github

NodeMCU hardware je vybaven převodníkem ESP8266 se zabudovaným WiFi vysílačem, dále čipem pro komunikaci přes seriový port 'USB to UART' CP2102-9, lineárním DC stabilizátorem SPX3819, A/D převodníkem SS12 a dvěmi tlačítky pro RST a FLASH PTS820

Technické parametry

  • CPU: 80/160 MHz Tensilica Xtensa LX106
  • RAM: 64 KiB of instruction RAM, 96 KiB of data RAM
  • Flash: 512M - 4M, velikost zaleží na modelu ESP8266
  • WiFi zabudovaná v NodeMCU
  • 16 GPIO pinů, SPI, I2C, I2S, UART, 10-bit ADC

Diagramy

Hardwarové zapojení jednotlivých částí NodeMCU je v dokumentaci na GitHubu. Dokumentaci zapojení najdete na NODEMCU_DEVKIT

PIN Mapa

Důležité upozornění

  • Pin D0 (GPIO16) můžete použít jenom jako gpio read/write a nepodporuje interrupt/pwm/i2c/ow.
  • Při každém bootování, resetu ci probuzení pin GPIO15 MUSÍ být nastaven na LOW a pin GPIO2 MUSÍ být nastaven na HIGH. K tomu třeba dát pozor na pin GPIO0, který při nastavení na HIGH nabootuje do RUN módu a při nastavení na LOW se zapne FLASH mód.
  • Pokud chcete použít SLEEP mód, pak propojte piny GPIO16 a RST, a GPIO16 bude nastaven po každém probuzení na hodnotu LOW.

Programování NodeMCU vyžaduje programovací model velice podobny Node.js a namísto JavaScript používáte LUA. Programovací model je asynchroní a even-driven model, který se vyplatí používat.

Dokumentace k NodeMCU firmware a modulům je dostupná na adrese NodeMCU Documentation.

Firmware může obsahovat různé moduly, které jsou rozšířením funkcí pro jazyk eLua použitý v NodeMCU. Firmware je open source a je možné ho získat několika způsoby

  1. služba v cloudu, která podle zvolených komponent vytvoří požadovaný firmware NodeMCU BUILD
  2. kompilací firmwaru v předpřipraveném Docker Image
  3. vytvořením vlastního prostředí s nástroji a toolchainem pro sestavení firmware
  4. stažením již existujícího firmwaru s vybranými moduly od třetích stran

Prvně uveďme předběžnou predstavu o zpracování dat ze senzorů a ovládání vzdálených zařízení. Hlavní komunikační a ovládací komponenty jsou postavené na technlogiích MQTT a REST API.

Následující návody kopírují požadavky IoT Infrastruktury pro instalaci vývojového a testovacího prostředí a zároveň přinášejí komfort do vývoje.

Prototypizované sestavy zařízení a technologií pro následné začlenění do IoT Infrastruktury