MicroPython – Struttura programma MicroPython

Dopo aver esaminato diversi strumenti di sviluppo per MicroPython negli articoli precedenti

MicroPython – Strumenti di sviluppo Ampy – Eric

MicroPython – IDE MicroPython uPyCraft

in questo articolo si descrivono brevemente le principali caratteristiche di MicroPython. Esaminiamo in particolare la documentazione inerente all’ESP8266, ma i concetti possono essere estesi anche alle altre schede.

La documentazione sul soc ESP8266 e MicroPython è disponibile al link

Documentazione MicproPython ESP8266

Al link si trovano tutte le informazione necessarie per implementare il proprio codice sulla scheda e le caratteristiche di MicroPython nonché le differenze rispetto a Python.

Di seguito i punti principali per la codifica in MicroPython:

  • MicroPython ha una consolle REPL (Read Evaluate Print Loop) attraverso la porta seriale cui è connesso il dispositivo sui cui si posso impartire i vari comandi MicroPython in modo interattivo.
  • Si può accedere alla consolle REPL anche tramite connessione all’indirizzo IP del dispositivo mediante l’abilitazione della consolle WEBREPL  (Web Browser Interactive prompt)

Documentazione WebREPL

importando il pacchetto webrepl, abilitandolo ed avviandolo ad ogni ripartenza del dispositivo. Per accedere al dispositivo configurato si puo usare il link

Accesso WEBREPL

o localmente clonandolo da github

  • I file che vengono eseguiti all’avvio del dispositivo sono  boot.py e successivamente main.py.
  • Le librerie disponibili per MicroPython sono  presenti sul github al link

Librerie MicroPython

  • Pacchetti aggiuntivi

I moduli aggiuntivi possono essere scaricati dal link delle librerie presentato sopra o scaricati con la utility upip (Package Manager) dalla consolle REPL se presenti nel repository Python Package Index (PyPI)

PYPI

come descritto di seguito

upip

Di seguito un semplice esempio che si connette al router e ci permette di accedere alla consolle MicroPython con il browser e WEBREPL.

  • Codice boot.py

Al primo accesso viene richiesta l’abilitazione di webrepl da eseguire nella consolle REPL con il comando

e seguendo le istruzioni si abilita il servizio e si imposta  la  password di accesso.

La procedura genera sul dispositivo il file webrepl_cfg.py.

Dopo l’impostazione e riavvio accediamo alla consolle web aprendo il file webrepl.html clonato  localmente con un browser

WebreplPremiamo connetti e dopo aver inserito la password impostata nel setup iniziale accediamo alla consolle

WebreplConnectedInstalliamo ora dalla consolle WEBREPL, ad esempio,  il modulo stat utilizzando upip

Per  incollare del testo nella consolle eseguire Ctrl+A e Ctrl+V

WebreplupipIn questo caso il pacchetto è stato prelevato dal repository PYPI, scompattato ed installato sul dispositivo.

Abbiamo notato che alcuni moduli, sebbene presenti sul repository, danno errore in fase di installazione con upip; tali moduli li installiamo direttamente senza usare la utility upip, ma scaricando la libreria dal sito elencato sopra e trasferendo il codice sul dispositivo.

Di seguito il link al codice mostrato sopra

Webreplsample

Altra opzione disponibile è compilare il firmware con i moduli richiesti.

Nel prossimo articolo esamineremo degli esempi analoghi a quanto fatto con LUA su ESP8266 in articoli precedenti

MicroPython – Esempi nodi con DHT11, Relé ed MQTT