Top > XBee > API

広告

コマンドで実行

API (Application Programming Interface)を使うと単なる通信だけではなく、いろいろなことができる。
XBeeは本体を見るとわかるように、デジタル入出力やアナログ入出力、PWM出力があり、XBeeだけでも多少のことはできるようになっている。
単なるセンサーネットワークやIOとして使うならマイコンなどを使わずにXBeeだけでも実現できる。
そういう意味では「透過モード」だけ使うのはもったいない気がする。

Series 2ではATとAPIはファームが別。Series 1は同じファームでATもAPIもできる

また、Series 2ではAPI用にするとATコマンドが使えなくなる。透過モードも使えないみたい。
そういった意味ではいろいろ遊ぶにはSeries 1の方が良さそう。値段も安いし。

APIの利点

  • リモート制御ができる
  • プログラミングが楽
  • リモート側はXBeeだけでもいろいろできる。

APIの書式

以下のような書式でデータを送る。

0x7E+MSB,LSB(データ長)+コマンド、データ+チェックサム

0x7EはAPIのデリミタ、MSB,LSBはコマンドとデータのバイト数を入れる。
チェックサムはコマンドとデータ部の値の合計を0xFFから引いたもの。
たとえば、ATコマンドのNJ(Node Join Time)に0xFFを入れる場合は、

0x7E  0x00  0x05  0x08  0x01  0x4E  0x4A  0xFF  0x5F

となる。
データ長はコマンド・データ部が0x08、0x01、0x4E、0x4A、0xFFと5バイトあるので「0x00 0x05」となる。
チェックサムは

0xFF-(0x08+0x01+0x4E+0x4A+0xFF)=0x5F

となる。
0x08は「AT」、0x01はフレームIDで0以外の数値が入る。「0x4E4A」はNJを示す。

モジュール、ライブラリなど

APIだとプログラムを作る必要があるけど1から作っていると大変なのでモジュールやライブラリを使ってみる。

APIフレーム名

API Frame NamesValues
Modem Status0x8A
AT Command0x08
AT Command - Queue Parameter Value0x09
AT Command Response0x88
Remote Command Request0x17
Remote Command Response0x97
ZigBee Transmit Request0x10
Explicit Addressing ZigBee Command Frame0x11
ZigBee Transmit Status0x8B
ZigBee Receive Packet (AO=0)0x90
ZigBee Explicit Rx Indicator (AO=1)0x91
ZigBee IO Data Sample Rx Indicator(0x92)
XBee Sensor Read Indicator (AO=0)0x94
Node Identification Indicator (AO=0)0x95

広告

Reload   Diff   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes
Last-modified: Wed, 04 Jan 2012 23:12:14 HADT (3542d)