NodeMCU

Ajalugu

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. Kaks kuud hiljem projekt laiendati avatud riistavara platvormiga, kui arendaja Huang R. laadis üles ESP8266 plaadi gerber faili nimega devkit v0.9. 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. Teine oluline uuendus tehti 30. jaanuaril 2015, kui Devsaurus kandis u8glib projekti NodeMCU projektile, 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 mudel

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)

2018. aasta septembris võeti kasutusele Lua Flash Store'i (LFS). 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!

ESP8266 Arduino Core

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". Sellest on saanud juhtiv tarkvaraarenduse platvorm erinevatele ESP8266-põhistele moodulitele ja arendusplaadile, sealhulgas NodeMCU-dele.

Arendusplaatide versioonid

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)

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.

NodeMCU v1.0 V2

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.