Top > XBee > API

広告
  • 追加された行はこの色です。
  • 削除された行はこの色です。
  • XBee/API へ行く。

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

&color(Red){Series 2ではATとAPIはファームが別。Series 1は同じファームでATもAPIもできる};
-「[[XBeeServer: XBeeを無線センサとして使おう:http://mobiquitous.com/mobiserver/xbeeserver.html]]」を参考にAPIを使えるようにする。

&color(Red){また、Series 2ではAPI用にするとATコマンドが使えなくなる。[[透過モード>XBee/透過モード]]も使えないみたい。};
&color(Red){また、Series 2ではAPI用にするとATコマンドが使えなくなる。[[透過モード>XBee/透過モード]]も使えないみたい。};~
そういった意味ではいろいろ遊ぶにはSeries 1の方が良さそう。値段も安いし。
*APIの利点 [#jdfa08b3]
-リモート制御ができる
-プログラミングが楽
-リモート側はXBeeだけでもいろいろできる。

*APIの書式 [#d2d33675]
以下のような書式でデータを送る。
 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を示す。
*モジュール、ライブラリなど [#q17d1a6a]
APIだとプログラムを作る必要があるけど1から作っていると大変なのでモジュールやライブラリを使ってみる。
-[[Perl用モジュール>XBee/API/Perl]]
-[[Python用ライブラリ>XBee/API/Python]]
-[[xbee-api:http://code.google.com/p/xbee-api/]]
--Java用
*APIフレーム名 [#h6fd89fd]
|API Frame Names|Values|
|Modem Status|0x8A|
|AT Command|0x08|
|AT Command - Queue Parameter Value|0x09|
|AT Command Response|0x88|
|Remote Command Request|0x17|
|Remote Command Response|0x97|
|ZigBee Transmit Request|0x10|
|Explicit Addressing ZigBee Command Frame|0x11|
|ZigBee Transmit Status|0x8B|
|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|

広告

リロード   差分   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS