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.
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) :
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 |
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ó):
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
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. |
A github könyvtár az ESP8266-os modulokhoz: https://github.com/esp8266/arduino A fenti könyvtár funkciói: