破壊と創造のサイクルを回せ!《実装編》 ―― ものアプリハッカソン(2)
●求められるスキル
ものアプリハッカソンでは,物理的なデバイスとしてArduinoを,ユーザ・インターフェースやデータ処理にはAndroidのアプリを使い,さらにこれをインターネットやクラウドのサービスと連携させてシステムを構築することが求められる.これらを使いこなして実装するには,以下のさまざまなスキルが必要となる.
1) Arduinoのソフトウェアとハードウェアのスキル
Arduinoのプログラム(スケッチ)開発は,専用の開発環境で,C言語ライクな言語を使って行う.AVRマイコン(Arduinoボード上のマイコン)を直接操作する場合に比べると組み込みマイコンの深い知識は要求されないが,それでもハードウェアの知識は必要である.
2) Android アプリ開発のスキル
Androidは,汎用の開発環境であるEclipse上で,Java言語を使ってアプリケーションを開発する.当然ながら,AndroidのフレームワークやAPIなどの知識が必要である.
3) ArduinoとAndroidを連携させるスキル
ArduinoとAndroidの連携は,USBインターフェースとADKまたはMicroBridge注1を使用する方法や,無線LANモジュールとTCP/IP(またはUDP/IP)を使用する方法,BluetoothやZigBeeを使ってシリアル通信で接続する方法などがある.いずれにしても,Arduinoだけ,またはAndroidだけの知識ではこれらを連携させることができない.
注1:ADK(Android Open Accessory Development Kit)はGoogleが公式に提供している方法だが,比較的新しいので,対応する端末が限られる.MicroBridgeは古いAndroid端末でも動作するが,マイナである.詳しくはこちらの記事も参照のこと.
4) クラウド・サービスを活用するスキル
Androidからインターネットを介して,クラウドのサービスを活用するスキルが必要となる.例えば,AWS(Amazon Web Services)のデータベース・サービスなどを使用するには,Amazonの提供するクラウド・サービスに関する知識に加えて,データベースを操作するためのSQL言語やPythonなどのスクリプト言語を駆使するスキルが必要である.
これらのスキルをすべて一人でカバーできる人は稀であるため,チーム内で得意分野を持つ人との協力が不可欠となる(写真3).
写真3 AndroidとArduinoの接続の方法を模索中(チーム「KodoQ」)

●部材の買い出しに
各チームには,Arduino(ADK R3)や基板類(ユニバーサル基板,ブレッド・ボードなど),センサ類(温度センサ,光センサ,マイクロスイッチ,振動スイッチ)などが支給されているが,足りない部材は,外部から調達する必要がある.そこで大阪・日本橋の電気街へパーツを買い出しに行くメンバが現れた.
興味深いのは,ハードウェア担当メンバと電子パーツ店の買い出しメンバのコミュニケーション方法だ.店にいるメンバがスマートフォンのカメラを利用して,店内の写真をFacebookや画像共有サイトなどに投稿し,「この部品?」,「いやその右隣の...」といったやりとりをしている.こんなところでも,SNSをうまく活用している.
複数の店舗を回っても欲しい部材が入手できなかったり,予算(チームごとに4000~5000円の予算がある)の関係で断念し,別の部材に変更するチームも出てきた.
Post a Comment