Programmare in Python con la Wio RP2040 dev board

python wio RP2040

La board Wio RP2040 prodotta da SeeedStudio consente di programmare in Python una board di tipo Arduino senza dover accedere al linguaggio C.

Iniziamo oggi una breve serie di articoli dedicati alla scheda Wio RP2040 dev board, prodotta da SeeedStudio. Vedremo assieme come configurare ed attivare la scheda per l’utilizzo con MicroPython, eseguiremo il nostro benchmark per microcontrollori, impareremo a trasmettere e ricevere dati via WiFi e a utilizzare la sched come sistema di organizzazione per l’IoT.

Lavoreremo sia in C che in Python, cercando di sfruttare al massimo le caratteristiche di questo sistema compatto ed efficiente.

La scheda Wio RP2040

Python RP2040 Wio

Wio RP2040 mini Dev Board è una scheda di sviluppo basata sul modulo Wio RP2040 con funzione wireless, che supporta la programmazione MicroPython, basata su di un RP2040 dual-core a 133MHz, a bassa potenza con funzioni wireless. Con prestazioni potenti e dimensioni ridotte, è un’opzione perfetta per lo sviluppo di progetti IOT.

La scheda ha diverse interfacce, inclusi 28 PIN GPIO (19 PIN supportano PIO e PWM), 2 UART, 4 ADC, 2 SPI, 2 I2C. Alcuni pin possono essere multiplexati, come GP12 e GP13 con funzioni I2C, SPI, UART. La mini scheda di sviluppo wireless Wio RP2040 supporta un’interfaccia USB di tipo C, che può fornire alimentazione e codice di download. Oltre alla luce LED di alimentazione integrata, è stato aggiunto un LED controllabile dall’utente (è collegato al pin GP13). Un pulsante RESET (deniominato “RUN” sulla scheda) e un pulsante BOOT (che può essere utilizzato per ricaricare il firmware). Vediamo come configurarla.

Attenzione: l’MCU funziona a 3,3 V. Se l’ingresso di tensione collegato al pin I/O generico è superiore a 3,3 V, potrebbe causare danni al chip. Si prega di prestare attenzione all’uso,

La scheda di controllo principale riconosce un firmware MicroPython integrato, quindi gli utenti possono connettersi direttamente all’editor di codice Thonny. Se il firmware irisulta danneggiato o si desidera sostituirlo con un altro firmware, è sufficiente  scaricare il file firmware.uf2 sul computer. Tenere premuto il pulsante BOOT della scheda di controllo principale dell’RP2040, quindi collegare con il cavo USB. A questo punto, il computer visualizzerà un disco rimovibile aggiuntivo: trascinare il firmware scaricato sul disco rimovibile per completare l’aggiornamento.

Collegando la mini scheda di sviluppo Wio RP2040 al computer tramite il cavo USB, l’indicatore di alimentazione LED rosso sulla scheda dovrebbe accendersi.

Gestire il software

1 – Installare Thonny

L’IDE Thonny viene fornito con Python 3.7 integrato, quindi è necessario solo un semplice programma di installazione per imparare a programmare. Innanzitutto, fare clic su Thonny.org per accedere alla pagina di download. Nell’angolo in alto a destra della pagina, seleziona il pacchetto di installazione di Thonny in base al proprio sistema operativo. Fare doppio clic sul pacchetto di installazione scaricato per aprirlo e installarlo secondo i classici passaggi.

Thonny RP2040 SeeedStudio

Una volta installato il software, è possibile accedere all’interfaccia grafica. In particolare, in basso a destra possiamo visualizzare la release dell’interprete utilizzato. Cliccando sulla label, potremo configurare l’IDE scegliendo l’opzione Micropython (Raspberry PI Pico). L’applicazione cercherà di riconoscere autoaticamente la nostra board.

2 – Collegare la scheda

Utilizzare il cavo dati per collegare la scheda di sviluppo al computer, quindi fare clic sul pulsante “Riavvia backend” sulla barra degli strumenti (Ctrl+F2). Se Wio RP2040 è connesso correttamente al computer, la finestra della shell riporterà le informazioni sulla versione di MicroPython e il nome del dispositivo.

python RP2040

3 – Scrivere il programma

Possiamo procedere alla composizione del nostro programma in Python. In particolare, produrremo il classico programma blink, l’equivalente di hello_world.c per i microcontrollori.

Il programma acquisisce i moduli Pin e Timer dalla libreria Machine, definiamo un timer (tim) e lo inizializziamo per richiamare periodicamente (ogni secondo) una funzione di callback che chiameremo fun. La funzione non farà altro che incrementare stampare il contatore (una variabile globale) ed imporre al led un valore intero compreso tra 0 e 1 (il resto della divisione di Counter per 2). Tali valori corrispondono ai valori LOW e HIGH di Arduino IDE.

Per lanciare il programma sulla board sarà sufficiente premere il tasto start (F5) presente sull’IDE.

Considerazioni finali

Qualora si desideri lanciare il programma in automatico all’accensione della scheda, è necessario rinominare il codice in “main.py” e salvarlo sulla scheda di controllo con la procedura vista prima. Al successivo riavvio della scheda di controllo principale, eseguirà automaticamente il programma main.py.

Nella prossima puntata (domani) mostreremo come collegare il sistema ad Arduino IDE e lanciare il nostro programma di benchmarking sul Wio RP2040.

Definire ciò che si è non risulta mai semplice o intuitivo, in specie quando nella vita si cerca costantemente di migliorarsi, di crescere tanto professionalmente quanto emotivamente. Lavoro per contribuire al mutamento dei settori cardine della computer science e per offrire sintesi ragionate e consulenza ad aziende e pubblicazioni ICT, ma anche perche’ ciò che riesco a portare a termine mi dà soddisfazione, piacere. Così come mi piace suonare (sax, tastiere, chitarra), cantare, scrivere (ho pubblicato 350 articoli scientfici e 3 libri sinora, ma non ho concluso ciò che ho da dire), leggere, Adoro la matematica, la logica, la filosofia, la scienza e la tecnologia, ed inseguo quel concetto di homo novus rinascimentale, cercando di completare quelle sezioni della mia vita che ancora appaiono poco ricche.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.