Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

ZigbeeパケットをRubyで送ってみる

Digiから
XCTU Software - Digi International
てなツールは出ているのですが。
LinuxGUIなしで送信しないといけない等々、そういった事情に合わせたものです。

幸いにして、API2にも対応したruby-xbeeというgemがあるのでこれを使ってみましょう。

gem install xbee-ruby

導入後は、以下のようにしてやると送信できます。

require 'xbee-ruby'
xbee = XBeeRuby::XBee.new port: '/dev/ttyUSB0', rate: 57600
xbee.open
request = XBeeRuby::TxRequest.new  XBeeRuby::Address64.new(0x00, 0x13, 0xa2, 0x00, 0x40, 0x4a, 0x50, 0x0c), [0x12, 0x34, 0x56]
xbee.write_request request
puts xbee.read_response
xbee.close

アドレスやペイロードの指定がやや癖があるものの
これをつかえばXBeeシリーズであれば動作するのでお勧めです。