Guida ai primi passi con l'ESP8266

L'ESP8266 è un piccolo ma molto potente micro controllore, dispone della tecnologia Wifi IEEE 802.11 b/g/n. Per tutti i dettagli WIKI. E' largamente utilizzato in moltissimi progetti, poichè è potente e maneggevole. Al suo interno ha tutto quello che serve.

Come programmare il micro controllore

Per programmare il firmware del micro controllore è necessario installare, esptools.I pin vanno collegati elettricamente nel modo corretto per abilitare il chip a essere flashato. La guida su github di esptools spiega tutto.

Sviluppare comodamente sul ESP8266

Posso garantire che la cosa migliore per sviluppare è comprare il chip nella versione di sviluppo, sono 6 Euro ben spesi. Scrivere software per questi micro controllori è abbastanza complesso ed è scomodo il debug. Se si incorre continuamente in problemi legati al collegamento errato del chip rende noioso, e infinitamente lungo lo sviluppo.

Un ambiente di sviluppo comodo è sicuramente un buon investimento.

Scegliere un linguaggio, e relativo SKD.

L'ESP8266, supporta molti linguaggi diversi.

Lua: Lua è un linguaggio interpretato, con memoria gestita. Ha un basso foot print, può funzionare in pochi K di memoria. L'ESP8266 dispone del interprete Lua.

Arduino: L'ESP8266 dispone di un porting per l'ambiente Arduino, può essere quindi programmato come un Arduino. Non mi sono mai dilettato nel utilizzo di nessun Arduino, tanto meno nel utilizzo del ESP8266 con Arduino. Lo ritengo una soluzione da amatori, che hanno una conoscenza basica di elettronica, scarse conoscenze dei bus, alcune competenza in informatica. Non lo consiglio, particolarmente, poichè ritengo sia una soluzione poco maneggevole. Fornisce tante parti, tanti componenti, che possono essere incastrati insieme con semplicità, ma pur sempre un collage di software, specialemente perchè si tende al selvaggio copia incolla, senza riadattare bene il codice.

MicroPython: E' un interprete python minimale, permette di scrivere codice in python, non è leggerissimo, ma funziona Per piccoli progetti potrebbe essere un'ottima soluzione, da dimenticare immediatamente le librerie che si usano normalmente in python, in generale sono troppo pensanti.

RTOS: Si tratta di un sistema operativo Real-time, scritto  completamente, in C. Lo ritengo il miglior framework da utilizzare su questo micro controllore, permette sicuramente di sfruttare a pieno tutte le potenzialità, del ESP8266. Ideale su progetti medio grandi. Supporta lo scheduling di più task con priorità i metodi di sincronizzazione standard: mutex e semafori. Dispone di ottime librerie per la comunicazione TCP/IP UDP/IP molto complete LWIP.

E' leggero, sono forniti diversi esempi di codice per svariati usi, diversi componenti extra, che opportunamente adattati rendono facile l'aggiunta di funzionalità. Implementa una sua Global-C-StandaLibrary che permette di gestire la memoria, la gestione puntuale di periferiche e interrupt gestione dei vari bus.

E' la soluzione che personalmente adotto, per ogni mio progetto, con questo micro controllore.

Come dice la pagina iniziale di SuperHouse sul progetto, il loro obbiettivo è fornire un framework per amatori e professionisti.Con questa soluzione è necessario conoscere un po' di C.Se non si dispone di una buona base di C, è comunque possibile cimentarsi, considerando che durante la realizzazione dei progetti le competenze in questo linguaggio cresceranno notevolmente.Se siete dei programmatori, e sviluppate un progetto funzionante con questo sistema considerate di metterlo in curriculum, FreeRTOS, non è un giocattolo, viene utilizzato costantemente su progetti Embedded, e fornito come default su molte schede/ demoboard.

In questo sito ho realizzato diversi tutorial su questo argomento, partendo da toolchain e ambiente di sviluppo.

Tutti i tutorial che riguardano L'ESP8266 sono riassunti a questa pagina:Tutorial ESP8266 CrazyLinux