Bonjour

J'utilise une carte arduino avec un DHT22, cela fonctionne tres bien
le code uniquement de la partie serie pour info

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : 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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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