XBee Wi-Fi 接続の設定までやってみた
概要:
ついにXBeeが発売しました!
これで様々な回路を簡単にインターネットにつなげることができるようになります。
今回は設定とテストをやってみました。
販売サイトはいつものスイッチサイエンスさんです。
XBee WiFi / ワイヤアンテナ型
環境構築:
XBeeの設定用にX-CTUというツールを使います。
以下のサイトからダウンロードしインストールを行います。
Windows7とVistaの場合は、XCTU 32bit ver. 5.2.7 を使います。
XPの場合は、XCTU Ver 5.1.0.0を使います。
次に [PC Settings] より、XBee Wi-Fiが接続されたポートを選択し接続のテストを行います。
私の場合、このままではXBee Wi-Fiを認識しなかったため、
[Version] → [Web]よりソフトウェアのアップデートを行いました。
設定:
一般的な設定
一般的な設定はX-CTUの[Modem Configuration]タブから行います。
XBee Wifiには接続のモードが3つあります。
・IBSS JOINER(adhoc)
・IBSS CREATOR (adhoc)
・INFRASTRUCTURE
今回、XBee → ルーター というつなぎ方でテストを行うため、
[Infrastructure] モードを用いて接続を行います。
Infrastructureモードを用いて通信する場合、主に以下のような設定項目があります。
・無線LANルーターのSSID [Network] → [SSID]
・ネットワークの種類 [Network] → [NetworkType]
・IPプロトコル(TCP or UDP) [Network] → [IP Protocol]
・動的アドレスか静的アドレスか (DHCP or static)[Network] → [IP Addressing Mode]
・暗号化方式 [Security] → [Encryption Enable]
・パスワード [Security] → [Passphrase]
これらを各自の無線環境にあったものに設定することで接続を行います。
はまったこと:
こちらの環境だけかもしれませんが、
X-CTUの設定で大文字しか入力できない状態になっています。
私の無線環境では、SSIDとパスワード共に大文字と小文字を使用しているため、
Terminalで直接ATコマンドを入力することで設定を行いました。
以下のような入力を行います。
このように設定を行います。
正しく設定できていれば、ataiコマンドで0が返ってくるはずです。
テスト:
次に動作テストを行います。
XBee-WiFiでは、
ポート9750へ送信された文字列がシリアルポートから出力されるようになっています(初期値)。
そのため、そのポートに文字列を投げる簡単なスクリプトをPythonで作成しました。
ソースは以下のようなものになります。
これを実行し、
X-CTUのターミナルを見てみると以下のような表示が出ているはずです。
これで接続テストは完了です。
まとめ:
簡単にマイコンをネットに繋げる時代になってしまいました。
マイコンを無線LAN接続することに憧れていた時代を懐かしく思います。
いい時代になったもですね。
次は台車かRoombaを動かしてみようかと考えています。
参考サイト:
XBeeの開発環境をPCにインストール
Arduino Freaks XBee Wi-Fi
XBee Wi-Fi 簡易仕様書(英語)
XBee Wi-Fi 詳細仕様書(英語)
ついにXBeeが発売しました!
これで様々な回路を簡単にインターネットにつなげることができるようになります。
今回は設定とテストをやってみました。
販売サイトはいつものスイッチサイエンスさんです。
XBee WiFi / ワイヤアンテナ型
環境構築:
XBeeの設定用にX-CTUというツールを使います。
以下のサイトからダウンロードしインストールを行います。
Windows7とVistaの場合は、XCTU 32bit ver. 5.2.7 を使います。
XPの場合は、XCTU Ver 5.1.0.0を使います。
次に [PC Settings] より、XBee Wi-Fiが接続されたポートを選択し接続のテストを行います。
私の場合、このままではXBee Wi-Fiを認識しなかったため、
[Version] → [Web]よりソフトウェアのアップデートを行いました。
設定:
一般的な設定
一般的な設定はX-CTUの[Modem Configuration]タブから行います。
XBee Wifiには接続のモードが3つあります。
・IBSS JOINER(adhoc)
・IBSS CREATOR (adhoc)
・INFRASTRUCTURE
今回、XBee → ルーター というつなぎ方でテストを行うため、
[Infrastructure] モードを用いて接続を行います。
Infrastructureモードを用いて通信する場合、主に以下のような設定項目があります。
・無線LANルーターのSSID [Network] → [SSID]
・ネットワークの種類 [Network] → [NetworkType]
・IPプロトコル(TCP or UDP) [Network] → [IP Protocol]
・動的アドレスか静的アドレスか (DHCP or static)[Network] → [IP Addressing Mode]
・暗号化方式 [Security] → [Encryption Enable]
・パスワード [Security] → [Passphrase]
これらを各自の無線環境にあったものに設定することで接続を行います。
はまったこと:
こちらの環境だけかもしれませんが、
X-CTUの設定で大文字しか入力できない状態になっています。
私の無線環境では、SSIDとパスワード共に大文字と小文字を使用しているため、
Terminalで直接ATコマンドを入力することで設定を行いました。
以下のような入力を行います。
* 青色はこちらの入力
* 赤色はXBeeからの応答
+++OK
atid ap1 (接続する無線LANのSSIDを指定)
OK
atee 1 (暗号化方式をWPA PSKへ変更)
OK
atpk passoword (指定した無線LANへ接続するためのパスワード)
OK
atip 1 (IPプロトコルをTCPへ変更)
OK
atai (現在の接続状態を表示)
0 (0:接続成功 / 0x23:SSID未設定 / 0xFF:検索中)
atmy (振り分けられたIPアドレスを表示)
192.168.1.2
atwr (設定をXBeeに書き込み)
ok
このように設定を行います。
正しく設定できていれば、ataiコマンドで0が返ってくるはずです。
テスト:
次に動作テストを行います。
XBee-WiFiでは、
ポート9750へ送信された文字列がシリアルポートから出力されるようになっています(初期値)。
そのため、そのポートに文字列を投げる簡単なスクリプトをPythonで作成しました。
ソースは以下のようなものになります。
import socket
host = "192.168.1.2" #接続するIPアドレス
port = 9750 #接続するポート
so = socket.socket()
so.connect((host,port))
so.send("hello xbee Wi-Fi")
これを実行し、
X-CTUのターミナルを見てみると以下のような表示が出ているはずです。
これで接続テストは完了です。
まとめ:
簡単にマイコンをネットに繋げる時代になってしまいました。
マイコンを無線LAN接続することに憧れていた時代を懐かしく思います。
いい時代になったもですね。
次は台車かRoombaを動かしてみようかと考えています。
参考サイト:
XBeeの開発環境をPCにインストール
Arduino Freaks XBee Wi-Fi
XBee Wi-Fi 簡易仕様書(英語)
XBee Wi-Fi 詳細仕様書(英語)
● COMMENT FORM ●
Re: タイトルなし
鈴木さん
マルチポストはマナー違反だと思います。
http://d.hatena.ne.jp/moccos_info/20120326/p1
http://dev.tetrastyle.net/2012/03/xbee-wifi.html
マルチポストはマナー違反だと思います。
http://d.hatena.ne.jp/moccos_info/20120326/p1
http://dev.tetrastyle.net/2012/03/xbee-wifi.html
トラックバック
http://chicklab.blog84.fc2.com/tb.php/40-f8ad9a7f
この記事にトラックバックする(FC2ブログユーザー)
はじめまして。鈴木と申します。
BLOG拝見させていただいております。
今回、xbee-wifiに関してお伺いしたいことがあり、コメントさせていただきました。
僕は現在、ネットワークに対応した時計を制作しようとしておりまして、それにxbee-wifiを使おうと試みています。しかし、なかなかうまくいきません。iPhone等のアプリからサーバーにデータを送り、そのデータをルーターを介してxbee-wifi へつなげ、遠隔にある時計のアラームを鳴らそうと考えているのですが、今のところ自分の家のローカルエリアネットワーク内でしか成功していません。学校や外のwifi-spotからxbee-wifiにデータを送信しようとすると突然うまく行かなくなります。
そこで質問なのですが,xbee-wifiで外部からの信号をキャッチすることは可能なのでしょうか。MACアドレスやネットワークセキュリティを解除することはもう試したのですが、なかなか成功しません。また、ほかにも良い方法やモジュール等をご存知でしたらご教授お願いします。
よろしくお願いします。
鈴木