2009年12月30日水曜日

simejiと連動したリアルタイム気温入力マッシュルームアプリ

simejiから「きおん」と入力すると、現在の気温に変換するマッシュルームアプリを作成しました。

気温計としてArduinoに温度センサと通信用のBluetoothモジュールをつないだ「Arduino気温計」を使います。
マッシュルームアプリからの問い合わせに対して、現在の温度をBluetooth経由で返すのが、気温計の機能です。

① 適当な入力フィールドで、simejiを使って「きおん」と入力します。



② simejiのマッシュルームボタン(左上)を押します。



③ Arduino気温計から気温を取得するマッシュルームアプリを選択します。



④ マッシュルームアプリがArduino気温計のBluetoothデバイスの検索を開始します。



⑤ デバイスの検索が完了してリストアップされたデバイスから、気温計のデバイスを選択します。
⑥ 気温が自動的に取得され、元の入力フィールドに画面が戻ります。
⑦ 「きおん」と入力した部分が、実際の気温の値に変換されます。


※今回は実際の気温センサ(素子)をArduinoのアナログ入力ポートに接続していないため、気温値が変な値(ゴミ値)になっています。実際の素子を接続すれば、妥当な値が出力されるはずです。

ハード構成については非常にシンプルなもの(Arduinoに気温センサ素子1個とBluetoothモジュールをつないだだけ)ですが、今回は気温センサをまだGetしていないため、手に入れたら改めて公開したいと思います。

この気温計の問題点として下記のようなものがありますが、今回は実験ということでスルー。
  • 気温の変換の度にBluetoothデバイスを検索する必要があるので面倒
  • 気温計のBluetoothの電波の届く範囲に居なければ使えない
  • そもそもBluetoothを搭載した気温計を作らないといけない

2009年12月27日日曜日

ドロン君(弟)制作中

Androidの会四国支部の今岡さんが製作されている、Androidで動作する「ドロン君」の改造を計画しています。

改造の内容は「HT-03Aのジェスチャー機能で動くドロン君

早速、以下の要件で今岡さんと相談しながら、腹違いのドロン君(弟)を製作することになりました。

ハードウェア要件:
  • HT-03Aとの接続のためと将来的な駆動制御の変更のため、制御マイコンにArduinoを搭載する
  • 回路~駆動部はなるべく既存のものを流用する
  • ハード全体として、なるべく拡張性を持たせる
  • モータの制御はArduinoからの制御信号(High/Low)で行う。
  • モータの逆転(後進)はとりあえず不要。(将来的に駆動回路変更によって対応)
ちょっと相談した限りでは、技術的な問題は特になさそう。モータや駆体を調達して組み上げていく作業で済むはず。


ちなみに、肝心のArduino側制御プログラムやHT-03AのAndroidのリモコンプログラムはもう出来ていたりしてw



リモコンはこんな感じで、ジェスチャーを入力すると対応する制御コマンドが生成されて、ArduinoへBluetooth経由で通知されます。



通知を受け取ったらArduino側でコマンドを判別して、必要な制御信号をモータへ送る仕組みです。
今は肝心のドロン君本体がないので、LEDを仮想のモータとしています。
写真の緑のLEDが左側モータ、赤のLEDが右側モータに相当します。

写真の例だと、左回転するジェスチャーを入力した結果、赤のLEDがON(=右モータ回転)していることになります。

ということで、あとはドロン君の駆動回路と筐体を組み上げ、これらの制御装置を組み合わせるのみ。
完成したら勉強会等で発表できそうです。楽しみ。

2009年12月21日月曜日

情報セキュリティスペシャリスト試験に合格しました!

10月に受験した情報セキュリティスペシャリスト試験にかろうじて合格しました!

うちの会社は情報処理試験に合格すると受験料5000円(普通は一時金だろ、というツッコミ歓迎)が支給されるので、申請することにします・・・落ちてたら受けてなかったことにするつもりでした。

合格証書が発行されるのが随分先になるので、代わりに成績照会の結果を晒します。


とりあえず言いたいことは、午後Iの採点者、GJ!!!

あと2点で残念賞になるところでした。午前は概ね満足できる点数です。
88点取るなら90点ぐらい取った方が格好良かったのですが、受かってしまえば一緒なので、まぁいいかw

2009年12月13日日曜日

Arduino + AndroidによるRFIDリーダー

ここ数日、風邪(インフルではないはず)でぶっ倒れていたLionasです。

少し体調がよくなってきたので、先日購入したArduinoにRFIDアンテナとBluetoothのモジュールを接続して、HT-03A間で通信するようにしてみました。



実は、Android側アプリは、Twitterで @emasui氏とのやりとりを聞いていた @noritsuna氏が、サクッと作ってしまったものを利用させてもらいました。
http://www.noritsuna.com/archives/2009/12/android_arduino.html

しかも、Eclipseのプロジェクト付き。もはや、@noritsuna氏は”神”です。
@emasui氏のライブラリをどうやって使おうかと悩んでいた私とはレベルが違いすぎる。。。


ということで。
ソースはありがたく頂戴することにして、ロジックを勉強させてもらって、より実用的なアプリに仕上げることにします。

とりあえず、RFIDのID→Androidのsqliteから取得したデータ→Webサービスと投げて、戻って来る何かを表示してみるかなw
逆にAndroid側からRFIDの読み込みロックとかかけても面白いかもしれない。

これから色々と応用を考えたいと思います。

2009年12月5日土曜日

Arduinoはじめました

先日から少し興味のあったオープンハードウェア「Arduino」
本日、本や基盤、初心者向けセットが届いたのではじめました。



挙動を制御するロジックはC言語ライクなのですが、そこは昔とった何とやら。
超余裕で組み込めました。
コードはこんな感じ。


#define SENSOR 0
#define LED 9

int val = 0;

void setup() {
    Serial.begin(9600);
    pinMode(LED,OUTPUT);
}

void loop() {
    val = analogRead(SENSOR);
    analogWrite(LED,val/4);
    Serial.println(val);
    delay(10);
}

それらしい回路を組んで、いざ実行。



良い感じでLEDが点灯してます。上の光センサ(CdS)に手をかざすと、明るさが変化します。

うーん、これを早くクラウドにつなぎたい(PC抜きで)
そして、Androidと連携させたい。

本代含めて既に1万円ぐらい行ってるのだが、イーサネットシールド欲しくなってきたなぁ。。