Ava peamenüü

NodeMCU on avatud lähtekoodiga Lua-põhine püsivara Espressifi ESP8266 WiFi SOCi-le ning kasutab moodulil põhinevat flash-põhist SPIFFS-failisüsteemi.[1] NodeMCU rakendatakse C-programeerimiskeelt ja on kihiline Espressif NON-OS SDK-s.

NodeMCU
NodeMCU DevKit 1.0.jpg
NodeMCU DevKit V3
Tüüp monoplaat mikrokontroller
Operatsioonisüsteem XTOS
Toide USB
Protsessor ESP8266 (LX106)
Salvestusmaht 4 MB
Mälu 128 kB
Veebileht www.nodemcu.com

Algselt arendati püsivara nii, et see oli kaasprojekt populaarsetele ESP8266-põhistele NodeMCU arendusmoodulitele, kuid projekt on nüüd toetatud kogukonna toetuseks ning nüüd saab püsivara käivitada mis tahes ESP moodulil.

Sisukord

AjaluguRedigeeri

NodeMCU loodi varsti pärast ESP8266 avalikustamist. 30. detsembril 2013 alustas Espressif Systems ESP8266 tootmist. ESP8266 on Wi-Fi SoC, mis on integreeritud Tensilica Xtensa LX106 südamikuga, laialdaselt kasutusel IoT rakendustes. NodeMCU projekt algas 13. oktoobril 2014, kui Hong laadis üles esimese NodeMCU püsivara faili GitHubile.[2] Kaks kuud hiljem projekt laiendati avatud riistavara platvormiga, kui arendaja Huang R. laadis üles ESP8266 plaadi gerber faili nimega devkit v0.9.[3] Samal kuul kandis Tuan PM Contiki MQTT teeki ESP8266 SoC platvormile ja laadis üle NodeMCU projektile, seejärel suutis NodeMCU toetada MQTT IoT protokolli, kasutades Lua MQTT broker serverit juurde pääsemiseks.[4] Teine oluline uuendus tehti 30. jaanuaril 2015, kui Devsaurus kandis u8glib[5] projekti NodeMCU projektile[6], võimaldades NodeMCU-l kasutada LCD, OLED ja isegi VGA ekraanid.

2015. aasta suvel loobusid loojad NodeMCU püsivara projektist ja sõltumatute arendajate grupp võttis üle. 2016. aasta suveks oli NodeMCU-s rohkem kui 40 erinevat moodulit. Ressursikoormuste tõttu peavad kasutajad valima oma projekti jaoks olulised moodulid ja looma nende vajadustele kohandatud püsivara.

Programmeerimise mudelRedigeeri

NodeMCU programmeerimise mudel on sarnane Node.js-i mudeliga, ainult kasutab Lua skripti keelt. See on asünkroonne ja sündmuskohane. Paljudel funktsioonidel on seega tagasihelistamise funktsioonide parameetrid.

Lua Flash Store (LFS)Redigeeri

2018. aasta septembris võeti kasutusele Lua Flash Store'i (LFS).[7] LFS võimaldab Lua koodi ja sellega seotud konstantseid andmeid teostada otse välkmälust; just nagu püsivaru ise. See võimaldab nüüd NodeMCU arendajatel luua Lua rakendusi kuni 256 kb Lua koodiga ja kirjutuskaitstud konstante täidetakse otse välkmälust. Kõik RAM on saadaval lugemiseks ja kirjutamiseks!

Seotud projektidRedigeeri

ESP8266 Arduino CoreRedigeeri

Kuna Arduino.cc hakkas välja töötama uusi MCU plaate, mis põhinevad mitte-AVR-protsessoritel nagu ARM / SAM MCU ja mis kasutati Arduino Due, nad pidid Arduino IDE-d muutma, et IDE-d oleks suhteliselt lihtne muuta alternatiivsete tööriistade toetamiseks, võimaldada kompileerida Arduino C / C ++ nende uute protsessorite jaoks. Nad tegid seda Board Manager ja SAM Core sisseviimisega. "Core" on tarkvarakomponentide kogum, mida juhatus ja Arduino IDE vajavad Arduino C / C + + allikafaili koostamiseks MCU masina keele sihtkeele jaoks. Mõned ESP8266 entusiastid arendasid välja Arduino Core ESP8266 WiFi SoC jaoks, mida nimetatakse rahvapäraselt nimeks "ESP8266 Core for Arduino IDE".[8] Sellest on saanud juhtiv tarkvaraarenduse platvorm erinevatele ESP8266-põhistele moodulitele ja arendusplaadile, sealhulgas NodeMCU-dele.

NodeMCU GPIORedigeeri

NodeMCU arenduskomplekt varustab juurdepääsu ESP8266 GPIO-dele. Ainus asi, mida tuleb hoolitseda, on see, et NodeMCU Dev Kiti viigid on nummerdatud erinevalt ESP8266 sisemistest GPIO, nagu on näidatud allpool tabelis. Näiteks NodeMCU viik D0 on seotud 16 ESP8266 viigiga.[9]

NodeMCU GPIO
NodeMCU viigi indeks ESP8266 viik
D0 GPIO16
D1 GPIO5
D2 GPIO4
D3 GPIO0
D4 GPIO2
D5 GPIO14
D6 GPIO12
D7 GPIO13
D8 GPIO15
D9/RX GPIO3
D10/TX GPIO1
D11/SD2 GPIO9
D12/SD3 GPIO10

Arendusplaatide versioonidRedigeeri

Esimese ja teise põlvkonna arendusplaate on lihtne eristada, kuna nende suurus on üsna erinev. Mõlemad põlvkonnad kasutavad ESP-12 kiipe 4 MB püsimäluga, kuid teine põlvkond kasutab uuemat ja täiustatud ESP-12E.

NodeMCU v0.9 (aegunud)Redigeeri

Esimene, kuid nüüd vananenud arendusplaati müüakse tavaliselt kollase värvi plaadiga. Kaasas ESP-12 moodul ja 4MB välkmälu. Plaat on üsna lai (47 mm x 31 mm) ja katab kõik 10 viike maketeerimislau peal, mis muudab selle kasutamise väga ebamugavaks. Selle versiooni tootja on peamiselt Amica.[10]

NodeMCU v1.0 V2Redigeeri

Teine versioon parandab esialgse plaadi puudused. Uus versioon sisaldab uut ESP-12E moodulit, millel on 4 MB flash-mälu ja lisati paar väljaviike. Võrreldes V0.9 variandiga on V1.0 kitsam ja jätab ühe rida tappe mõlemal küljel tavalisel maketeerimislaul, mis sobib ideaalselt prototüüpimiseks. Veel üks tähtis uuendus on see, et nüüd te ei pea vajutama Reset/Flash nuppu iga kord, kui soovite koodi uuesti.[11]

ViitedRedigeeri