Bonjour, j’ai une raspberry pi qui reçois des données sur le port série. Ces données sont envoyées à partir d’une arduino.
Le programme de la arduino est:
il n'y a pas de problème avec cela, car j'arrive à recevoir et visualiser toutes les données que la arduino m'envoie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 void setup() { Serial.begin(115200); } void loop() { affiche_pin(); delay(30); } void affiche_pin() { Serial.println("AI1=1=NOK"); Serial.println("AI1=1=NOK"); Serial.println("AI2=1=NOK"); Serial.println("AI3=1=NOK"); Serial.println("AI4=1=NOK"); Serial.println("AI5=1=NOK"); Serial.println("AI6=2=OK"); Serial.println("AI7=2=OK"); Serial.println("AI8=2=OK"); Serial.println("AI9=2=OK"); Serial.println("AI10=2=OK"); Serial.println("AI11=2=OK"); }
et sur la raspberry pi le programme est :
Dans le terminal de la raspberry, je visualise bien le print(port_serie) mais les print(part1), print(part2) et print(part3) affichent des nombres et pas les caractères de la chaine.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #!/usr/bin/env python3 import serial import re #parametrage du port serie ser = serial.Serial('/dev/ttyUSB0', 115200) #lecture du port serie port_serie = ser.readline() #activation du découpeur de chaine de caractère port_serie.split for port_serie in port_serie.split(b"="): #b":" obligé de mettre le b caractère codé en bytes print(port_serie) part1 = port_serie[0] part2 = port_serie[1] part3 = port_serie[2] print(part1) print(part2) print(part3)
Comment faire pour sauvegarder les 3 parties de la donnée reçu?
Partager