I.Obiettivo
II.Parti e Dispositivi
III.Installazione del Hardware
IV.Connetti i circuiti
V.Installazione del Software

Acquista da US Acquista da UK Acquista da DE Acquista da IT Acquista da FR Acquista da ES Acquista da JP


Ci sono molti modi per controllare Raspberry Pi Robot Car da Internet.  In questo progetto, introduciamo un metodo popolare che è quello di installare un server web su Raspberry Pi. In altre parole, possiamo trasformare la nostra scheda Pi in un sito web e usare browser o Cell phone APP per scambiare dati con Raspberry Pi.



No. Picture Device Qty. Accessories Link
1 Modulo Sensore di Linea 1 M2.5 Vite di plastica x 2
M2.5 Dado in plastica x2
M2.5 Supporto di plastica x 2
Click here to buy
2 Cavo 7pin 25cm da femmina a femmina 1 Click here to buy
3 Cacciavite Philips 1 Click here to buy


Step 1: Installare la struttura di base della smart car come da Lezione 2.



Step 1) Scarica il file dello script di installazione digitando il seguente comando:

wget http://osoyoo.com/driver/picar/pi-webserver.sh

e digita il seguente comando:

bash pi-webserver.sh

Dopo aver eseguito i comandi di cui sopra, si installerà la libreria python Flask e si creerà automaticamente una directory chiamata pi-webserver e due sotto-directory sotto pi-webserver che sono static e templates, la struttura è la seguente:

La directory pi-webserver memorizzerà il nostro file di codice python, la directory static memorizzerà il file css e la cartella templates memorizzerà i file html. Se non sapete cos’è il file HTML, CSS, non importa.

Step 2) digitate il comando “hostname -I” per ottenere l’IP del vostro Raspberry Pi, dopo aver eseguito il comando, vedrete il seguente risultato:

Nel risultato precedente, 192.168.0.107 è l’indirizzo IP del mio Raspberry Pi.

Step 3)Dobbiamo modificare il file di codice python e cambiare l’indirizzo IP nel file.

Digitare i seguenti comandi per entrare nella cartella pi-webserver:

cd pi-webserver


Digita il seguente comando per modificare il file pi-webserver.py

nano pi-webserver.py

Sostituisci “192.168.0.107” con l’indirizzo IP del tuo Raspberry Pi, e poi clicca “ctrl” e “x” poi clicca “Y” per salvare il file e poi clicca “enter” per uscire dal file.

Potrai aprire pi-webserver.py nell’editor nano e vedere il codice python come segue:

import RPi.GPIO as GPIO
from flask import Flask, render_template, request
app = Flask(__name__)
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
pi_ip_address='10.0.0.89' # replace this ip value with your Raspberry Pi IP address, you can use ifconfig command to see the IP

#define actuators GPIOs
sensor1= 25 # No.1 sensor from right
sensor2= 9 # No.2 sensor from right
sensor3= 11 # middle sensor
sensor4= 8 # No.2 sensor from left
sensor5= 7 #No.1 sensor from left
#initialize GPIO status variables
Sts1 = 0
Sts2 = 0
Sts3 = 0
Sts4 = 0
Sts5 = 0

# Define sensor pins as output
GPIO.setup(sensor1, GPIO.IN)   
GPIO.setup(sensor2, GPIO.IN) 
GPIO.setup(sensor3, GPIO.IN) 
GPIO.setup(sensor4, GPIO.IN)   
GPIO.setup(sensor5, GPIO.IN) 

		
@app.route("/")
def index():
	# Read Sensors Status
	Sts1 = GPIO.input(sensor1)
	Sts2 = GPIO.input(sensor2)
	Sts3 = GPIO.input(sensor3)
	Sts4 = GPIO.input(sensor4)
	Sts5 = GPIO.input(sensor5)

	
	templateData = {
      'title' : 'IR tracking sensor Status!',
      'sensor_status_1'  : Sts1,
      'sensor_status_2'  : Sts2,
      'sensor_status_3'  : Sts3,
      'sensor_status_4'  : Sts4,
      'sensor_status_5'  : Sts5
      }
	return render_template('index.html', **templateData)

if __name__ == "__main__":
   app.run(host=pi_ip_address, port=80, debug=True)

 

Step 4) Eseguite il codice digitando il seguente comando:

sudo python pi-webserver.py

Step 5) Il vostro server web python flask si avvierà. Ora nel vostro PC o telefono cellulare che è la stessa rete wifi del vostro Raspberry Pi, aprite broswer e visitate http://your_raspberry_pi_ip_address (nel mio caso http://192.168.0.107), vedrete lo stato dei vostri 5 sensori di tracking nel vostro browser:

lo stato del sensore sarà aggiornato ogni 5 secondi, quindi se si mette la linea nera sotto altri sensori, il valore del sensore nella pagina web sopra cambierà dopo 5 secondi.