今回の投稿は以下のイベントで発表した内容です。
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をタップします。

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

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

SORACOM Arc
SORACOM Arcというサービスを使うと、SIM不要でインターネット環境からSORACOMのサービスを利用することができます。
SORACOM ArcはスマートフォンにWireGuardというアプリをインストールして設定します。
詳細の手順は前述の「しょーちゃん」さんのブログをご参照ください。
つくったもの
以下の機能を持つ赤ちゃんの見守りシステムにしました。
- スマホ内蔵の明るさセンサーで夜間の照明点灯時間を計測
→授乳回数やおむつ交換の参考とする - スマホカメラで赤ちゃんの睡眠の様子を観察する
携帯画面
Node-REDのダッシュボード機能でこんな画面を作りました。

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

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