アンドロイドでArduinoロボット動かしてテレビとか操作してみた。

動機

New York Timesで、「2011年の終わりには、googleがアンドロイドフォンで家の電球を操作できるようになる。すごいね。」的なことを報道していたので、発表される前にやってみようかな。という軽い気持ちから。

目的

  • アンドロイドフォンで家事用ロボット!
  • 基本的なアイディアとしては、ロボットを遠隔操作して、そのロボットが見付けたデバイスを操作してみよう!みたいなもの。
  • 折角なので、この間発表されたAndroid Open Accessory Development Kit (ADK)を使ってアンドロイドでArduino操作してみた。

概要

  • デバイス(デモではテレビとLEDライト)にはそれぞれRFIDタグを割り振てられている
  • ロボットにはRFIDリーダーが取り付けられていて、それぞれのデバイスのRFIDを読み取ることが出来る。
  • 使うアンドロイドフォンは2台。
    • ロボットに載せてArduinoに命令を送りロボットコントロールするために一台(ロボットクライアント)
    • 遠隔地からそのロボットをコントロールするために一台(コントローラークライアント)
  • ロボットはビデオイメージをコントローラにストリームバック。アンドロイドフォンをサーバーにして、外部から直接SDにアクセスさせる仕組み。
  • ロボットが新しいデバイス(RFID情報)を取得する度にその情報と目的地のRFID情報をコントローラクライアントに送信
  • コントローラクライアントは、その方法を受け取り次第データベースに参照し、新しいデバイスであれば操作するためのAPIプラグインをダウンロードインストール
  • というわけで、どんなデバイスでも遠隔操作できるようになるという仕組み。


あ、部屋のアラーム留めるの忘れてた!
ルームメイトにあとでとやかく言われるのやだな。

しかたない。アンドロイドフォン使って留めとくか。

おっと、主から連絡が入ったぞ

よしよし、アラームクロックまで移動させられよう。

アラームクロックのRFIDをスキャンして。

RFID情報とMACアドレス情報をベースに、操作するためのインターフェースを取得。

よし、これで家のアラームを操作できる

電源、オフ!

といった感じ。。

デモ (with presentation)


*デモは2分32秒から!

質問があればお気軽にー。