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
Quelqu'un peut il m'aider?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5root@open:~# python /scripts/perso/relais_boitier.py TEMP 1001 1002 1003 TEMP Receiving ... Receiving ...
j'ai essaye les differents mode de decodage, rien
idem pour la conversion en string ..
Merci d'avance
Partager