IoTという言葉は一時バズワードとして流行しましたが、最近では企業でも多く利用されるようになってきています。多くはマイコン(Raspberry PiやArduinoなど)とセンサーの組み合わせですが、センサーで計測したデータを表示するためにスマートフォンアプリを開発するケースも多いようです。

今回のMonaca UG(User Group:ユーザグループ)はIoTがテーマです。Monaca UGは公式情報だけでは物足りない、ユーザーのリアルな意見を聞きたいという声を受けて発足しています。IoTに関する公式情報は殆どないため、まさにユーザグループならではのテーマとなっています。

Android ThingsでMonacaを動かそう by ピープルソフトウェア 末房さん

末房さん:
Android ThingsはIoT用のAndroid OSです。マイコンで動作するよう、小さなメモリフットプリントで作られています。とはいえ基本はAndroidなので、多少の工夫は必要ですがMonacaアプリをインストールすることが可能です。しかもセンサーのデータを取得することもできます。

通常、IoTの開発ではC言語などを使いますが、Monacaを利用することでWeb技術で開発ができます。通常IoTアプリケーションのUI開発は面倒ですが、HTMLなら簡単に作ることができます。例えばカードリーダーの値を受け取って画面を変化させるようなアプリが簡単に作れます。

Android Thingsは先日1.0リリースを迎えました。今後もメンテナンスされていくであろうことが伺えます。
なお、Android ThingsはGPUが使えないため、重たい処理を実行すると落ちてしまう問題があります。この辺りはIoTデバイスと言う小型、小メモリ、小ストレージという特性上、致し方ないかも知れません。


前回Monaca UG OKAYAMA #1でも末房さんに紹介してもらったネタなのですが、さらにパワーアップした内容でお話ししてもらいました。
デモではカードリーダーやNFCチップを使ってスタンプを押せるアプリを紹介してくれました。スマートフォンアプリなのにRaspberry Piなどと連携して動き、センサーの値も取得できるのが凄いです。

独自フォーマットのBLEビーコンを受信するコツ by KDL 中西さん

中西さん:
Bluetooth Low Enegy(BLE)、いわゆるビーコンのお話です。GoogleやAppleはそれぞれビーコン技術を提供しており、センサー業者なども色々なビーコンを作っています。今回は実際の案件でビーコンを利用して苦労した話を共有します。

Monacaでビーコンを利用する場合、Cordovaプラグインを使うことになりますが、単にプラグインをインストールすれば終わるという簡単な話ではありません。
Bluetoothのバージョンが多数あることや、対応しているOSバージョンが異なることなどを理解しておく必要があります。現在、古いAndroidバージョンである4系でも1割を越えるシェアがあるそうです。そして、端末毎にも機能差があるので、きちんと把握しなければなりません。

他にも様々なトラップがあり、OS側に不具合があったり、チップ側にも問題があったりして、何の問題もなく使えるケースはほとんどありません。うまくいかない原因を特定するためにはBluetoothのパケット調査をして、複雑な仕様を読み解いていきます。

BLEに対応したCordovaプラグインはいくつかありますが、いずれも不具合が見られました。問題が発生した際に、OS、Bluetoothチップ、そしてプラグインとすべてを調べなければならないため本当に大変でした。皆さんもBLE開発をするときには覚悟しておいてください。


中西さんのプレゼンは、涙なしには見られない、たくさんの苦労が凝縮した内容となっていました。パケット調査ツールのデモを見せてもらいましたが、お世辞にも使いやすいと言えるものではなく、調査の大変さが伺えました。

Raspberry Piでお手軽IoTプロトタイピング by クリエイターズ・ラボ 柳 允雄さん

柳さん:
Raspberry PiによるIoT開発の始め方(Monacaに限定せず)についてお話します。Raspberry Piは他のマイコンに比べてプロトタイピング開発に向いているデバイスです。センサーも多数用意されていますし、何よりLinuxが普通に使えるので、よく知られたLinuxコマンドがそのまま使えます。Web開発者にとてお馴染みのNode.jsを使って開発もできます。

Raspberry Pi 3であれば無線LANやBluetoothに対応したチップが最初から組み込まれているので、すぐに開発をはじめられます。CPU性能はデスクトップPCに比べれば低いものの、クアッドコアで十分な性能があります。

事例の一つに、カメラを使った顔判定と、本人が所有するスマートフォンが近くにあるかという二つの条件で認証するアプリケーションがあります。顔認証だけでは写真などでごまかされる可能性がありますが、Bluetoothを利用して登録済みのスマートフォンが近くにあるかどうかという条件を加え、より強固なセキュリティを確保しています。


今回はその場での懇親会ではなく、KDLさんが運営する沖縄料理屋「そら」へ移動となりました。そこで末房さんがRPGツクールとRaspberry PiのNFCセンサーが連動するとデモを紹介し、大いに盛り上がっていました。様々な色のアヒルをセンサーの上に乗せると敵キャラの色が変わるという、斬新で面白い仕組みでした。こういった話題が出るのも懇親会ならではですね。


Monaca UGは6月に大宮と東京、そして7月には札幌がはじまります。皆さん、ぜひお近くのUGに参加してください!

Monaca UG - connpass