probleme lecture caractere port serie
Bonjour
J'utilise une carte arduino avec un DHT22, cela fonctionne tres bien
le code uniquement de la partie serie pour info
Code:
1 2 3 4 5 6 7
| Serial.print("THI ");
Serial.print(t);
Serial.print(";");
Serial.print(h);
Serial.print(";");
Serial.print(hic);
Serial.println(" "); |
J'ai fait un mini script de test sous python windows, les donnees du port serie sont correctement recu
le codes 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 28 29 30 31
| import serial
import sys
import time
import json
ser = serial.Serial('COM17', 115200, timeout=0.2)
ser.close()
ser.open()
RELAIS = sys.argv[1]
IDX1 = sys.argv[2]
if RELAIS=="TEMP":
IDX2 = sys.argv[3]
IDX3 = sys.argv[4]
print(RELAIS)
message=RELAIS.encode('utf-8')+'\r\n'.encode('utf-8')
ser.write(message)
time.sleep(1)
message = ser.readline()[:-2]
print('Receiving ...'+message.decode('utf-8'))
#time.sleep(2)
if (RELAIS=="TEMP"):
temp = message.decode('utf-8')[4:9]
hum = message.decode('utf-8')[10:15]
hic = message.decode('utf-8')[16:21]
print (temp)
print (hum)
print (hic) |
les donnees recu avec python sous windows:
Code:
1 2 3 4 5 6 7 8
| python.exe relais.py TEMP 1001 1002 1003
TEMP
b'THI 13.40;88.00;13.09 '
Receiving ...THI 13.40;88.00;13.09
Receiving ...THI 13.40;88.00;13.09
13.40
88.00
13.09 |
le format me convient pour les tests
par contre le meme script sous debian 8, aucune donnee
Code:
1 2 3 4 5
| root@open:~# python /scripts/perso/relais_boitier.py TEMP 1001 1002 1003
TEMP
Receiving ...
Receiving ... |
Quelqu'un peut il m'aider?
j'ai essaye les differents mode de decodage, rien
idem pour la conversion en string ..
Merci d'avance