Firefox OS WoTハッカソンに参加してみた

  • 投稿日:
  • by
  • Category:

Firefox OS WoTハッカソンに参加してみました。参加のきっかけはFx0を持っていることと、mbedを使うというところ、実際にIoTが経験できるという点からです。やはり1人で考えていても良いアイデアはでてきません。チームで取り組むことで全く思いもよらない応用が見つかるのではと思ったのです。

ハッカソンは初めての参加でしたので、やや不安もありましたが、mbedのあたりなら貢献できそうなので思い切って参加しました。

チーム分けを行い、アイデアを練りはじめましたが、部材として持って行ったLEDマトリクスやNFCタグとかを眺めながら、Fx0とmbedを使ってIoT(WoT)を試して見るということで、まず「すごろく」というアイデアが出ました。すごろくのコースにスイッチを取り付けたり、NFCタグを使ってコースを進むと、LEDが光ったり、音がでたりとかそのようなものをイメージしていました。そしてそのすごろくの駒としてFx0にタイヤを付けたものを動かすのはどうだろうというアイデアもでてきました。

wot_hackathon_idea1.jpg

結局、すごろくを作るか、Fx0の車を作るかの二択になりましたが、今回はFx0の車を作って、時間があったらすごろくを作ろうという話になりました。mbedやArduinoを使った車は作ったことがありますので、そのあたりのノウハウが役立つかなということで、モーター基台の担当となりました。そうこうしているうちにフォクすけくんのぬいぐるみを載せようということになり、アイデアが膨らんでいきました。また、「しっぽ」を振りたいという強い要望が加わりました。

wot_hackathon_idea5.jpg

秋葉原に出かけて買って来たブルドーザーの基台にフォクすけ君をのせて実装イメージを確認しながら進めました。

wot_hackathon_idea4.jpg

フォクすけ君の実装イメージを確認したあとに、しっぽを振るための材料をまたまた秋葉原に買いに行きました。会場からそんなに遠くないので助かりましたが、結局1日目は秋葉原まで二往復しました。

以降、どのように作り上げたのかは、Fabbleにまとめておきましたのでそちらを参照ください。

http://fabble.cc/dobogo/pitagoraxsugoroku

完成したフォクすけ君はこんな感じです。顔のFx0の画面で感情を表示します。このFx0がWebサーバとして動いていて、もう1台のFx0がリモコンとなりフォクすけ君が進む向きや表情の変更、しっぽ振りのON/OFFを行います。また、Fx0の近接センサーを利用して、目の前に手をかざすと目を閉じたり、後進するようなしかけも入っています。顔のFx0からmbedのWebサーバAPIをアクセスすることで3つのモータ(左、右、しっぽ)を制御します。

wot_hackathon_idea6.jpg

この手のものは発表のときに動かないということがよくあるのですが、今回はリトライしながらもなんとか動いてくれました。ちゃんとしっぽも振りましたし、電源ケーブルを乗り越えて元気よく走り回ってくれました。

wot_hackathon_testrun1.jpg

おかげさまでARM賞をいただくことができました。チームメンバーがそれぞれ得意な部分に取り組むことができ、マッチングが非常に良かったです。また、短時間で実際に動くものを作りあげることができ、Fx0のWebアプリの可能性が見えたように思います。

Team4のみなさん、参加されたみなさん、スタッフのみなさん、お疲れさまでした!

関連ページ

WebSocketでmbedからFx0に情報を渡してみた

  • 投稿日:
  • by
  • Category:

今週末はいよいよFirefox OS WoTハッカソンです。

mbedはこれまでいろいろ使っていて慣れているのですが、mbedからスマホへのリアルタイム通信は経験がありません。少しは勉強しておかなければとWebsocketについて試してみました。

Websocketのサーバはmbedでも提供されているのですが、今回はNode.jsを自分のVPSにインストールしてWebSocketサーバーをたちあげました。

mbedのデベロッパーサイトにWebsocketのサンプルプログラムがあるので楽勝と考えていたのですが、私の環境だと、このサンプルプログラムではNode.jsと通信できたり、できなかったりで非常に不安定でした。コンパイル後のメモリをみてみるとRAMが120%ぐらいになっていて、mbed-rtosを使うとメモリが厳しいのかもしれません。いろいろ探していたらSuga koubouさんのテストプログラムだとNode.jsのサーバに安定して接続できることが確認できました。

これで以下のような環境ができました。

websocket_mbed_fx0.png

mbedアプリケーションボードに実装されている加速度センサーと温度センサーの情報を読み出し、WebSocketでNode.jsのサーバーからブロードキャストして、Fx0に通知し、Fx0のHTML5アプリケーションで表示するものを作りました。

mbed_application_board.jpg

WebSocketとかCANVASとかは初めてでしたが、あちこちのプログラム例を参考にしてなんとか形にできました。

websocket_fx0_app.png

この仕組みをハッカソンで使うかどうかはわかりませんが、良い経験ができたと思います。

au Firefox OS Fx0でFoursquareにチェックインしたい

  • 投稿日:
  • by
  • Category:

auから発売されたFirefox OS LGL25 Fx0を買ってしまいました。

firefox_os_fx0.jpg

すでにFlameを持っていますのでFirefox OSはどういう感じかは知っているのですが、auがどのようにチューニングをして、Firefox OSアプリを揃えてくるのかと興味がありました。現時点ではNAVITIMEで路線情報と地図をカバーし、LINEやFacebookやTwitterでSNSはカバーと最低限のアプリは揃えたようです。他にFraminやLockScreen、au災害対策といったオリジナルアプリも提供されています。あとカメラの画質が思っていたよりは良くてこの点は気に入っています。

私は天気の情報も知りたいので、天気・Rというアプリや、日常的に使っている電卓やコンパスやソリティア、QRコードリーダなどもFirefox Marketplaceからインストールし、これでまあまあ使えるかなという状態にはなりました。

あと、これまで使ってきたSwarmというFoursquereのチェックインアプリがないか探したのですが、Firefox OSはサポートしていないようです。類似のアプリをさがしたところCheck-in Foxというアプリを見つけました。(マスコットキャラクターが可愛いです!)

checkin_fox.png

しかし古いアプリのようで、動作がやや不完全で、地図なども表示されないのですが、ちゃんと日本語でも表示されチェックインまではできます。

checkin_fox_2.png

ソースはGitHubに公開されているので、Firefox WebIDEのデバッガをつかって確認してみましたが、すでにサービスが終了しているWebAPIを呼んでいたりして、修正が必要なようです。時間のあるときにソースを追って動くようにいじってみようかなと思っています。