NodeMCU e LUA

Vediamo ora come preparare e programmare un NodeMCU con il linguaggio LUA, un linguaggio molto versatile e dinamico, semplice da apprendere ma complesso a volontà, se volete scoprire di più sul linguaggio qui trovate il sito ufficiale. 

Procuriamoci il firmware

Come prima cosa devi procurarti il firmware, cosa facilissima da questo sito che ti permette di scegliere quali librerie includere per limitare la memoria necessaria e ti invia per email il file binario risultante dalla tua scelta.

selezione librerie per firmware nodemcu

Dopo aver inserito la tua mail due volte (attento a scriverla corretta in quanto se sbagli non ti arriva il firmware) seleziona dalla tabella le funzionalità che vuoi utilizzare, accanto ad ognuna c’è una piccola icona a forma di libro che ti porta al manuale per capire cosa fa la libreria; Io ho seleziona File per poter leggere/scrivere informazioni,  Gpio per utilizzare i piedini digitali, Net per utilizzare le risorse di rete, Node che contiene la gestione del Nodemcu (ad esempio per impostare una pausa a bassi consumi, Timer per la gestione del tempo, Uart per le comunicazioni seriali e Wifi per la gestione del WIFI. Fatto questo è sufficiente cliccare su Start your Build per ricevere dopo meno di 5 minuti il file binario contenente il firmware con le nostre opzioni.

Tenete presente che di file ne arrivano due, uno per la versione INT(integer) e l’altro per la versione float, se sei certo di non utilizzare decimali all’interno dei tuoi programmi utilizza pure la prima altrimenti utilizza la seconda. Nel caso mio utilizzando il DHT22 che ha anche i decimali come risultato di lettura della temperatura utilizzerò la versione FLOAT.


Carichiamo il firmware

Ora, per caricare il firmware sul NodeMCU utilizziamo un programma freeware che trovi qui, sia a 32bit che 64. Lanciato il programma trova automaticamente la porta a cui è collegato il microcontrollore (se non hai Windows10 devi installare il driver, le istruzioni le trovi qui).

Clicca sull’icona a forma di ingranaggio della prima riga nella sezione Config e seleziona il file che contiene il tuo firmware, quindi clicca su bottone Flash di Operation. Vedrai il led blu vicino al WIFI che lampeggia durante la fase di caricamento.

Se il NodeMcu è stato utilizzato per altre prove o hai difficoltà con il suo utilizza prima di flashare il firmware nella sezione Config aggiungi al secondo rigo il file Blank.bin con indirizzo 0x3fe000 e al terzo Blank.bin con indirizzo 0x7e000, queste aggiunte servono a ripulire completamente il chip. 

Carichiamo il programma

Ora, per comunicare con il NodeMcu utilizzo il programma Esplorer scritto in Java, quindi prima devo scaricare l’interprete Java da qui e subito dopo l’IDE Esplorer da qui. Se non ho hai già fatto dopo aver caricato il firmware scollega e ricollega il Nodemcu e poi clicca su Esplorer.jar per far partire l’Ide.

Avviato il programma trova in automatico la porta da utilizzare, clicca su Open e dovresti vedere sulla finestra di destra il Nodemcu che risponde con il suo ID, poco sotto questa finestra ci sono dei bottoni con dei comandi preimposati, se clicchi su Chip Info vedrai le caratteristiche del tuo NodeMCU.

Ora copia questo programmino equivalente al Blink.ino di Arduino nella finestra di destra, quella dell’editor, clicca sul bottone Save to Esp e vedrai il led onboard lampeggiare. Ricordati di assegnargli un nome che termini in “.lua” altrimenti non verrà eseguito.

tmr.alarm(0, 1000, 1, function ()
if status == gpio.LOW then
status = gpio.HIGH
else
status = gpio.LOW
end
gpio.write(0, status)
end)


Maurizio

1 commento su “NodeMCU e LUA”

  1. Molto interessante, complimenti! Lo utilizzerò come punto di partenza per il mio prossimo progetto, il NodeMCU era esattamente quello che cercavo!
    Grazie ancora e continua cosi!

    Rispondi

Lascia un commento