MozReplとArduinoを使ってFirefox用コントローラを作ってみた

昨日、KPF(熊本プログラミングフリークス)の勉強会で発表させていただいた内容です。

Firefoxを外部プログラムからtelnetでコントロールできるようにする拡張、MozReplとArduinoを使ってFirefox専用コントローラを作ってみました。
とりあえずソースコードと回路図。

Arduinoからどのボタンが押されたか、と言う情報をシリアル通信でPCに送り、それをMozReplのコマンド(javascripttelnet通信でMozReplに送信する)に変換することによってFirefoxのタブ切り替えやスクロール、リロードを行う専用コントローラを実現しています。シリアルデータをMozReplのコマンドに変換するプログラムはRubyで作成しました。Telnetへ接続するライブラリがRuby標準で付いているので非常に簡単なプログラムです。
ブラウザを操作するだけといえばそうなんですが、Firefoxのウインドウにフォーカスがないときでも操作できるのでマルチモニターでコーディングしながらWEBを参照する、なんてときにフォーカス移動の手間が省けて結構便利です。勉強会参加者の方から「これをペダルにして足でコントロールできたらいいのでは?」と言う意見もありました。そのアイデア、いただきます。

MozReplは以下のページからインストールできます。

MozReplの使い方などは以下のページを参考にしました。


写真とか動画もあったほうがいいですよねー。いつか撮ります。→撮りました(2009/08/10)

実際に操作している動画です↓

ちなみに、KPFでの発表の様子は
@garplabさんがUstしてくれました。ありがとうございます。

パソコンや作ってきた機械の調子が悪くてかなりぐだぐだになっています。
30分の動画なのですがまともに話し始めるのは13:00ぐらいからです。実はもう一つネタがあったのですが組み立てを間違えてちゃんとデモできませんでした。まあかなり適当なネタだったのですが。

id:shunsk さんのブログには勉強会の様子が詳しく書かれています。

自分の場合、こういった勉強会で話をさせていただけることでなんというか、非常にカタルシスが得られます。
「こんなん作ったよ」->「おおー」みたいな。
楽しくてしょうがない。勉強会に参加する方はネタ持参のほうが絶対楽しめると思います。
そうだ、あとやっつけで作った資料も恥を忍んで貼っておきます。内容の大半が失敗したほうのネタですが。

Arduino Duemilanove 328

Arduino Duemilanove 328

Arduinoをはじめようキット

Arduinoをはじめようキット