iOS+Bluetoothで"ものアプリ"の開発を始めた理由
最近iOSアプリ開発に本格的に取り組み始めました。
それまでは、Arduino ADKと連携するAndroidアプリを作って、さらにBluetooth2.1+EDRでセンサー情報をAndroidに送って、その変化値で音や映像を変化させるというアプリを作っていました。
そもそもADKについて自分が知ったのは2011年で、Google I/Oのセッションを見て、その後2012年3月頃に発売されたSmartphone World vol.3 でその詳細を知ることになります。
2012年春当時では、Arduinoでは電子工作っぽいことができて、Androidとつなげて何かができるという事しかつかめず、これをどうビジネスにしていけるのか、あまり想像できていませんでした。この頃から、家電制御や消費電力の見える化、センサー情報を活用したビジネスなどの情報を色々考えるようになりました。
そんな時、2013年1月にものアプリハッカソンなるものが開催され、当時の自分はまだこの分野に関しては疑心暗鬼であったことは過去のブログにも書きました。
しかしながら、いざ本格的にそこに集まったメンバーと取り組んでみると、ビジネスになるんじゃないかという希望の光がなんとなく見えてくるようになりました。
そこで活動を継続し、6月頃に形になったのが下記の写真のプロトタイプです。
タイトルの本題に話を戻すと、この写真を見てわかるとおり、リード線があるし、Arduino本体は大きいし、商品には程遠い状態です。
なので、小型化、無線化に本格的に取り組み始めました。
小型化にArduino pro miniやPIC使う、無線化にBluetooth使うといったもの。
でも、商品を強く意識した場合、それまでの延長線上では電子工作の域を出ないと判断しました。理由は主に次のようなものです。
・Android端末では外部デバイスが使える・使えないが多様すぎる
・Bluetoothモジュールの扱いやすさや価格
っで、色々検討してみて、やはり本命は、iPhone/iPadという結論に至りました。
iPhone4S以降だと、Bluetooth Low Energyが使えて、モジュールも多く出回ってきているし、利用者数も多いというのが決め手です。
っで、iPhoneアプリで本格的な開発を始めようと思った時には、iPhoneアプリ開発得意なメンバーが他で忙しくなってたので、自分がやるしかないとなったのではじめました。
なので、2月から、ものアプリ開発が始まって以降自分がカバーする技術領域は、
AWS+Python(Django) → Android(Arduino,ADK,PIC,Bluetooth2.1+EDR) → iOS(Bluetooth4.0 LE)
という感じで流れてきました。
っで、2013/7/20からの1週間で、Objective-Cの基本的な文法と、XcodeでのGUI開発、CoreBluetooth APIを習得して、まずはカメラリモコンをハックするアプリをつくりました。
カメラリモコンは、これを使いました。
iOSアプリ開発の教科書としては、2冊。
次に、各種センサーを搭載したSensorTagにつながるようにしました。
SensorTagにはサンプルアプリがあるので、そこから必要な部分を抜き出しました。
っで、約2週間程で、デモっぽいものができるアプリをつくりあげました。
その映像がこちら。
並行してメンバーが独自BLEデバイスも開発していて、もう一つの試作アプリがこれ。
そして、現在各種アプリとセンサーデバイスを開発中です。
製造や量産も本格的に検討が始まりました。
アプリ開発自体には、様々な技術も取り込む予定で、
ジェスチャー認識アルゴリズムを現在実装評価中です。
いろんなエアープレイを現実化させていきます。