Étape 6: Monter le code final et compiler !
Nous avons eu notre sixième sens configuration d’ordinateur comme un serveur web et modifié le programme de sixième sens pour écrire un seul caractère dans un fichier texte qui était sur le serveur web et accessible ce fichier à partir de la Pi de framboise pour lire les valeurs comme intrants pour le contrôle de la voiture.
Le fichier texte contenue tout simplement l’une des cinq caractères après la position actuelle de chacun des quatre marqueurs de couleur :
1, 2, 3, 4, 0
Le code Python sur la facture pro forma de framboise (ou le code C sur un Arduino) lit le caractère du fichier web et il décode l’action appropriée pour la voiture.
Sixth Sense Code peut être trouvé à notre dépôt git :
https://github.eecs.WSU.edu/mblaisde/TPAHRC
C’est le code Python pour le Pi de framboise qui lie tout ensemble.
Collez ceci dans un fichier de python et exécuter.
#Hardware Hackathon
#Code 1
# 14/11/15 #Ground -> broche 20 gris
#5V -> pin 2 #3.3 -> pin 1
#receive les données #! / usr/bin/env python
importation urllib.request
Print ("Pi Home server en cours d’exécution!")
forwardPin = # 17 GPIO broche 3 blanc
backwardPin = 23 # pin 5 violet
leftPin = 27 #pin 13 gris
rightPin = 22 #pin 15 rouge
de temps importer sommeil de RPi importation GPIO importer fois
# définir notre mode de GPIO.setmode(GPIO. BCM)
def setup() :
GPIO.setup (forwardPin, GPIO. OUT)
GPIO.setup (backwardPin, GPIO. OUT)
GPIO.setup (leftPin, GPIO. OUT)
GPIO.setup (rightPin, GPIO. OUT)
def loop() :
Response=urllib.Request.urlopen ('http://192.168.1.114/WriteLines.txt')
html=Str(Response.Read()) [2:-1]
html = html.split("\\r\\n") [: -1]
Print(html)
Print(html[0])
Si (html [0] == « 1 ») :
# Avancer
GPIO.output (forwardPin, True)
Time.Sleep(.75)
GPIO.output (forwardPin, False)
Print ("HTML 1")
Elif (html [0] == « 2 ») :
# Reculer
GPIO.output (backwardPin, True)
Time.Sleep(.75)
GPIO.output (backwardPin, False)
Print ("2 HTML")
Elif (html [0] == « 3 ») :
#/ / Tourner à gauche
GPIO.output (forwardPin, True)
GPIO.output (leftPin, True)
Time.Sleep(.75)
GPIO.output (forwardPin, False)
GPIO.output (leftPin, False)
Print ("HTML 3 à gauche")
Elif (html [0] == « 4 ») :
#/ / Tourner à droite
GPIO.output (forwardPin, True)
GPIO.output (rightPin, True)
Time.Sleep(.75)
GPIO.output (forwardPin, False)
GPIO.output (rightPin, False)
Print ("HTML 4")
def main() :
GPIO.setwarnings(False)
Setup()
while(1) :
Loop()
Time.Sleep(.1)
main()