NodeMCU – periferica WIFI tuttofare

Fra le varie schede che permettono ad Arduino di comunicare ne ho trovata una interessante che mi ha spinto ad ulteriori approfondimenti. Si tratta di una scheda WIFI chiamata esp8266 che può essere facilmente utilizzata da Arduino ma può anche sostituirlo completamente.

Questo microcontrollore ha un processore a 32bit 80mhz, 64KB di memoria per i programmi e 96 KB per i dati e una memoria flash di minimo 512KB ; ha fino a 16 GPIO (piedini per leggere/scrivere dati digitali).

Una periferica tante opportunità

Oltre ad essere un dispositivo wifi può essere facilmente modificata per eseguire i programmi scritti per Arduino o trasformata in un Microcontrollore programmabile con linguaggio LUA, molto potente ed adeguato sia alla programmazione time-depending che alla programmazione standard.

Vediamo come si trasforma un NodeMCU in un Arduino più potente dell’originale. Per le prove ho usato una scheda NodeMCU ESP-12E che costa a maggio 2018 circa 7€.

Mettiamoci al lavoro

ide arduino aggiunta gestore schede

Come prima cosa ho scaricato i driver da qui, Windows 10 non dovrebbe averne bisogno.  Poi  ho configurarato l’IDE di Arduino, se non lo hai puoi scaricarcalo da qui; apri il menù File e seleziona Impostazioni, nel campo url aggiuntive per il gestore di schede copia questo link:  http://arduino.esp8266.com/stable/package_esp8266com_index.json e clicca su OK;

Successivamente seleziona il menù Strumenti e clicca su Scheda e subito dopo su Gestore Schede, nel campo di ricerca inserisci esp8266 e clicca sul bottone Installa. Fatto questo sempre dal menù Strumenti clicca su Scheda e dall’elenco a discesa seleziona la NodeMCU 1.0(Esp-12E module) naturalmente se hai acquistato una scheda diversa seleziona il modello corretto.

Facciamo la prima prova

Per vedere se tutto funziona carica lo schetch di esempio Blink (Menù File, seleziona Esempi, seleziona 01.Basics, seleziona Blink) e caricalo come se fosse Arduino, se non sai come fare vedi i primi passi con Arduino.

Se hai qualche problema controlla come prima cosa se nel menù Strumenti sotto la scheda fra le varie nuove opzioni c’è Reset va impostato con il valore NODEMCU altrimenti dovrai tenere premuto il pulsante di FLASH sulla scheda durante tutto il tempo di caricamento dello sketch. Controlla sempre nello stesso menù Upload Speed e prova con velocità diverse; se il problema riguarda l’esecuzione dello sketch rifai il caricamento dopo aver selezionato dal Menù Strumenti Erase Flash: All Flash Contents.

Connettiamoci al wifi

Visto che ho fatto questa prova per connettermi ad una rete WIFI faccio subito una prova con questo sketch

#include <ESP8266WiFi.h>

void setup() {
 Serial.begin(115200);
 Serial.print("Connessione in corso ");
 WiFi.begin("nome rete","********");
 while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.print("WiFi connesso ");
  Serial.print(WiFi.localIP());
}

void loop() {
    delay(500);
}

Pochi secondi e la connessione è ok.

Nel prossimo vediamo come programmare un NodeMCU con il linguaggio LUA.

Maurizio

Lascia un commento