Iniziare con il Raspberry Pi Pico 2 W

Ari Mahpour
|  Creato: febbraio 28, 2025
Iniziare con il Raspberry Pi Pico 2 W

Il Raspberry Pi ha, senza dubbio, rivoluzionato il modo in cui utilizziamo i computer su scheda singola (SBC), rendendo piattaforme di sviluppo potenti ma accessibili a hobbisti, educatori e ingegneri allo stesso modo. Alcuni potrebbero sostenere che Arduino abbia giocato un ruolo altrettanto importante, ma realisticamente, opera a un livello molto più basso, essendo costruito per progetti basati su microcontrollori piuttosto che per il computing a pieno titolo.

È qui che entra in gioco il Raspberry Pi Pico 2 W. Si posiziona esattamente tra questi due mondi: un microcontrollore con seria potenza, connettività wireless integrata e abbastanza periferiche per rendere felice un ingegnere. Non eseguirà un sistema operativo Linux completo come un Pi 5, ma con processori dual-core Cortex-M33 e RISC-V, Bluetooth 5.2 e significativamente più RAM e memoria flash rispetto al tipico Arduino, offre un livello di flessibilità che lo rende una scelta convincente per sistemi embedded, applicazioni IoT e oltre.

In questo articolo, vedremo come iniziare con il Raspberry Pi Pico 2 W e passeremo attraverso un esempio che mostra le nuove capacità Bluetooth integrate.

Configurazione

Per iniziare, utilizzeremo MicroPython sul Raspberry Pi Pico 2 W. Dovrai prima scaricare il Bootloader UF2 dal sito web di Micropython. Ora, tieni premuto il pulsante BOOTSEL sul dispositivo Raspberry Pi Pico 2 W mentre lo colleghi al tuo computer (tramite la porta/cavo MicroUSB). Questo trasformerà il tuo dispositivo in un dispositivo di archiviazione (proprio come una chiavetta USB o una scheda MicroSD appaiono sul tuo computer). Ora copia il file UF2 sul tuo dispositivo “di archiviazione” Raspberry Pi Pico 2 W, scollega il cavo USB e ricollegalo. Utilizzando il tuo dispositivo di terminale seriale preferito come PuTTY o TeraTerm connettiti alla porta COM che appare per il tuo dispositivo, e dovresti essere accolto dall'interprete shell di MicroPython:

Figure 1: MicroPython shell interpreter via serial communication over USB
Figura 1: interprete shell MicroPython tramite comunicazione seriale su USB

Usando VSCode (anziché Thonny) e LED Blinker

In Primi Passi con MicroPython e Raspberry Pi Pico, abbiamo utilizzato l'IDE Thonny come editor per scrivere codice e caricare il dispositivo Raspberry Pi Pico 2 W. Con l'introduzione dell'IA nei editor di codice e le estensioni a non finire, ho deciso di impostare il mio ambiente su VSCode anziché Thonny. La cosa più importante da fare per prima (a parte installare VSCode) è installare l'estensione ufficiale di Raspberry Pi Pico (pubblicata da Raspberry Pi).

Una volta installata l'estensione, vedrai comparire un piccolo'icona di Raspberry Pi Pico sul lato sinistro della tua finestra di VSCode (proprio dove si trovano le altre estensioni). Clicca su di essa e poi naviga fino a "Nuovo Progetto MicroPython" sotto "Generale". Dai un nome al tuo progetto e un percorso, e clicca su "Crea".

Get Ready for the Electronics Design Jobs You Want


Experience hands-on learning in PCB and hardware design with Altium's Student license, cloud access & comprehensive curriculum.

Figure 2: Creating a New Project
Figura 2: Creazione di un Nuovo Progetto

Si aprirà un nuovo editor con solo alcuni file e una shell MicroPython. Uno di questi file è un esempio di file Python per far lampeggiare un LED. Apri questo blink.py. A questo punto, vorrai assicurarti che il tuo dispositivo Raspberry Pi Pico 2 W sia collegato. Nella parte inferiore del tuo editor VSCode, vedrai un piccolo pulsante di riproduzione. 

Figure 3: The “Run” Button in VSCode
Figura 3: Il pulsante “Esegui” in VSCode

Questo eseguirà direttamente blink.py sul dispositivo (caricandolo prima sul dispositivo). A questo punto, dovresti vedere una stampa e il tuo LED lampeggiare:

Figure 4: Terminal Output of LED Programming Running
Figura 4: Output del terminale della programmazione LED in esecuzione

Il pulsante Esegui si trasforma in un pulsante Stop che interrompe l'esecuzione del codice. Una volta confermato che il LED lampeggia, siamo ora pronti a passare a un esempio più sofisticato.

Sensore di Prossimità Bluetooth

Ora che abbiamo confermato che il nostro Raspberry Pi Pico 2 W è funzionante con MicroPython, esploriamo una delle sue caratteristiche più eccitanti: il Bluetooth 5.2. Questo esempio trasforma il tuo dispositivo Pico in uno scanner di prossimità Bluetooth capace di rilevare dispositivi bluetooth vicini (come gli smartphone) e determinare la loro forza del segnale (RSSI). Lo script, bluetooth_scan.py, opera in due modalità: Modalità Scoperta, che scandisce tutti i dispositivi vicini e stampa i loro indirizzi MAC, e Modalità Tracciamento, dove il Pico monitora continuamente un dispositivo specifico, accendendo un LED quando è a stretto contatto. Questa modalità di tracciamento è utile per rilevare specifici dispositivi Bluetooth vicini in tempo reale, anche se alcuni, come i dispositivi Apple, randomizzano i loro indirizzi MAC per motivi di privacy.

Per ottenere ciò, utilizziamo l'API Bluetooth di MicroPython, nello specifico bluetooth.BLE(), per inizializzare l'interfaccia Bluetooth del Pico. Lo script ascolta i pacchetti di annunci Bluetooth Low Energy (BLE) utilizzando gap_scan(), che esegue ripetutamente la scansione per una durata data ed elabora i risultati tramite un gestore di eventi (bt_irq). Questo approccio basato sugli eventi permette al Pico di reagire istantaneamente quando viene rilevato un nuovo dispositivo (pensate agli “interrupt” negli approcci più a basso livello). I dispositivi vengono filtrati in base al loro RSSI (Received Signal Strength Indicator), che aiuta a stimare la prossimità. I dispositivi più vicini hanno tipicamente segnali più forti (valori RSSI più alti, che si traduce in valori db meno negativi), e i dispositivi più lontani hanno segnali più deboli (cioè, un valore db più negativo). La Modalità Tracciamento confronta gli indirizzi MAC rilevati contro un target predefinito e accende il LED di bordo quando viene trovata una corrispondenza. I parametri di scansione sono attentamente selezionati per bilanciare la reattività in tempo reale con l'efficienza della CPU, prevenendo che il Pico venga sopraffatto mentre monitora continuamente i segnali Bluetooth.

Launch Your Career in Electronics Design


Gain the skills top employers look for. Start mastering PCB design with the Altium Student Lab today!

Per eseguire lo script, basta aprire bluetooth_scan.py e cliccare sul pulsante Esegui (come abbiamo visto con l'esempio del lampeggio sopra) per recuperare gli indirizzi MAC dei dispositivi nelle vicinanze. 

Figure 5: Running in “Discovery” Mode
Figura 5: Esecuzione in modalità “Scoperta”

Quindi, aggiorna lo script con un indirizzo MAC specifico e passa alla modalità Traccia per rilevare quando quel dispositivo si muove all'interno del raggio. Questo può essere trovato nella funzione principale in fondo allo script:

# Per tracciare un dispositivo specifico (sostituire con l'indirizzo MAC scoperto)
# scanner = BLEScanner(mode="track", target_mac="aa:bb:cc:dd:ee:ff")

Figure 6: Running in “Tracking” Mode
Figura 6: Esecuzione in modalità “Tracciamento”

I parametri di scansione sono stati ottimizzati per garantire un rilevamento reattivo senza bloccare altre operazioni, rendendo questo un ottimo introduzione alla scansione Bluetooth e alla gestione degli eventi sul Raspberry Pi Pico 2 W.

Conclusione

Il Raspberry Pi Pico 2 W è un'aggiunta emozionante al mondo dello sviluppo embedded, trovando un equilibrio perfetto tra la flessibilità di un microcontrollore e la potenza della connettività wireless integrata. Con MicroPython, abbiamo visto quanto sia facile iniziare, dal far lampeggiare un LED al sfruttare il modulo Bluetooth 5.2 integrato per il rilevamento della prossimità in tempo reale. Lo scanner di prossimità Bluetooth che abbiamo implementato introduce concetti fondamentali come la scansione BLE, la programmazione guidata dagli eventi e l'analisi della forza del segnale, dimostrando quanto possa essere realizzato con così poco codice.

Lay Out Your Track: Prepare for a Career in PCB Design


Develop the electronics design expertise that employers look for with Altium’s free Student Lab!

Sebbene questo fosse solo un esempio basilare, il Pico 2 W apre una nuova gamma di possibilità per applicazioni IoT, tracciamento in tempo reale e automazione wireless. Che tu sia un appassionato che sperimenta con periferiche BLE o un ingegnere che sviluppa sistemi embedded di prossima generazione, questo piccolo dispositivo si dimostra essere una centrale elettrica in un pacchetto minuscolo. E questo è solo l'inizio: c'è ancora il Wi-Fi, ottimizzazioni per il basso consumo e interazioni BLE più avanzate da esplorare. Il Raspberry Pi Pico 2 W è piccolo, ma ha una potenza notevole.

Per visualizzare il repository contenente tutto il codice per iniziare, visita https://gitlab.com/embedded-designs/micropython-bluetooth-example.

Sull'Autore

Sull'Autore

Ari è un ingegnere con una solida esperienza nei campi di progettazione, produzione, collaudo e integrazione di sistemi elettrici, meccanici e software. Ama riunire gli ingegneri addetti alla progettazione, alla verifica e al collaudo e farli lavorare insieme come un'unità affiatata.

Risorse correlate

Documentazione Tecnica Correlata

Tornare alla Pagina Iniziale
Thank you, you are now subscribed to updates.