- 2009-08-03 (月) 23:27
- arduino

詳しいことはよくわかんないけど、以下の2つのコマンドでだいたいデータの送受信できてる。
とりあえず、忘れないうちにメモしとく。
データ送信(Transmit Request)
コマンド構成は以下のとおり。
Status delimiter
何も考えず、0×7Eで固定
Length
たとえば、0×00 0×10なんて形。
ここで言うところの長さとは、Frame Data + Checksum
というか、送信データのバイト長+14ってことだね。
Frame Data.API Identifier
0×10で固定
Frame Data.64bit Address
xbeeの裏面やら、X-CTUの設定画面にて確認できる16桁の数字を入れる。
Frame Data.16bit Address
特に、設定してないので、0xFFFF。
Frame Data.Broadcast Radius
何も考えず、0×00で固定
Frame Data.Options
デフォルトの0×08にしといた。
Frame Data.RF Data Byte
やっと、送信データの項目。
最大72Byteまでいけるみたい。
うちは、計測したデータだけなので、そんなにいらない。とりあえず、long型データを送信などやってみた。
Checksum
対象データは、API Identifier + Frame Data
データ受信(Receive Packet)
当初、データ受信はRF Dataだけが単純に抜きとれるのかと思っていたが、違うみたい。
データ構造は、以下のとおり。
実際、送信するデータ構造がわかってる状況で、データを取得したいなら16byte以降を読んでいけばいいと思う。
ということで、いまのところchecksumとか活用してない。
また、なんか不都合でてくるなら考える。
- Newer: ユーザーにsudo権限を与える
- Older: Digimeshを使う上でX-CTUで設定すべき項目

