Nel mio percorso di approfondimento della conoscenza dell'ESP32, ho incontrato questo interessante programma per Python; RSHELL che consente una connessione tra una macchina Linux ed il nostro ESP32 tramite cavo USB e gestisce alla perfezione l'upload ed il download dei file sulla scheda.
Attraverso RSHELL si potranno caricare i file di programma sulla scheda ESP e scaricare eventuali file o log registrati sulla scheda stessa, direttamente da shell attraverso una macchina Linux.
Abbiamo gia' visto come connettere la ESP via WiFi attraverso WebRepl nel precedente post, adesso vediamo come poter fare lo stesso attraverso una semplice shell Linux. Sulla mia macchina in questo momento ho il sistema Win10, e l'ambiente virtuale WSL che ho costruito per utilizzare Linux con i programmi per la programmazione in Python, non gestisce le porte seriali della macchina, o almeno non lo fa nelle impostazioni di base che attualmente girano sul mio sistema, quindi per poter testare RSHELL ho dovuto "passare" da una Raspberry Pi che, attraverso una shell remota, mi consente di "parlare" con l'ESP via seriale.
Quindi ho collegato ESP32 con il cavo USB alla Raspberry Pi. Ho connesso la Raspberry Pi via WiFi in SSH, ed ho cosi' ottenuto quando necessario per funzionare.
Installato rshell sul sistema Linux con
$ pip install rshell
Collegato la ESP32 alla presa USB della Raspberry Pi bisogna trovare il nome della seriale che e' stato assegnato al device, semplicemente leggendo con il comando:
$ ls /dev/tty*
Nel mio sistema il nome assegnato e' il solito ttyUSB0
Quindi basta chiamare con il comando sotto, la connessione con il parametro -p e se tutto e' andato regolarmente, ci troviamo connessi alla nostra ESP32
$ rshell -p /dev/ttyUSB0
Adesso vediamo come mettere su il sistema in modo da far connettere in automatico il nostro ESP32 al router di casa, senza utilizzare il metodo gia' spiegato nel post precedente.
La prima cosa connettere con RSHELL e questi comandi:
$ rshell -p /dev/ttyUSB0 --buffer-size 30 -a -e nano
Il comando -e nano consente di scegliere l'editor nano anziche' il predefinito vi che come sappiamo e' molto piu' ostico !!
A questo punto possiamo andare a leggere il contenuto della flash dell'ESP32 con il comando
$ ls /pyboard
nb. pytboard e' il nome che viene dato in automatico all'ESP se non e' settato in maniera differente dentro il file board.py che contenga un attributo simile a : name = "myboard"
A questo punto possiamo editare il file boot.py che risiede gia' di default sulla ESP32 con l'editor che abbiamo definito con il parametro -e (cioe' nano)
> edit /pyboard/boot.py
Le istruzioni da inserire nel file sono le stesse del precedente post, cioe':
Al posto delle X dovete inserire i dati relativi al vostro router, naturalmente.
Per uscire e salvare da nano, i comandi sono Ctrl-X e poi confermare il salvataggio delle modifiche effettuate.
Con queste semplici modifiche il ESP32 al successivo riavvio si colleghera' al router ed entrera' nella vostra rete locale.
Un'altra cosa che si puo' fare e' far partire REPL, chiamandolo direttamente dal prompt:
> repl pyboard
nb. il nome della scheda puo' essere omesso, serve solo se abbiamo piu' schede insieme, che possono essere collegate chiamandole per nome
Qui ci troviamo direttamente nell'ambiente MicroPython del nostro ESP32
Buon divertimento.
TecnoGeppetto
Nessun commento:
Posta un commento