【IoT】IoTデータに任意情報(=タグ情報)を付与し、活用する方法
SORACOM IoT SIM等でデータをクラウドに飛ばす場合、クラウド側で扱うことができる情報は、通常、IoTデバイスから得たセンサー等の値と、クラウド側で付与されるSIM ID等のみです。
IoTシステム開発において、デバイス固有の情報、例えばデバイスに付けた任意の名前や、デバイス設置場所情報などを付与できると、データ活用する上で、便利な場合があります。
本記事では、このような任意情報を付与したいと思ったキッカケや、任意情報をどこに入力すれば良いのかを考えます。
■ 任意情報(=タグ情報)を付与したいと思ったキッカケ
IoTシステム開発において、異常発生時に即座に場所やデバイス名を特定できるようにしたいというニーズがありました。具体的には、地点1,2,…,nに設置したIoTデバイス1,2,…,nで異常検知を行い、異常発生時にLINE通知させたい場合において、「{地点n}(=ユーザーが付けた任意情報)で異常が発生しました。」という文言のLINE通知をしたいと考えました。
今回は、AWS経由でLINE通知したいと思ったのですが、記事執筆時点において、デフォルトでは、任意情報をSORACOM外部のサービスに渡すことができません。
この課題をどのように解けばよいでしょうか。大きく2つの解決案があると思っています。
一つは、外部サービス側に、外部に渡すことができる)SIM IDと任意情報を紐づける一覧表を置き、それを参照する方法です。例えば、Amazon DynamoDBを利用してSIM IDと任意情報を管理し、AWS Lambdaで参照することで任意情報を活用できます。
もう一つは、SORACOM内で完結させる方法で、SORACOM Orbitというサービスを用います。SORACOM内で完結できるため、構成が簡単になります。本記事では、この方法を深堀りします。
■ SORACOM IoTデータにタグ情報を付与する方法
1stshipさんの下記ブログの通りにやればできます!これまで、SORACOM Orbitの概念が難しく、避けてきたのですが、ブログに書かれたコードをコピーし、ブログの通り実行すれば、ノンコーディング(?)で実現できました。大変、参考にさせていただきました。
なお、上記ブログでは、SORACOM LTE-M Buttonを対象としていますが、SORACOM Air for セルラーや for Sigfox等でも可能です。
今回、タグ情報として設置場所、緯度、経度を付与してみました。すると、下記の通り、デバイスから送信されたデータと共にタグ情報を付与できましたー!
■ タグ情報の活用例
◎ IoTデバイス名を通知
この方法を用いれば、設置場所情報をSORACOM FunkでAWS Lambdaに渡すことができるので、Lambda側で「{設置場所}で異常が発生しました。」という文言のLINE通知等を実現することができます。
◎ IoTデバイス設置場所を地図表示
デバイス設置場所が固定されている場合、GPSを用いなくとも、デバイス設置場所の緯度経度情報をタグ情報として付与することで、地図上にプロットすることができます。地図上にプロットする方法としては、SORACOM LagoonのSoracom Map Panelがシンプルです。例えば、設備異常が赤色、正常が緑色のように設定すれば、わかりやすい表現ができますね。
■ まとめと今後の課題
SORACOM Orbitを用いることで、任意情報(=タグ情報)を得られることがわかりました。また、わかりやすいブログのおかげで、簡単に実現することができました。
このような、わかりやすいブログを書けるようになりたいですね。
■ 参考
・このブログ記事通りに実行すると、タグ情報を付与することができました。感謝です。ぜひご参照ください。
・SORACOMのタグ情報の公式ページはこちら
SORACOM Peekの公式ページはこちら
・Soracom Map Panelの公式ページはこちら