UNPKG

obniz

Version:

obniz sdk for javascript

95 lines (73 loc) 2.81 kB
# XBee 複数のXBeeを使って通信します.ブロードキャストや1対1の通信ができます ## obniz.wired XBeeをtx,rxのピンを指定して接続します. XBeeはVCCとGNDが必要なので,それは別で用意する必要があります. この画像のように配線したのであれば,下のように書きます. ![photo of wired XBee](./xbee.png) ![](./wired.png) ```javascript // 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 // 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の書き方は下のようになります ```javascript { "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 // 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 // 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); } ```