XBee

複数のXBeeを使って通信します.ブロードキャストや1対1の通信ができます

obniz.wired

XBeeをtx,rxのピンを指定して接続します.
XBeeはVCCとGNDが必要なので,それは別で用意する必要があります.

この画像のように配線したのであれば,下のように書きます.
photo of wired XBee

// Javascript Example
obniz.io11.output(true);
obniz.io8.output(false);
var xbee = obniz.wired("XBee", {tx:9,rx:10});

await configWait(json)

XBeeを設定します.設定に3秒程度かかるため,"await" をつけて使用して下さい.

// Javascript Example
obniz.io11.output(true);
obniz.io8.output(false);
var xbee = obniz.wired("XBee", {tx:9,rx:10});
await xbee.configWait({
       "destination_address" : "52",
       "source_address" : "51",
});

設定Jsonの書き方は下のようになります

{
  "destination_address" : "5A",     // 送信先アドレスの16進数の文字列   ( 0 ~ FFFFFFFFFFFFFFFF)
                                    // 0x000000000000FFFF を設定するとブロードキャストになります
  "source_address" : "E2",          // 自分のアドレスの16進数の文字列  ( 0 ~ FFFFFFFF)

  // or 

  "destination_address_high" : "0",  // 上位 16 ビットの設定 ( 0 ~ FFFFFFFF)
  "destination_address_low" : "5A",  // 下位 16 ビットの設定 ( 0 ~ FFFFFFFF)

  // or 

  "DH" : "0",                //AT コマンドを直接書くこともできます.
  "DL" : "5A",               //ATコマンドについてはメーカーのドキュメントを参照してください
  "MY" : "E2",

}

send(data)

データを送信します。
dataで送れるものは

  • 文字
  • 数字 => 1byteのデータになります
  • 数字の配列 => 1つ1つ1byteのデータとして送信されます
  • オブジェクト => 文字になります
  • Buffer => そのまま送信されます

もし設定が完了していない段階で呼ばれた場合,エラーになります.

// Javascript Example
obniz.io11.output(true);
obniz.io8.output(false);
var xbee = obniz.wired("XBee", {tx:9,rx:10});
xbee.send("Hi");
xbee.send(0x11);
xbee.send([0x11, 0x45, 0x44]);
xbee.send({success: true});

onreceive(data, text)

データを受信した時に呼び出されます。
第一引数のdataは受信したデータをarrayとして受け取れます。
第二引数のtextは受信したarrayをtextとして変換したものです。

// Javascript Example
obniz.io11.output(true);
obniz.io8.output(false);
var xbee = obniz.wired("XBee", {tx:9,rx:10});
xbee.onreceive = function(data, text) {
    console.log("recieved : " + text);
}


Found at :