I.Obiettivo
II.Parti e dispositivi
III.Installazione hardware
IV.Installazione software

Acquista da US Acquista da UK Acquista da DE Acquista da IT Acquista da FR Acquista da ES ここでご購入を!


In questa lezione, ti insegneremo come utilizzare un’APP mobile per controllare un’auto robot tramite protocollo UDP. Il Raspberry Pi eseguirà un programma Python per ottenere un pacchetto UDP da APP.

Imparerai come usare Python per ottenere dati remoti (pacchetto UDP) dall’APP mobile.


No. Immagine Dispositivo Qty. Accessoristica Collegamento
1 Sensore a ultrasuoni 1 M1.5 * 8 vite x 4
dado M1.5 x 4
Clicca qui per acquistare
2 Servomotore 1 M2.2 * 8 Vite autofilettante x 2
M2 * 4 Vite autofilettante x 1
Clicca qui per acquistare
3 Supporto di montaggio per sensore a ultrasuoni 1 M1.5 * 8 vite x 4
dado M1.5 x 4
M2 * 4 vite autofilettante x 1
Clicca qui per acquistare
4 Modulo sensore di tracciamento 1 M2.5 Vite in plastica x 2
M2.5 Dado in plastica x2
M2.5 Pilastro in plastica x 2
Clicca qui per acquistare
5 7pin 25 cm Cavo da femmina a femmina 1 Clicca qui per acquistare
6 20Pin ponticello filo femmina a femmina 20 cm alcuni
7 Cacciavite Philips 1 Clicca qui per acquistare


Passo 1: Installa il framework di base dell’auto intelligente come da lezione 3. Se non si installa il modulo sensore di tracciamento, completare l’installazione nella lezione 2.



Passo 1) Assicurati di aver installato rpi.gpio e adafruit-pca9685 library, e abilita I2C nella lezione 1.

Passo 2) Accendi l’auto robot e digita il seguente comando per scaricare il codice di esempio:

wget http://osoyoo.com/driver/picar/picar-udp-control.py


Passo 3) Digitare il seguente comando per eseguire il codice di esempio (ATTENZIONE: selezionare un comando corretto in base alla scheda Pi):

Se si utilizza Python 2 in Raspberry Pi 3, digitare:

python picar-udp-control.py

oppure, se si utilizza Python 3 in Pi 4/3A+, digitare:

python3 picar-udp-control.py


Dopo che il python sopra è in esecuzione, la tua auto è in attesa di comando dal tuo cellulare.

Passo 4) Scarica OSOYOO Wi-Fi UDP Robot Car control APP In Google Play o Apple Store, cerca le parole chiave “OSOYOO IoT UDP Robot APP”, troverai un’icona rossa APP
come segue:

Passo 5) Collegare il telefono allo stesso router Wi-Fi SSID del Raspberry Pi. Aprire l’APP, fare clic sull’icona “impostazioni(1)” per accedere all’interfaccia utente, inserire [Raspberry Pi IP address] e [Port] in [8888], fare clic su [Save], quindi fare clic sull’icona indietro(5) per tornare all’interfaccia utente di controllo come segue:

Passo 6)

Ora, metti l’auto a terra e puoi fare clic sui tasti di direzione < > ^ v per far muovere l’auto. Usa || tasto di pausa per fermare il movimento dell’auto.

Se fai clic sul tasto Ostacolo (F8), l’auto eseguirà la guida automatica per evitare gli ostacoli in modo simile alla lezione 3

Se fai clic sul tasto Tracking (F7), l’auto eseguirà il link tracking auto driving simile alla lezione 2

Nota: F1 ~ F6 sono ulteriori funzioni di sviluppo in futuro.

Domande frequenti sull’app IoT UDP e sul codice sketch:

Q1)Come sintonizzare la velocità dell’auto robot?
A: Se si desidera modificare le prestazioni di velocità dell’auto robot, modificare i seguenti valori nella riga 19-21 nel file picar-udp-control.py:

high_speed = 4000  # Max pulse length out of 4096
mid_speed = 2000  # Max pulse length out of 4096
low_speed = 1000  # Max pulse length out of 4096

D 2)Cosa succede quando premi i pulsanti in OSOYOO IoT UDP Robot APP ?
A: Quando si preme un pulsante dell’APP, l’APP invierà un messaggio di una singola lettera tramite protocollo UDP al dispositivo di destinazione Raspberry Pi

Bottone Messaggio UDP
F1 /
F2 /
F3 /
F4 /
F5 /
F6 /
Avanzare
Indietro
A destra
A sinistra
quadrato Fermarsi
F7 Inseguimento
F8 ostacolo

Q3)In che modo il programma python Raspberry Pi gestisce il comando UDP?
Le linee da 290 a 318 mentre il ciclo riceve i dati UDP da APP e li danno a cur_status vitali, la funzione ticker nella riga 266 – 280 gestisce il cur_status :

def ticker():	
    if cur_status=='R':
    	turnRight(high_speed,0)
    if cur_status=='L':
    	turnLeft(0,high_speed)
    if cur_status=='A':
    	forward(mid_speed,mid_speed)
    if cur_status=='B':
    	backward(mid_speed,mid_speed)
    if cur_status=='E':
    	stopcar()
    if cur_status=='T':
    	line_tracking()
    if cur_status=='O':
    	obstacle_avoid()

Ad esempio, quando viene premuto il tasto APP ▲, cur_status valore è A, quindi la funzione ticker() chiamata in avanti (mid_speed,mid_speed) per far avanzare l’auto.