Questo post non è certamente una novità in rete. Esistono guide anche ufficiali probabilmente in inglese che si possono consultare. Ci limitiamo a replicare le esperienze di queste guide riducendole all’osso con i dispositivi in nostro possesso e per le esperienze che ci interessano
La guida è sperimentata su Ubuntu Studio 18.10 perfettamente aggiornata. Su Windows gli stessi passaggi sono decisamente più complessi. Se non volete installare linux in una virtual box, potete sempre munirvi di un dvd o penna usb da lanciare al volo. La basetta scelta è una WeMos D1 con chip EPS8266 perfettamente compatibile.
Prima di tutto dobbiamo caricare il firmware su misura. Per farlo occorre un tool molto semplice denominato ESPTOOL che su Linux è facilmente installabile con
sudo pip install esptool
Dovrebbe tranquillamente girare con Python 2.7 e 3
Attacchiamo il nostro ESP8266 col cavetto microusb e liberiamo prima la memoria col comando
esptool.py --port /dev/ttyUSB0 erase_flash
Se la porta ttUSB0 da errore probabilmente ne sta usando un’altra. Proviamo ad aprire Arduino, selezioniamo la nostra basetta ESP8266/WeMOS e controlliamo che porte ha individuato i lsoftware.
Preleviamo il nuovo firmware. Io preferisco prendere la versione stable, tranquilla e sicura per i nostri test. La potete trovare al seguente link, nella porte più alta con tanto di scritta “latest” di fianco. Mentre scriviamo siamo alla versione 1.11
http://micropython.org/download#esp8266
Una volta scaricato i lfile .bin carichiamolo col nostro tool con un comando simile a questo dove avrete cura di sostituire il percorso per raggiungere il file o aprendo una shell direttamente nella cartella del download.
esptool.py –port /dev/ttyUSB0 –baud 460800 write_flash –flash_size=detect 0 ../Scaricati/esp8266-20190529-v1.11.bin
Possiamo connetterci finalmente alla nostra basetta con un collegamento seriale. Installiamo sulla nostra distribuzione:
sudo aptitude install picocom o sudo apt-get install picocom
Ci basta digitare il comando in una shell con tanto di banda di scambio e siamo subito online
picocom /dev/ttyUSB0 -b115200
Potete inserire codice come nelle normali shell python, ma probabilmente volete inserire script con copia/incolla. Usate CTRL-e e incollate col tasto destro. Occhio agli spazi e righe vuote che vengono mal digeriti dall’interprete. Vi suggerisco di scrivere il vostro codice su IDLE o altro IDE Python sul vostro pc e inserirlo successivamente sulla basetta così da avere un debug, sintassi colorata e tutti gli aiuti che non avrete a digitare il codice secco sulla shell python appena aperta sul basetta. Il nostro primo esempio è un classico: far lampeggiare il led integrato. Il codice è abbastanza intuitivo rispetto alla versione C/C++.
import time
import machine
pin = machine.Pin(2, machine.Pin.OUT)
while True:
pin.off()
time.sleep(1)
pin.on()
time.sleep(1)
Possiamo sempre annullare il codice e il nostro ciclo con un CTRL-c, ed ovviamente la basetta smetterà di lampeggiare.
Se vogliamo uscire e tornare alla shell usiamo in rapida successione CTRL-a e CTRL-q

Ultima modifica 24 Maggio 2022