*目的 [#j09b1777] iPhoneをつかって、ラジコンを動かしたり、赤外線リモコンの代わりをさせたり、センサーからログをとる技術についてまとめてみる。 *目次 [#x06751f5] #contents *目標 [#v2364738] iPhoneが、ZigBeeの制御を行う端末(ZigBee Coordinator(ZC))になることができるかどうか調査する。 *XBee [#t6669b36] -ZigBeeの規格を満たしたMaxStreem社の小型無線モジュール -2.4GHz帯の電波を利用 -通信距離は、屋内で30m、屋外で100m程度 上位機種の“XBeePRO”(ジグビー・プロ)ならば、 1km以上の通信も可能 -チップ同士で自律的なネットワーク(Zigbeeネットワーク)を組める -シリアル通信機能(最大250kbps) -6チャンネルのADコンバーター(基準電圧が、2.08VからVcc(3.4V),10ビットの分解能で、1ビットあたり3 ~5mV)までついている(このチップひとつでリモートセンサーを構成できる。) -スリープ機能を利用した省電力設計も出来る -ホスト(マイコンなど)と非同期シリアル・インターフェースで通信できる -X-CTUというアプリで初期設定をする -子機の設定を親機からリモートATコマンドで設定できる **日本語解説サイト [#b7186996] http://www.maroon.dti.ne.jp/koten-kairo/works/dsPIC/dsPIC_start.html#XBee **XBeeでワイヤレス電力計 [#k895a54c] http://fenrir.naruoka.org/archives/000619.html **XBeeの動作オプション [#lf168de2] 参考 http://www.eleki-jack.com/mycom2/2008/12/xbee1.html XBeeにはトランスペアレント(透過)オプションとAPIオプションという二つの動作モードがあり、デフォルトではトランスペアレント・オプションになっています。 ***トランスペアレント(透過)オプション [#e38db4d0] このオプションのときは、XBeeは単純なシリアル通信のトランシーバとして働き、RFで送受信したものがホストへそのまま送受信されます。 ***APIオプション [#k5b1a3c0] APIオプションは、内蔵のPWMモジュールやA-Dコンバータを利用したり、汎用のI/OポートをAPIコマンドで制御するモードです。このオプション時には、XBeeとホスト間の通信はすべてフレーム単位で行う必要があります。 ネットワーク機器としてXBeeを利用する場合も、APIオプションを使う必要があります。 **通販 [#p348a2d0] http://www.switch-science.com/products/detail.php?product_id=96&gclid=CPa8sMLIr6UCFQP1bwod1lwDBQ http://www.digi-intl.co.jp/digi/wireless/zigbee-mesh/xbee-zb-module.html 21ドル 34ドル ZigBeeネットワークのテストを行う予定の方はXBee ZBと呼ばれるXBee Zigbee対応のモジュールを購入してください。単価は200円くらい高くなっています。 ストロベリーリナックス http://strawberry-linux.com/catalog/items?code=18067 デジット http://blog.digit-parts.com/?p=2 *準備するもの [#kdbc9c88] 1台は、次に示すArduino XBeeシールドにセットするので、XBeeシールド XBee エクスプローラUSB 下記のUSBは、ひょっとしたら、千石通商の2FにUSB通信のモジュールがうられていた気がするので、いらないかもしれないが、紹介されていたので、念のため書いておきます。 **「USB-シリアル変換モジュール」 [#abd51221] 秋月の通販で購入することができます。 ***「USB-シリアル変換モジュール」用USBのドライバを下記からダウンロード [#feb73712] http://www.ftdichip.com/ **24PINのICソケット [#k00f8c8f] 変換モジュールは24ピンICソケットにぴったりハマるので、24ピンのICソケットがあると便利 その他のソケットもあるみたいだから、画像を用意しておいた方がよさそうだ。。 *PC側のXBee端末の作り方 [#n698e71c] http://www.maroon.dti.ne.jp/koten-kairo/works/dsPIC/xbee2.html &ref(xbee_pc.png); **ループバックテスト [#tbe31f1d] XBeeのTX、RX端子にはジャンパが付いていて、ジャンパの接続によって、TX、RXをショートさせることができます。これはループバック・テストを行うための機能です。 親側はブレッドボードのUSB-UARTモジュールに送信(DO)と受信(DI)線をつなぐ ***X-CTU [#ve4b2ccc] XBeeの 各種設定を行えるPCアプリケーション ループバックテストをするアプリケーションも付いている。 ダウンロードはこちら http://www.digi.com/support/kbase/kbaseresultdetl.jsp?kb=125 日本語の解説サイト http://www.maroon.dti.ne.jp/koten-kairo/works/dsPIC/xbee3.html **Tera Termを使った確認例 [#f3276d2a] http://www.eleki-jack.com/FC/2010/06/71arduinoxbee6.html **arduinoとの接続例 [#t6e0e1b8] ***無線通信できる温度計測ステーション [#u043cea8] 無線通信できる温度計測ステーション(1) http://www.eleki-jack.com/FC/2010/06/72arduinoxbee7.html 無線通信できる温度計測ステーション(2) http://www.eleki-jack.com/FC/2010/06/73arduinoxbee8.html **ネットワーク構築ソフト [#gbcfb085] 未調査だが、でているらしい *ZigBee [#qba409f7] **Wiki [#kabc313a] http://ja.wikipedia.org/wiki/ZigBee **Zigbeeネットワーク [#c1e8487c] 高いライセンス費用を払って、そのソフトを導入しなければならない。 **zigbee仕様書 [#db04c873] http://www.zigbee.org/Products/DownloadZigBeeTechnicalDocuments.aspx **その他資料 [#wc723bbd] http://www.zigbee.org/LearnMore/WhitePapers.aspx ***ZigBeeゲートウェイについて [#q22596c2] ***RF4CEの理解 [#u728b22a] ***健康目的のセンサーについて [#t51d6056] ***各分野での決めごと(プロファイル) [#f07b5373] 下記の決めごとがあるのであわせてみておいた方がよい。 -電話サービス -リモコン -医療 -スマートエネルギー -家の自動化 XBeeは秋葉原の千石通称の2階に売っているのを見かけた。 *いろいろな製品 [#qbc16ee1] **ControlPoint [#wb530974] http://www.zigbee.org/Products/CertifiedProducts/ZigBeeHomeAutomation.aspx ***インタフェース [#r3dd7eaf] -携帯電話 -Webブラウザ -TV -Tablet -電力管理 -家の監視 -家のセキュリティ -家の修繕度合 **PCにつなげるUSBモジュール [#a6682a22] ***UBee [#l261bf1d] **鍵 [#xc361238] ***Smart Lock [#zf506f4e] BLACK&DECKER社 **温度センサーを持ったプログラム可能タイプ [#xf5e0169] ***CT80 [#n4f29c4b] **LANにつなげるタイプ [#r3337224] ***ZHEG101 [#g275f291] ***ZEB102 [#fcbbcd86] NETGEAR社製 ***NA401 [#y54b12d9] erComm Corporation **壁に取り付けるON OFFをZIGBeeで制御できるコンセント [#a5573847] ***ZHWR201 [#uf269780] **携帯にアラートを出す製品 [#iee0a088] ***AlertMe [#cb359421] **モジュール [#ma475c52] ***Telegesis ETRX2 ZigBee module [#y87c342e] Telegesis ***XBee [#qc9c361b] Digi International **Bluetoothも使えるタイプ [#b36aeaa7] http://www.aplicatech.com/Products.htm **開発ツール屋 [#u4a8f9a0] ***MMB Research [#rc72b199] *ラジコン [#sec32b31] **ウワサのiPhoneラジコン、「AR.Drone」日本上陸! [#ld9c1df3] http://ardrone.parrot.com/parrot-ar-drone/jp/ **ラジコンプロポをBluetooth化、フライトシミュレーターを操縦 [#nebd968a] http://internet.watch.impress.co.jp/docs/event/wj2009/20090723_304301.html Parani-SD100/200/1000 http://www.sena.com/products/industrial_bluetooth/ アクセスポイント Parani-MSP1000 http://www.sena.com/products/industrial_bluetooth/msp1000.php http://www.bluenext.jp/product.html *モータの制御 [#hc879407] NECのμPD16805のSOPをモータごとに用意する 秋葉原のツクモロボット館とかに行くと良いらしい。 *あると良さそうな部品 [#mbefc114] iPodドックコネクタ(千石電子:400円) 2mmピッチコネクタ(千石電子:400円) *PyGainer [#l0b6d47b] http://groups.google.com/group/python-with-hardware/web/pygainer Gainerは、PSoCマイコンであるCypress社のマイコンCY8C29466をUSBでPCに接続し、いろいろなセンサやアクチュエータを制御することが出来ます。 このPyGainerを使うと簡単にPythonからGainerを制御出来ます。 今の時点では、まだ非同期受信が出来ていないので、ボタン押下などの非同期イベントを取ることは出来ませんが、Gainerのブレッドボードきっとに付属する3次元加速度センサなどのデータは取得可能ですので、結構遊ぶことが出来ます。 *pySerial [#m9f3a0f7] http://pyserial.sourceforge.net/ Pythonによるシリアルデバイスをつかうライブラリ **電力測定専用のIC [#f030705f] アナログディバイスADE7753 DigiKeyで数百円で買える *センサー [#y72b1c6c] **非接触型のCT(Current Transformer)電流センサー [#tc40d1c3] ***日本のCTセンサメーカ一覧 [#jd9ac852] http://currenttransformer.jpn.org/product/japan ***裏技 [#b96c9313] エコワットを分解して手に入れることができるらしい。 U_RD社製 CTL-10-CLS)はカタログによれば負荷抵抗を1KΩにすると、0.01A(10W)で4mV程度の出力がある **電圧を計測するセンサ PT(Potential Transformer、またはVT Voltage transformer) [#m8c97076] 交流電圧を直流信号に変換します。 こちらはPT変換器と呼ばれます。 *仕様 [#u60bb912] 作る対象の仕様をまとめる。 **センサー側(子機) [#ia97d313] **センサー側(Zigbeeエンドデバイス) [#ia97d313] -測定間隔: 10秒ごとのタイマーでADCを起動(間隔は親機から変更可能) -測定開始: 電源を入れるとただちに起動。 -測定回数: 0.5秒間に100ms間隔で5回測り、親機へ送信する。 -送信後の措置: 直ちにスリープに入る -Acknowledge(確認): 親機が受け取ったかの確認はしない(送りっぱなし) **データログ側(親機) [#e9481bd8] **データログ側(Zigbeeコーディネータ) [#e9481bd8] -コマンドの指示により、受信待機 -子機からのデータを受け取ったあと、100ms以上データが来なければ、1セッションとみなし、データの個数の平均を計算し、平均値をそのときのRTCデータとともに、SDカードに書き込む。 書き込んだ後は、ファイルをSYNCし、不測の電源断に備える。 -コマンドの指示により、ファイルクローズ **考えられるコマンド [#xedf371d] -子機の設定変更コマンド 測定間隔などを設定した子機の初期化コマンドを子機に送る -子機の状態表示コマンド 子機の状態、子機の設定パラメータを返す(要調査) -測定開始(ファイルオープン)コマンド -測定終了(ファイルクローズ)コマンド -RTC設定/表示コマンド -SDカードのファイル名表示 -SDカードファイルの内容表示 -電源を入れてから記録したレコード数の表示 **センサーのACの出力をDCにするには [#m79168a5] 単電源オペアンプひとつの全波整流回路 コンデンサーで平滑