Fonction SPLIT sur python
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:
Code:
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");
} |
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
et sur la raspberry pi le programme est :
Code:
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) |
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.
Comment faire pour sauvegarder les 3 parties de la donnée reçu?