XBee WiFiをWEPルーターに接続する(後編)
花岡ちゃんのウィークエンド:XBee WiFi
今回はXBee WiFiとTeraTermとの間でルーターを介してTCPで通信してみます。TCPのポートは8081にします。これは空いているところなら何でもいいのですが、調べていないのでネットタンサーが使っていたポートにすることにしました。少なくともこれなら空いてます。
■XBee WiFiにポートを設定
X-CTUでポート番号を設定しますが、気をつけなければいけないことがあります。8081は十進表記ですが、XBeeには16進表記で設定する必要があります。c電卓などで変換しておきます。8081は0x1F91になります。
おなじみのModem Cnfiguration画面で作業します。
Addressingから・・
・DE-Destination Portに1F91をセット
・C0-Source Portに1F91をセット
以上をセットしたらWriteボタンで書き込みます。これでOKです。
■通信テスト
いよいよ通信テストです。X-CTUはそのままTerminalタブをクリックすれば準備OK。
TeraTermを起動するのは同じパソコンでも、別のパソコンでもかまいません。設定はこのページを参考に、IPアドレスを今回設定したXBee WiFiに置き換えてください。
何事もなければ通信確立です。エラーが出たらアドレスやポートの設定を確認してください。
これで準備完了。X-CTUのターミナルに何か打ち込むとそのままTeraTermに表示されるでしょう。めでたしめでたし、といいたいところですが・・ TeraTermのほうに文字を打ち込むと、打ち込んだときには表示されなくて、リターンキーを打って始めて表示されると思います。少なくとも僕の環境はそんな感じです。
つまり、TCPで送ったデータがそんな風になるわけで、ASCIIコードでのコマンド形式ならともかく、バイナリデータなどを送る場合に困ったことになりそうです。これはTeraTermのせいなのか、XBee WiFiのせいなのか現時点ではわかりません。パケットに1文字だけを載せるのか、ある程度の文字数を載せるのか、ソフトの作り方の問題なんでしょうか? 自分で通信ソフトを作ってみればわかるでしょう。
これについては宿題としておきましょう。
【後日追加】↑この現象はTeraTermによるもののようです。ルンバとの通信(バイナリデータ)ソフトを作って試してみましたが、1バイトのデータも問題なく送受信できます。
■まとめ
ともあれ、簡単にネットと通信ができるXBee WiFiは大変便利です。PCばかりではなく、スマートフォンなどからもアクセスできる電子ガジェットがアマチュアにも作れそうですね。
モチロン、リモートブレインロボットにも強力なツールになるでしょう。以前作ったナノスカウトもXBee WiFiに換装すれば、コントロール用のパソコンにXBeeを接続しなくともすみます。これは楽しみなデバイスです。
« XBee WiFiをWEPルーターに接続する(前編) | トップページ | コーヒーブレイク(ノートパソコンへのROS導入とかね) »
「花岡ちゃんのウィークエンド」カテゴリの記事
- レーザー距離センサVL53L0Xを複数使うには(2022.05.01)
- 【訂正!】PIC24Fでレーザー距離センサVL53L0Xを使う(2022.04.13)
- PIC24Fでレーザー距離センサVL53L0Xを使う(おしまい)(2022.04.14)
- PIC24Fでレーザー距離センサVL53L0Xを使う(その3)(2022.04.13)
- PIC24Fでレーザー距離センサVL53L0Xを使う(その2)(2022.04.12)
コメント
« XBee WiFiをWEPルーターに接続する(前編) | トップページ | コーヒーブレイク(ノートパソコンへのROS導入とかね) »
花岡ちゃんさん
はじめまして。鈴木と申します。
BLOG拝見させていただいております。
今回、xbee-wifiに関してお伺いしたいことがあり、コメントさせていただきました。
僕は現在、ネットワークに対応した時計を制作しようとしておりまして、それにxbee-wifiを使おうと試みています。しかし、なかなかうまくいきません。iPhone等のアプリからサーバーにデータを送り、そのデータをルーターを介してxbee-wifi へつなげ、遠隔にある時計のアラームを鳴らそうと考えているのですが、今のところ自分の家のローカルエリアネットワーク内でしか成功していません。学校や外のwifi-spotからxbee-wifiにデータを送信しようとすると突然うまく行かなくなります。
そこで質問なのですが,xbee-wifiで外部からの信号をキャッチすることは可能なのでしょうか。MACアドレスやネットワークセキュリティを解除することはもう試したのですが、なかなか成功しません。また、ほかにも良い方法やモジュール等をご存知でしたらご教授お願いします。
よろしくお願いします。
鈴木
投稿: 鈴木 | 2013年1月16日 (水) 00時32分
鈴木さん。コメントありがとうございます。
Xbee WiFiに設定したIPアドレスと外部ネットワークから通信ができないということでしょうか? ご存知かも知れませんがそのためにはXBeeにグローバルIPアドレスを設定しなければなりません。そのためには少なくともルーターにグローバルIPが割り当てられている必要があります。僕の環境では、マンションの共用ネットワークを使っている関係でルータに10.34.**.**というローカルIPが割当てられており、簡単には外部からアクセスできません。IP表示サイトなどで表示されるIPからアクセスしようとしても、いわゆる「NAT越え」という技術を使わないとルーターまでもたどりつけないのではないかと思います。(これについてはあまり知識はありません)この辺はいかがでしょう?
投稿: ササガワ | 2013年1月16日 (水) 23時42分
はい、先ほどまでグローバルIPとプライベートIPの違いが分かっていませんでした。
NAT越え等の特殊?な設定も必要ということで、このような構成に関して全くの未着手なので、そこらへんから解決をしていってみようと思います。
わざわざ返信ありがとうございました!!
投稿: 鈴木 | 2013年1月17日 (木) 02時21分