Archivi tag: nodemcu

Compilare nodemcu su linux

Trattiamo ora i passi da seguire per creare la propria immagine Nodemcu con cross compilazione su Linux.

Partiamo sempre dalla immagine Debian descritta in articolo precedente

Ambiente Debian

 Seguendo quanto indicato al link

Cross compilazione

 come prima operazione prepariamo l’ambiente di cross compilazione.

Colleghiamoci su Debian con la nostra utenza (sviluppo nel nostro caso) e creiamo una cartella esp8266 da riga comando

 Installiamo i prerequisiti

 Procediamo a scaricare il repository esp-open-sdk

 per procedere alla sua compilazione

Al termine della compilazione abbiamo la seguente indicazione

Occorre inserire nel PATH quanto segue

Possiamo clonare a queto punto il github del firmware Nodemcu. Sempre dalla precedente finestra di riga comandi eseguire

Una volta posizionati nella cartella esp8266 eseguire

 Al termine posizionarsi in nodemcu-firmware

Prima di procedere alla creazione del nostro primo firmware apportiamo delle modifche sulla configurazione presente in app/include/user_config.h

  • Abilitiamo la direttiva per il nostro devkit 0.9 (devkit in nostro possesso)

#define DEVKIT_VERSION_0_9 1     // define this only if you use NodeMCU devkit v0.9

  • Modifichiamo la velocità di comunicazione sulla USB (velocità di comunicazione del nostro devkit)

//#define BIT_RATE_DEFAULT BIT_RATE_115200
#define BIT_RATE_DEFAULT BIT_RATE_9600

  • Modifichiamo la dimensione della flash a 4M (dimensione a nostra disposizione)

#define FLASH_4M
// #define FLASH_8M
// #define FLASH_16M
//#define FLASH_AUTOSIZE

Salviamo il file e procediamo alla creazione del firmware con il comando

Al termine sotto la cartella bin

troveremo due file: 0x00000.bin e 0x100000.bin. Creiamo un solo file nodemcu_float.bin con il comando

Aggiungiamo l’utente sviluppo al gruppo abilitato a scrivere sulla usb

Debian vede senza necessità di drivers  aggiuntivi la porta USB. In presenza di macchina virtuale abilitare la periferica.

Accedere all’sdk scaricato e compilato prima; nella cartella bin copiare i file

  • blank.bin
  • esp_init_data_default.bin

nella cartella bin dove sono stati generati i file del firmware nodemcu

binDefaultA questo punto siamo pronti a caricare il firmware sul dispositivo mediante lo strumento esptool. Nel prossimo articolo descriveremo come caricare il firmware sul dispositivo

Caricare il firmware con esptool

Caricare codice LUA su ESP8266

Dopo aver installato il firmware appropriato

Caricare il firmware

si può caricare il proprio codice LUA script sul nostro device. Per eseguire tale operazione esistono diversi strumenti

Caricare codice Lua

In questo articolo installeremo ESPlorer

ESPlorer

E’ una applocazione java e disponibile per i sistemi operativi Windows, Linux ed Osx. Come prerequisito richiede la presenza di Java SE ver. 7 o superiore.

Si scarica il tool dal link sotto elencato in una cartella

Scarica ESPlorer

e si lancia mediante il comando

o tramite script dos o unix (ESPlorer.bat o ESPlorer.sh).

A questo punto si collega il Nodemcu devkit al pc e si impostano i parametri di comunicazione e la velocità della porta COM.

Si presenta, per esempio in Windows, la seguente schermata

ESPlorer

Si può premere Open che permette l’accesso sul dispositivo.

ESPlorerConnesso

Si può a questo punto procedere alla creazione del proprio codice in LUA script e caricarlo sull’ESP8266 utilizzando; il codice si può generare integrandolo con i  vari moduli messi a disposizione dal firmware secondo la documentazione

Nodemcu API

Nel prossimo articolo descriveremo come compilare una versione del firmware personalizzata in Linux

Compilazione Nodemcu

Caricare il firmware con Nodemcu Flasher

Dopo aver esaminato nell’articolo precedente le diverse modalità di caricamento del firmware

Caricare il firmware Nodemcu

vediamo qui in dettaglio come operare su Windows.

 Partendo dal github del firmware nodemcu

Nodemcu github

si perviene alla applicazione per Windows

 Nodemcu flasher

 Si scarica la versione compatibile con il nostro sistema operativo (32 o 64 bit).

Come operazione preliminare si installano i driver, se non già presenti in windows, del chip USB-Seriale, come specificato nell’articolo precendente. Nel nostro caso avendo a disposizione un development kit Nodemcu 0.9 si installano i drivers CH340G

CH340G Drivers

 Si scarica il software Nodemcu flasher in una cartella; si collega il Nodemcu devkit al pc mediante una connessione USB-Micro USb ed il device dovrebbe essere riconosciuto dal pc nella lista delle porte COM

PortaCom

Nel nostro caso è disponibile sulla porta COM5.

I passaggi da seguire sono i seguenti:

  • Lanciamo il Nodemcu Flasher e scegliamo la porta COM5

NodemcuProg

  • In Config selezioniamo INTERNAL://NODEMCU con indirizzo 0x00000.

NodemcuProgConfig

  •  In Advanced abbiamo i seguenti parametri
    • Baudate: 9600 secondo quanto indicato sulla nostra scheda.
    • Flash size: 4MByte. Flash del nostro devkit.
    • Flash Speed: 40MHz il default.
    • SPI Mode: DIO il default per flash da 4Mb.

NodemcuProgAdvanced

  • Possiamo ora procedere al caricamento premento il tasto FLASH

NodemcuProgFlash

  • Viene mostrata la barra di scorrimento della operazione e le informazioni hardware del dispositivo che si sta caricando

NodemcuProgProgress

Al termine si può chiudere la finestra e verificare che tutto funzioni correttamente con un programma per caricare il proprio codice LUA script, che vedremo nel prossimo articolo

Caricare codice LUA

Caricare il firmware nodemcu

Nell’articolo precedente abbiamo trattato il mdoulo wifi ESP8266 integrato nella scheda di sviluppo Nodemcu

Modulo WiFi ESP8266

Qui analizziamo come caricare il firmware sulla propria scheda.

Prima operazione da eseguire è valutare il modello di scheda di sviluppo nodemcu a disposizione. Nel nostro caso eseguiremo le varie operazioni con una scheda di sviluppo Nodemcu V0.9. Il chipset usb-seriale in questo caso è il CH340G

I drivers per questo chipset possono essere scaricati direttamente dallo github di nodemcu

USB-Seriale Drivers

Per caricare il firmware si possono usare i metodi descritti nel sito di Nodemcu

Flash del Firmware

In sostanza vi sono due metodi principali

  • Flash tramite il tool windows Nodemcu Flasher

Nodemcu Flasher

  • Flash tramite una utility in Python da usare in Linux, OSX o Windows

esptool

Il tool Nodemcu flasher permette di caricare un firmware di default sulla scheda in modo abbasta intuitivo e  velocemente.

Come si evince dalla documentazione sopra allegata con il devkit non è necessario eseguire alcuna operazione sul pin GPI0 dell’ESP; le operazioni di flash ed esecuzione si avviano automaticamente.

Nel prossimo articolo caricheremo il firmware usando il Nodemcu flasher

Caricare il firmware con Nodemcu Flasher

Firmware Nodemcu

Come discusso nel precedente articolo

Modulo WiFi ESP8266

lavoreremo con il soc ESP8266 utilizzando il firmware Nodemcu

Firmware Nodemcu

Nodemcu, alla data alla revisione 1.5.4.1, è basato sulla revisione LUA 5.1.4. Utilizza come base l’SDK NONOS di Expressif

SDK NONOS Expressif

 e come filesystem utilizza spiffs

spiffs filesystem

Il firmware può essere ottenuto, come specificato al link

Compilazione firmware Nodemcu

in vari modi

  • Tramite un servizio cloud, specificando anche i moduli aggiuntivi se necessari

Compilazione firmware tramite cloud

  • Tramite un sistema Docker

Compilazione tramite Docker

  •  Tramite un cross compilazione su Linux

Descriveremo come installare il sistema di cross compilazione su Linux.

 Vi è anche la possibilità di installare un firmware di default tramite il tool Nodemcu  Flasher.

Nel prossimo articolo tratteremo come caricare il firmware

Caricare il firmware Nodemcu

Modulo Wifi ESP8266

In questo articolo descriviamo brevemente il microcontroller ESP8266 della Espressif

ESP8266

E’ uns soc a basso consumo, composto da un microcontroller RISC a 32 bit ed  integra già al suo interno un sistema wifi. Al link delle risorse di Espressif si trovano le infomazioni dettagliate sul soc

Risorse ESP8266

Le specifiche del dispotivo sono presenti nel seguente documento pdf

Specifiche ESP8266

Il chip è disponibile in vari moduli o in schede di sviluppo, che facilita notevolmente l’uso dal momento che ha già al suo interno le corrette impostazioni hardware per il caricamento del firmware e la sua esecuzione.

Su internet si trovano vari siti che descrivono diversi progetti di Home Automation o IOT utilizzanti tale soc. Un sito di riferimento è sicuramente il seguente

ESP8266 Forum

All’interno del sito si trovano i riferimenti ai metodi maggiormente utilizzati per lo sviluppo del firmware per tale soc

  • Arduino Ide

Arduino IDE

ESP8266 Arduino github

  • SDK Espressif

Forum Espressif Sdk

ESP8266 SDK

  • PlatformIO

PlatformIO

  • Nodemcu

Nodemcu nel forum esp8266.com

Nodemcu

Nodemcu github

L’ESP8266 è acquistabile sui vari siti, ad esempio ebay, sia in forma di modulo

ESP8266 su ebay

o come piattaforma di sviluppo

Piattaforma di sviluppo ESP8266

Vi sono vari moduli di AI-Thinker

AI-Thinker

che implementano ESP8266; noi useremo il devkit Nodemcu con all’interno i moduli AI-Thinker ESP-12/ESP-12E. Nei link precedenti su ebay erano presenti anche i moduli  ESP8266 ESP-01 e kit di sviluppo di altri produttori.

Sul github di Nodemcu sono presenti le schede di sviluppo che utilizzeremo in seguito. In particolare sono presenti due versioni della piattaforma

  • Piattaforma di sviluppo Nodemcu V1 (ESP-12E)

Nodemcu devkit V1.0

  • Piattaforma di sviluppo Nodemcu V0.9 (ESP-12)

Nodemcu devkit V0.9

Al seguente link vi è una descrizione dei vari moduli AI-Thinker disponibili e come ricavare le informazioni per la propria flash

Moduli ESP8266

Dal github di Nodemcu

Nodemcu Devkit

i pin del devkit 1.0 sono i seguenti

Nei prossimi articoli descriveremo il firmware Nodemcu, come compilarlo, come caricarlo sulla scheda e faremo degli esempi utilizzando il linguaggio di scripting  LUA, utilizzato in tale firmware

Lua

insieme ai moduli sofware messi a disposizione da tale firmware

Documentazione nodemcu

Nel prossimo articolo descriveremo il firmware Nodemcu

Firmware Nodemcu