nodeMCU
Az ESP8266 általános ismertetése itt található: ESP8266
Az ESP8266 támogatja az APSD-t a voIP alkalmazásokhoz és a Bluetooth kompatibilis interfészeket is, önkalibráló RF-t tartalmaz, így nem igényel külső RF részt.
Technikai adatok (v2, v3)
- Mikrokontroller: Tensilica 32 bites RISC CPU Xtensa LX106
- Üzemi feszültség: 3,3 V
- Tápfeszültség: 7V..12V
- Digitális I / O-k (DIO) száma: 16
- Analóg bemenetek (ADC) száma: 1
- UART-ok: 1
- SPI: 1
- I²C: 1
- Flash memória mérete: 4 MB
- SRAM: 64 KB
- Órajel: 80 Mhz
- Wi-Fi: IEEE 802.11 b / g / n: WEP vagy WPA/WPA2 hitelesítés, vagy nyílt hálózati elérés
NodeMCU vezetékezés
pin | GPIO | input | output | megjegyzés |
---|---|---|---|---|
D0 | GPIO16 | nem interruptolható | nincs PWM vagy I²C támogatás | HIGH értéke a bootolásnál a mélyalvásból „kelti” fel a modult |
D1 | GPIO5 | OK | OK | alapkonfiguráció: SCL (I²C) |
D2 | GPIO4 | OK | OK | alapkonfiguráció: SDA (I²C) |
D3 | GPIO0 | pulled up | OK | a FLASH nyomógombhoz csatlakoztatva, hibát eredményez a LOW állása bootoláskor |
D4 | GPIO2 | pulled up | OK | a modul LED-jéhez csatlakoztatva, hibát eredményez a LOW állása bootoláskor |
D5 | GPIO14 | OK | OK | alapkonfiguráció: SPI (SCLK) |
D6 | GPIO12 | OK | OK | alapkonfiguráció: SPI (MISO) |
D7 | GPIO13 | OK | OK | alapkonfiguráció: SPI (MOSI) |
D8 | GPIO15 | pulled to GND | OK | alapkonfiguráció: SPI (CS), hibát eredményez a HIGH állása bootoláskor |
RX | GPIO3 | OK | RX pin | HIGH állásban lesz bootoláskor |
TX | GPIO1 | TX pin | OK | HIGH állásban lesz bootoláskor, hibát eredményez a LOW állása bootoláskor |
A0 | ADC0 | Analog Input | no |
Az „alapkonfiguráció” azt jelenti, hogy az adott kommunikációs megoldásokhoz ez a „default” láb.
Az alábbi pin-ek magas (HIGH) állapotba kerülnek bootoláskor (ez például relék esetén nem előnyös) :
- GPIO16
- GPIO3
- GPIO1
- GPIO10
- GPIO9
nodeMCU BOOT opciók
A nodeMCU bootolási eljárását a bekapcsolás időpontjában állított 0, 2 és 15 pin-ekkel lehet kiválasztani:
GPIO15 (MTDO) | GPIO0 | GPIO2 | Mód | Leírás |
---|---|---|---|---|
LO | HI | HI | Flash | Bootolás az SPI Flash-ről (Alapértelmezett mód, a GPIO6-GPIO11 használatával) |
LO | LO | HI | UART | Programozás-mód az UART-on keresztül (TX/RX) |
HI | - | - | SDIO | Bootolás az SD-kártyáról |
nodeMCU felhúzóellenállások
A GPIO0 és GPIO2 a Vcc felé, a GPIO15 a GND felé igényel felhúzóellenállásokat. Ezeknek az értéke 2K és 10K között lehet. A legegyszerűbb megoldás az arany középút 3K3-as ellenállások alkalmazásával.
A fentiek nyilván bekorlátozzák a szabadon felhasználható PIN-ek alkalmazását: A GPIO0 és GPIO2 aktív LOW, míg a GPIO15 aktív HIGH pinként alkalmazható, lásd a lenti példát (a kép rákattintva nagyítható):
nodeMCU kommunikáció
A nodeMCU gyakorlatilag ugyanazokat a kommunikációs formákat ismeri, mint az Arduino. Néhány kommunikációt ezek közül saját fejezetbe emeltem ki:
- nodeMCU kommunikáció
- nodeMCU serial
- nodeMCU I²C
- nodeMCU HTTP
- nodeMCU TCP/UDP
- nodeMCU MQTT
nodeMCU "reset causes"
A NodeMCU a soros porton (115.200 bauddal) keresztül jelzi az állapotát, probléma esetén jellemzően állandóan újraindul:
Ennek az okai a következők lehetnek:
reset cause | leírás | oka |
---|---|---|
0 | - | - |
1 | normal boot | normális bootolás |
2 | reset pin | újraindítás pin aktív |
3 | software reset | szoftveren belül indított reset |
4 | watchdog reset | ciklusidő túllépése; a szoftver végrehajtása „elakadt” valahol, vagy csak túl sok időt igényel. |
NodeMCU szoftver
A github könyvtár az ESP8266-os modulokhoz: https://github.com/esp8266/arduino A fenti könyvtár funkciói:
- WiFi kommunikáció TCP és UDP használatával
- HTTP, mDNS, SSDP, és DNS szerver-alkalmazások
- OTA frisítés
- flash memória és SD kártya integrálása