2011年6月23日木曜日

小型WiFiルーター

先日の記事で紹介した、Planex MZK-RP150N
しばらく様子見、、と思ってましたが、うっかり買ってしまいました。


箱入りではなく、ブリスターの簡易パッケージですが、ボリューム感のある取扱説明書がついてきます。

今まで購入したルータの中で、最小かつ最安です。(約3,000円)


左から、Apple AirMac Express、Planex MZK-RP150N、Planex CQW-MRB

AirMac Express はプリントサーバーになったり、iTunes の音を飛ばすことができる変わり種ルーターです。出た当初は超コンパクト!と思ったものです。(USB 端子、光デジタルオーディオ出力付き、AC電源内蔵)
CQW-MRB はモバイルルーターで、バッテリーを内蔵。WAN 側は3G のUSB モデムを使用するこれまた変態機種。本体の半分近くがバッテリーなので、ルーター部は MZK-RP150N と良い勝負です。




Arduino & Ethernet Shield & eneloop と組み合わせて使う事を想定して購入しましたが、ここまで小さいとケーブルのボリュームが気になります。なんとかしなくては、、、


とりあえず、コンバータモード(Ethernet-WiFi ブリッジ)で家のLAN に参加させて動作確認。
Arduino のプログラムは Arduino IDE 付属のサンプルWeb サーバー (File > Examples > Ethernet > WebServer) です。

ルーターの設定はWeb ブラウザからできるので、特に難しくないと思いますが、電源投入後、完全に起動するまで少し待つ必要があります。(Arduino と組み合わせる場合、ルーター起動後にArduino をリセットすると繋がりやすいです。)

3,000円でこんな製品ができるなら、1万円くらいになっても良いので、http で操作できるGPIO (汎用入出力) が付くとうれしいです。

引き続き、XBee WiFI に期待しましょう。。

2011年6月21日火曜日

Bluetooth は素人でも扱えるのか?

Bluetooth は、元々PC と比べて非力な携帯電話用の規格だったことから、最近のリッチなマイコンでも扱うことが出来るようです。

しかしプロトコルスタックやらプロファイルやらで、単純なシリアル通信をするだけでも、とても大変です。ここは先人の成果を多いに利用させていただきましょう。

Arduino でBT というと、BT のプロトコル/プロファイル部を隠蔽して、ただの無線シリアルアダプタとして使えるようにしたBT シリアルモジュール(→例 Bluetooth mate ※注意:技的認証なし)を使うのが一般的です。

さらに、USB ホストシールドでUSB BT アダプタを使う例もありますが、Arduino には荷が重そうです。

別の手段を探ってみると、PICの24F シリーズという16bit のPIC マイコンに、USB ホスト機能を搭載したものがあり、それを使ったUSB BT モジュール用のプロトコルスタックがありました。


それを利用して、Android 端末からBluetooth でキャタピラ車をコントロールする、という内容をhrdakinori さんという方が公開していたので、やってみました。

ソースは何も変更せずにそのまま組んだだけですが、こんな感じになりました。



このプログラムは、2つのモータを制御するIC (Toshiba TB6612FNG) をコントロールしているので、各チャンネルに回転方向用の(CW/CCW)2つの信号と、1つのPWM 出力が出ています。
PIC用、Android 用のソースコードは、hrdakinori さんのサイト、または上記の動画にリンクがあります。
PIC のCPUボードは、オプティマイズの PIC24USB を購入しました。

ちなみに、BT のプロファイルは SPP (Serial Port Profile) を使っていますが、iOS のSDK ではSPP を使えないので、そのまま応用することはできません。

2011年6月15日水曜日

やっぱり無線?

某所にてテトラコントローラーポータブルを野外デモしてみました。
手に持っていれば注目はしてくれるのですが、テトラポッド自体を知らない人が多く、上手く説明できず、、、、

テトラコントローラーの次の計画は、外付けBOX との接続を無線化した、Wireless 仕様です。XBee がスイッチサイエンスさんで 1700円〜と大幅に値下がりしたので、1-Pod、1-XBee で、4つのつまみを独立させるのも面白いなと思っています。

iPhone に直結するには、WiFi で OSC (Open Sound Control)を使うか、Bluetooth HID (キーボード) 仕様にするのが候補です。(作れるかどうかは別問題)
WiFi といえば、XBee にWiFi タイプが加わるとのことで、6月末には製品が出るとのこと。


また、以前紹介したEthernet Shield + 無線ルーター構成に便利なルータがあったので紹介します。
(店頭でみかけただけで、購入はしませんでした)


バッテリーこそ搭載していませんが、USB バスパワー(5V/500mA) で動作させることを考えて設計されており、低消費電力を謳っています。
以前紹介した CQW-MRB2 よりも、小型で扱い易いのではないでしょうか?

XBee WiFi がどのような仕様なのか分かりませんが、WiFi Direct のような直結機能がなければ、外でデモする時は結局ポータブルルータが必要になりますね。



テトラコントローラー野外デモ、ケーブルが絡まって大変でした。
早く無線化しなくては、、、

2011年6月1日水曜日

USB Host Shield (PaSoRi篇)


PaSoRi はSONY 製の、USB FeliCa リーダーの商品名です。

FeliCa は、Suica や Edy に代表される国内の電子マネーの多くに採用されている非接触IC カードの規格です。
つまり、Suica のデータが読めるのです!

NeoCat さんが Arduino 用のライブラリを公開しています。
RC-S320 を持っていた事もあり、これがやりたくて USB Host Shield を購入したのに、すっかり忘れていました。

NeoCat さんのPaSoRi ライブラリと、USB HostShield のライブラリを Arduino のlibraries フォルダに入た状態で使用します。
USB HostShield のライブラリについては、この回を参照して下さい。

NeoCat さんのページで言及されている、Spi ライブラリは、USB HostShield ライブラリのアップデートにより、不要になりました。
Spi ライブラリのインストールは不要ですが、コンパイルエラーになるので、


サンプルコード(PaSoRi_Suica_Edy_Reader.pde、PaSoRi_WebTo.pde)および、PaSoRi.h の中にある、
#include <spi.h>
をコメントアウトします。

サンプルは、Suica (またはEdy) の残額を表示する物と、おサイフケータイにURL をPush するものです。
URL Push は面白い機能ですが、おサイフケータイが普及した途端に、非対応のスマートフォンが増えて来てしまいましたね。
IC 乗車券としてのSuica は当分なくならないと思いますが、Google (Android) は同様の規格として、FeliCa ではなくNFC を推しているので、今後の ケータイではどうなるでしょうか、、



au のケータイには、クーポンとしてURL が送られてきました。
もちろん、暗号化された部分は読めませんし、勝手にチャージを増やしたりすることはできません。

HID に変換して、iPad でスイカが読める、というのも有りだと思います。
ちなみに、Arduino がFeliCa 対応デバイスになれる、FeliCa Plug (→Switch Science)という製品もあります。
こちらと組み合わせて使うのも面白そうです。