====== nodeMCU ====== {{ :wiki:modul:esp8266.png?180|ESP8266}} Az ESP8266 általános ismertetése itt található: [[hu:esp:start|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 ==== {{:hu:esp:nodemcu_wiring_2.png?800|NodeMCU vezetékezés}} ^pin^GPIO^input^output^megjegyzés| |D0|GPIO16|nem interruptolható|nincs PWM vagy [[hu:arduino:start#arduino_i_c|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 ([[hu:arduino:start#arduino_i_c|I²C]])| |D2|GPIO4|OK|OK|alapkonfiguráció: SDA ([[hu:arduino:start#arduino_i_c|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ó: [[hu:arduino:start#arduino_spi|SPI]] (SCLK)| |D6|GPIO12|OK|OK|alapkonfiguráció: [[hu:arduino:start#arduino_spi|SPI]] (MISO)| |D7|GPIO13|OK|OK|alapkonfiguráció: [[hu:arduino:start#arduino_spi|SPI]] (MOSI)| |D8|GPIO15|pulled to GND|OK|alapkonfiguráció: [[hu:arduino:start#arduino_spi|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 [[hu:comm:start#uart|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ó): {{:wiki:modul:esp8266_pull_up.png?500|ESP8266 felhúzóellenállások}} ==== nodeMCU kommunikáció ==== A nodeMCU gyakorlatilag ugyanazokat a kommunikációs formákat ismeri, mint az [[hu:arduino:start|Arduino]]. Néhány kommunikációt ezek közül saját fejezetbe emeltem ki: - [[hu::esp::nodemcu_com|nodeMCU kommunikáció]]\\ - [[hu::esp::nodemcu_serial|nodeMCU serial]] \\ - [[hu::esp::nodemcu_i2c|nodeMCU I²C]] \\ - [[hu::esp::nodemcu_http|nodeMCU HTTP]] \\ - [[hu::esp::nodemcu_tcp_udp|nodeMCU TCP/UDP]] \\ - [[hu::esp::nodemcu_mqtt|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: {{:hu:esp:nodemcu_cause.png|nodeMCU "reset causes"}} 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 [[hu:comm:bus_ethernet#udp|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 * [[hu:comm:bus_spi|SPI]], [[hu:comm:bus_i2c|I²C]] és [[hu:aktor:servos#servo|Szervó]] kommunkáció