スマホで簡単IoT

今回の投稿は以下のイベントで発表した内容です。

https://iotlt.connpass.com/event/227874

せっかくなので、(締め切り直前ですが)いつものキャンペーンに参加してみます。

https://www.lp.soracom.jp/202110-blog-campaign

経緯

私事ではありますが、先日第三子(長女)が生まれ、育休をいただいています(現在4週目)。

育休中、資格の勉強や積読(つんどく)&積みデバイスの片付けをしたかったのですが、(先人の教えの通り)家事&育児でほとんどできていませんでした。

そこにイベント登壇の依頼があったので、せっかくなので育児にかかわるシステムを作りたいと思い立ち、赤ちゃんの見守りシステムを作ってみることにしました。

どうやって?

SORACOM UGでもお世話になっている「しょーちゃん」さんが先日、スマホでPoCするブログをアップされていました。

https://zenn.dev/showm001/articles/2021-08-12-01

今回、このAndroidスマホ+Node-RED(RedMobile)+SORACOMサービスで挑戦しました。

準備

RedMobile

RedMobileはスマホ内蔵センサーのノードを組み込んだNode-RED環境を提供するもので、有償(500円)ですが、Google Playからインストールするだけで使えます。

インストール後Wi-Fiに接続した状態でアプリを起動し、Startをタップします。

RedMobileの起動

Node-REDが起動され、「http://(ローカルIP):1880/red」と表示されます。

Node-RED起動後の画面

同一ネットワークのパソコンでブラウザを起動し、先ほどの 「http://(ローカルIP):1880/red」 にアクセスするとNode-REDの編集画面になります。

Node-RED編集画面

SORACOM Arc

SORACOM Arcというサービスを使うと、SIM不要でインターネット環境からSORACOMのサービスを利用することができます。

SORACOM ArcはスマートフォンにWireGuardというアプリをインストールして設定します。

詳細の手順は前述の「しょーちゃん」さんのブログをご参照ください。

つくったもの

以下の機能を持つ赤ちゃんの見守りシステムにしました。

  • スマホ内蔵の明るさセンサーで夜間の照明点灯時間を計測
    →授乳回数やおむつ交換の参考とする
  • スマホカメラで赤ちゃんの睡眠の様子を観察する

携帯画面

Node-REDのダッシュボード機能でこんな画面を作りました。

携帯画面

SORACOMダッシュボード

SORACOMサービスとしては、明るさセンサーのデータはSORACOM Harvest Data、カメラで撮影した画像はSORACOM Harvest Filesに保存し、SORACOM Lagoonで可視化しました。

Lagoon画面

実装

Node-RED

以下のようなフローとなりました。

Node-REDフロー

詳細は別の機会に紹介できればと思います。

SORACOM

光センサーデータの送信は「しょーちゃん」さんのブログ、画像の送信&可視化は以下を参考に実装しました。

https://users.soracom.io/ja-jp/docs/harvest/send-files

https://users.soracom.io/ja-jp/docs/harvest/lagoon

画像送信はいろいろ問題があったので、後日まとめてQiitaにでも上げておきます。

テストの結果

結論から言うと失敗でした。

理由はスマホの明るさセンサーが作業時の常夜灯に反応せず、0だったが原因です。

写真も当たり前ですが、電気を消すと真っ暗…

テスト運用結果画面

まとめ

今回の開発システムは失敗でしたが、特別なデバイスを使わず、スマホだけでセンサーデータ、カメラ画像をSORACOMにアップロードできるのはいろいろと可能性が広がります。

また、「スマホだけでできる」というのはビギナーにとって「試してみる」のハードルを下げられるのではないかと思っています。

謝辞

くどいですが今回のシステムは「しょーちゃん」さんのブログのおかげで作ることができました。

また「しょーちゃん」さんには「もくもく会」でも直接アドバイスをいただき、感謝です。

https://soracomug-tokyo.connpass.com/event/229776

またイベント登壇のお声がけをいただきました武村さん、ブログ書くモチベーションをくださるソラコムさんいつもありがとうございます。