mon code ressemble à ça :
`
#!/usr/bin/env /usr/bin/python3
from digi.xbee.devices import ZigBeeDevice
from digi.xbee.devices import RemoteZigBeeDevice
from digi.xbee.models.address import XBee64BitAddress
import RPi.GPIO as GPIO
import mysql.connector as mysql
import datetime
import json
from time import sleep
print(‹ Current date/time:{} ›.format(datetime.datetime.now()))
PORT = « /dev/ttyAMA0 »
BAUD_RATE = 9600
NEW_TIMEOUT_FOR_SYNC_OPERATIONS = 60
def main():
xbee = ZigBeeDevice(PORT, BAUD_RATE)
remote = RemoteZigBeeDevice(xbee,XBee64BitAddress.from_hex_string(« 0013A20041E8A70B »))
# remote = [RemoteZigBeeDevice(xbee,XBee64BitAddress.from_hex_string(« 0013A20041E54AE6 »)),RemoteZigBeeDevice(xbee,XBee64BitAddress.from_hex_string(« MAC_ADDRESS »)),…]
journee = datetime.datetime.now()
if((journee.hour <=16)and(journee.hour>7)) :
try :
xbee.open()
xbee.send_data(remote,« ok »)
#print("%d" % xbee.get_sync_ops_timeout())
xbee_message = xbee.read_data_from(remote,1000)
xbee.set_sync_ops_timeout(NEW_TIMEOUT_FOR_SYNC_OPERATIONS)
data = xbee_message.data.decode(‹ utf-8 ›)
strA="".join([data[i] for i in range(len(data)-1)])
dataJson = json.loads(strA)
query = « »« INSERT INTO GR10Test (Time,CompteurMinute,CompteurTotal,Etiquetteuse,T700,
Communication,Sauces,Encre,Autres) VAlUES (%s,%s,%s,%s,%s,%s,%s,%s,%s) »""
values = (dataJson[« Time »],dataJson[« Compteur_Pot »],dataJson[« Compteur_Total »],
dataJson[« Etiquetteuse »],dataJson[« T-700 »],dataJson[« Communication »],
dataJson[« Sauces »],dataJson[« Jet d’encre »],dataJson[« Autres »])
#print(values)
try :
db = mysql.connect(host=« localhost »,user = « root »,passwd = « XXX »,database = « XXX »)
try :
with db.cursor() as c :
c.execute(query,values)
db.commit()
print(« record inserted »)
except :
print(« Erreur d’encodage »)
except :
print(« Erreur de connexion »)
db.close()
journee=datetime.datetime.now()
finally :
if xbee is not None and xbee.is_open():
xbee.close()
else :
print(« à l’arrêt »)
if name == ‹ main ›:
main()
`
Je ne sais pas si ça peut aider ?