一連の ZigBee センサーとアクチュエーター (温度と湿度、接触センサー、水漏れ、電源プラグなど) の ZigBee コントローラーとしてDigi XStick2 ZB
(USB 経由で接続され、上のシリアル インターフェイスとして表示されます)を使用したいと思います。/dev/ttyUSB0
つまり、メッシュ ネットワークを構成し、センサー/アクチュエーターと通信する方法を探しています。
Python xbeeを見つけ、USB スティックと通信するための簡単な Python スクリプトを作成しました。
#!/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()
それは機能し、コマンドに対していくつかの応答が得られます。
$ ./test.py
Sending some command
Waiting...
Data received: {'status': '\x00', 'frame_id': '\x01', 'parameter': '\x00\x00', 'command': 'MY', 'id': 'at_response'}
しかし、使用されているプロトコル (つまり、送信できるメッセージの内容) については何も見つかりません。使用できるコマンド リファレンスまたはプロトコル定義はありますか?
または、USBスティックを介してセンサーを制御する簡単な方法(高レベルライブラリ?)はありますか?