Commit 47e9ab4e authored by MACHADO-VICENTE MICKAEL's avatar MACHADO-VICENTE MICKAEL
Browse files

Communication arduino raspberry à peu pres fonctionnelle

parent 89ecff34
void setup() {
// On initialise la communication série
Serial.begin(19200);
}
void loop() {
// On regarde si on a reçu des données via le port série
if (Serial.available() > 0) {
// On a bien reçu des données
String data = Serial.readStringUntil('\n');
if (data == "Ok") {
String listeCapteurs = "1631131625874;21517614058209;218381011253;422003312207;874124856190;711704057252;231468758232;154814212237;1515323556113;1671142045633;19913424456141;1351587057102;1831092485626;2021444312125;19912824156142";
Serial.println(listeCapteurs);
}
else {
Serial.print("J'ai bien reçu la liste suivante : ");
Serial.println(data);
}
}
}
"""
Projet : Qui-est-ce ?
Auteurs : Pauline MELEDO, Yoann KLEIN, Mickaël MACHADO VICENTE, Gabrielle HURE
Ecole : Télécom Physique Strasbourg
Ce fichier est le script qui doit être lancé.
La Base de données y est lue.
L'arbre est testé grace aux tags des capteurs qui doivent être donnés au script.
L'état des LEDs doit être renvoyé à l'Arduino
"""
from lecteur_bd import *
from verification_elements import *
import os
import serial
import time
from pathlib import Path
"""
Lecture base de données
"""
chemin_bd = Path(os.getcwd()).joinpath("data/base_donees.xlsx")
lecteur_bd = LecteurBd(chemin_bd)
"""
Creation liste de capteurs et tags lus comme exemple
"""
ser = serial.Serial('/dev/ttyACM0', 19200, timeout=1)
ser.flush()
count = 0
while True:
ser.write(b"Ok\n")
time.sleep(1)
reponse_arduino = ser.readline().decode('utf-8').rstrip()
count = count+1
if (count > 1):
print('Réponse arduino', reponse_arduino)
liste = reponse_arduino.split(';')
print("liste", liste)
capteurs = []
for i in range(1, 16):
capteurs.append(Capteur(i, liste[i - 1]))
verif = VerificationElements(lecteur_bd.liste_personnages, lecteur_bd.liste_question, capteurs)
verif.verification_globale()
print("nb étage = {}".format(verif.nb_etage))
reponse_leds = ""
print("Etat des LEDs:")
for idx, valeur in enumerate(verif.resultat_leds):
print("Index de la LED : ", idx, " --> valeur de la LED : ", valeur)
reponse_leds += str(valeur)
reponse_leds += ";"
reponse_leds = reponse_leds[:-1]
reponse_leds += "\n"
ser.write(reponse_leds.encode('utf-8'))
line = ser.readline().decode('utf-8').rstrip()
print(line)
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment