Esp8266 e Upycraft

Come vi avevo scritto nell’articolo precedente utilizzare gli script in python offerti dalla libreria Ampy e Esptool non è facilissimo ed è scomodo.

Nelle varie ricerche ho trovato un programma che offre un ambiente integrato per scrivere il codice, caricarlo e testarlo su esp8266, fare da terminale per esp8266, pulire e /o caricare il firmware nel esp8266, oltre alla gestione dei file sorgenti. Il programma incorpora anche tanti esempi in micropython nel menù file, ci trovate di tutto.

Upycraft

Il programma si chiama Upycraft e potete trovarlo e scaricarlo QUI da GitHub oppure da QUI se volete scaricare solo l’eseguibile. Basta un doppio click per avviarlo, se vi esce una finestra che vi chiede di installare il font SourceCodePro cliccate su si/yes.

Lo schermo è diviso in tre parti principali oltre al menù in alto e delle comode icone colorate di comando in verticale sulla destra. La parte a sinistra in verticale contiene tutte le nostri fonti, il device collegato e le nostre librerie. La parte maggiore dello schermo è occupata dalla finestra di edit, dove caricheremo e scriveremo i nostri sorgenti. Sotto di essa c’é la finestra terminale che ci permette di dare comandi direttamente all’interprete caricato sul dispositivo e vedere l’output del dispositivo.

Iniziamo

Per iniziare dobbiamo connetterci al nostro dispositivo; dopo averlo collegato alla porta USB andate sul menù Tooks->Serial e selezionate la porta seriale del esp8266. Vedremo il simbolo >>> sulla finestra terminale, segno che ci siamo collegati con l’interprete che è in attesa di comandi.

Sempre dal menù Tools possiamo selezionare il tipo di scheda che utilizziamo e caricare il firmware sul dispositivo. Il menù tools serve a gestire l’esp8266 o altro dispositivo, con il comando download portiamo il programma corrente della finestra di edit sul dispositivo.

Proviamo un semplice programmino

Per prendere confidenza con il programma facciamo lampeggiare il classico led onboard. Selezionate il menù File->new per creare un nuovo programma vuoto e copiate e incollate queste righe nell’editor

import machine
import time
led = machine.Pin(2, machine.Pin.OUT)
for x in range(0, 5):
   led.off()
   print(x)
   time.sleep_ms(1000)
   led.on()
   time.sleep_ms(1000)

Questo programma mette in on il pin 2 (dov’é collegato il led on-board) per 1 secondo e poi lo mette in off sempre per un secondo, ripete il ciclo 5 volte.

Per salvare il sorgente utilizzate il menù file->save e dategli un nome, attenzione, indicate anche l’estensione .py altrimenti non verrà riconosciuto come sorgente python.

A questo punto potete avviare il programma con il menù tools->downloadandrun o semplicemente premendo F5. Il programma farà il download del sorgente su esp8266 e poi le eseguirà. Vedrete il led lampeggiare 5 volte e poi ritornerà il prompt(>>>) nella finestra terminale.

Se volete intorrompere il programma in esecuzione cliccate nella finestra del terminale e premete assieme i tasti [CTRL] e [C].

Per vedere lo scorrere del programma man mano che avanza potete aggiugere dei print(‘sono qui’) nei vari punti del programma e vedrete quel testo nella finestra terminale man mano che il programma avanza. Può aiutarvi a trovare un errore o a scoprire se il programma passa o no da un determinato punto o quante volte ci passa o il valore di una variabile in un determinato momento con il comando print(variabile1,variabile2, variabile3).

Conclusioni

Come avete visto rispetto ad utilizzare la riga di comando è molto più comodo e intuitivo e basta un unico ambiente per fare tutto. Nel prossimo articolo vedremo probabilmente alcuni funzioni wifi e tcp del micropython per far comunicare esp8266 con computer e smartphone.

Maurizio

Lascia un commento