Je voudrais utiliser Digi XStick2 ZB
(connecté via USB et visible comme interface série sur /dev/ttyUSB0
) comme un contrôleur ZigBee pour un groupe de capteurs et actionneurs ZigBee (température et humidité, capteur de contact, fuite d'eau, prise d'alimentation, ...) . En d'autres termes, je cherche le moyen de configurer un réseau maillé et de communiquer avec des capteurs/actionneurs.Quel est le protocole pour les commandes envoyées via xbee.send()?
J'ai trouvé python xbee et a écrit un script python simple pour communiquer avec la clé USB:
#!/usr/bin/python
import serial
import time
from xbee import ZigBee
def print_data(data):
print "Data received:", data
serial_port=serial.Serial('/dev/ttyUSB0', 9600)
zbee = ZigBee(serial_port, callback=print_data)
print "Sending some command"
zbee.send("at", frame='A', command='MY', parameter=None)
print "Waiting..."
while True:
try:
time.sleep(0.001)
except KeyboardInterrupt:
break
zbee.halt()
serial_port.close()
Il fonctionne, et je reçois une réponse à ma commande:
$ ./test.py
Sending some command
Waiting...
Data received: {'status': '\x00', 'frame_id': '\x01', 'parameter': '\x00\x00', 'command': 'MY', 'id': 'at_response'}
Mais je peux » t trouver quelque chose sur le protocole utilisé (à savoir, le contenu des messages que je peux envoyer) - y a-t-il une référence de commande ou une définition de protocole que je peux utiliser?
Alternativement, existe-t-il un moyen plus simple (bibliothèque de niveau supérieur?) De contrôler les capteurs via une clé USB?