Nota
Ciao, benvenuto nella Community di appassionati di SunFounder Raspberry Pi, Arduino e ESP32 su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino e ESP32 insieme ad altri appassionati.
Perché unirti?
Supporto Esperto: Risolvi i problemi post-vendita e le sfide tecniche con l’aiuto della nostra community e del nostro team.
Impara e Condividi: Scambia consigli e tutorial per migliorare le tue competenze.
Anteprime Esclusive: Ottieni accesso anticipato agli annunci di nuovi prodotti e alle anteprime.
Sconti Speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.
Promozioni Festive e Giveaway: Partecipa a promozioni festive e concorsi a premi.
👉 Sei pronto a esplorare e creare con noi? Clicca su [Qui] e unisciti oggi stesso!
9. Gioca con @SunFounder Controller
In questo progetto, imparerai a costruire un progetto remoto utilizzando l’APP SunFounder Controller. In un ambiente LAN, puoi controllare il circuito del tuo Pico W con il tuo telefono o tablet. Troverai questa app molto utile se vuoi costruire un semplice robot con Pico W.
Qui, utilizzeremo la barra di scorrimento sull’APP per controllare l’angolo del servo e il misuratore sull’APP per mostrare la distanza rilevata dall’ultrasuoni.
1. Componenti necessari
In questo progetto, abbiamo bisogno dei seguenti componenti.
È sicuramente conveniente acquistare un kit completo, ecco il link:
Nome |
ELEMENTI IN QUESTO KIT |
LINK |
|---|---|---|
Kit Kepler |
450+ |
Puoi anche acquistarli separatamente dai link qui sotto.
SN |
COMPONENTE |
QUANTITÀ |
LINK |
|---|---|---|---|
1 |
1 |
||
2 |
Cavo Micro USB |
1 |
|
3 |
1 |
||
4 |
Diverse |
||
5 |
1 |
||
6 |
1 |
||
7 |
1 |
||
8 |
Batteria 18650 |
1 |
|
9 |
Supporto Batteria |
1 |
2. Costruisci il Circuito
Avvertimento
Assicurati che il modulo caricabatterie Li-po sia collegato come mostrato nello schema. Altrimenti, un cortocircuito potrebbe danneggiare la batteria e il circuito.
3. Configura SunFounder Controller
Installa l”SunFounder Controller APP dall”APP Store (iOS) o da Google Play (Android).
Apri l’APP e clicca sul pulsante + nella home page per creare un controller.
Qui scegliamo Blank e Dual Stick.
Ora otteniamo un controller vuoto.
Clicca sull’area H e aggiungi un widget Slider.
Clicca sull’ingranaggio del controllo per aprire la finestra delle impostazioni.
Imposta il massimo a 180 e il minimo a 0, quindi clicca su Conferma.
Clicca sull’area L e aggiungi un widget Gauge.
Clicca sull’ingranaggio del Gauge, apri la finestra delle impostazioni, imposta il massimo a 100, il minimo a 0 e l’unità su cm.
Dopo aver terminato le impostazioni del widget, clicca su Salva.
4. Esegui il Codice
Nota
Se il tuo Pico W sta attualmente utilizzando il firmware Anvil, dovrai 1.3 Installare MicroPython sul Tuo Pico.
Carica
ws.pyewebsocket_helper.pydal percorsokepler-kit-main/libsal Raspberry Pi Pico W.
Fai doppio clic sullo script
ws.pye inserisci ilSSIDe laPASSWORDdel tuo WiFi.
Apri
9_sunfounder_controller.pynel percorsokepler-kit-main/iot. Clicca sul pulsante Esegui script corrente o premi F5 per eseguirlo. Dopo una connessione riuscita, vedrai l’IP del Pico W.
Nota
Se vuoi che questo script si avvii automaticamente, puoi salvarlo come
main.pynel Raspberry Pi Pico W.Torna all’APP SunFounder Controller, clicca sul pulsante Connetti.
Se PicoW viene rilevato, toccalo direttamente per connetterti.
Se non viene rilevato automaticamente, puoi anche inserire manualmente l’IP per connetterti.
Quando scorri la barra del cursore nell’area H dopo aver cliccato sul pulsante Esegui, il servo regolerà il suo angolo. Il misuratore nell’area L mostrerà la distanza se la tua mano è entro 100 cm dal sensore ad ultrasuoni.
Come funziona?
La classe WS_Server nella libreria ws.py implementa la comunicazione con l’APP. Di seguito è riportato il framework per implementare la sua funzionalità di base.
from ws import WS_Server
import json
import time
ws = WS_Server(8765) # inizializza il websocket
def main():
ws.start()
while True:
status,result=ws.transfer()
time.sleep_ms(100)
try:
main()
finally:
ws.stop()
Innanzitutto, dobbiamo creare un oggetto WS_Server.
ws = WS_Server(8765)
Avvialo.
ws.start()
Successivamente, viene utilizzato un ciclo while True per eseguire il trasferimento dati tra Pico W e l’APP SunFounder Controller.
while True:
# websocket transfer data
status,result = ws.transfer()
# the status of transfer data
print(status)
# the data you recv
print(result)
# the data you send
print(ws.send_dict)
time.sleep_ms(100)
status è False se non riesce a ottenere dati dall’APP SunFounder Controller.
E result sono i dati che Pico W ha recuperato dall’APP SunFounder Controller.
Stampali e vedrai qualcosa di simile a quanto segue. Questo è il valore di tutte le aree Widget.
{'C': None, 'B': None, 'M': None,,,,, 'A': None, 'R': None}
Come in questo caso, stampiamo i valori dell’area H separatamente e li usiamo per operare il circuito.
status,result=ws.transfer()
#print(result)
if status == True:
print(result['H'])
E il dizionario ws.send_dict sono i dati che Pico W invia all’APP SunFounder Controller. Viene creato nella classe WS_Server. Verrà inviato quando viene eseguito ws.transfer().
Il messaggio è mostrato di seguito.
{'Check': 'SunFounder Controller', 'Name': 'PicoW', 'Type': 'Blank'}
Questo è un messaggio vuoto, per copiarlo nel widget sull’APP SunFounder Controller, dobbiamo assegnare il valore all’area corrispondente nel dizionario. Ad esempio, assegnare il valore 50 all’area L.
ws.send_dict['L'] = 50
I dati sono mostrati di seguito:
{'L': 50, 'Type': 'Blank', 'Name': 'PicoW', 'Check': 'SunFounder Controller'}
Per maggiori dettagli sull’utilizzo di SunFounder Controller, consulta SunFounder Controller APP.