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
Hardware
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 naLOW
a pinGPIO2
MUSÍ
být nastaven naHIGH
. K tomu třeba dát pozor na pinGPIO0
, který při nastavení naHIGH
nabootuje doRUN
módu a při nastavení naLOW
se zapneFLASH
mód. - Pokud chcete použít
SLEEP
mód, pak propojte pinyGPIO16
aRST
, aGPIO16
bude nastaven po každém probuzení na hodnotuLOW
.
Firmware
Programování NodeMCU vyžaduje programovací model velice podobny Node.js a namísto JavaScript používáte LUA. Programovací model je asynchroní a event-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
- služba v cloudu, která podle zvolených komponent vytvoří požadovaný firmware NodeMCU BUILD
- kompilací firmwaru v předpřipraveném Docker Image
- vytvořením vlastního prostředí s nástroji a toolchainem pro sestavení firmware
- stažením již existujícího firmwaru s vybranými moduly od třetích stran
IoT Infrastruktura
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.
Vývojářské nástroje a systémy
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.
Prototypy
Prototypizované sestavy zařízení a technologií pro následné začlenění do IoT Infrastruktury