LoRaWAN 対応 やわらか無線センサー ハッテトッテ®️ で室内環境をセンシング ~ Part III
※本ブログは、DIC 株式会社(以降、DIC 社)様協賛による企画記事です。あらかじめご了承ください。
コロナ感染防止策としての”密”の把握、頻発する大規模災害への迅速な対応、少子高齢化による家族・地域社会の役割見直しなど、身近なところに様々な社会課題があります。無尽蔵に働ける人がいて、無尽蔵に予算があれば、解決策も多岐にわたると思います。
実際には、生産年齢人口や税収入の減少から、投資可能なリソースは非常に制限されつつあります。このような中、いかに効率よく、かつ低コストで、”モノ”をセンシングし、有益な”コト”につなげていくかが、非常に重要になります。
今回は、3 部連載企画として、屋内空間の状態を手軽に効率的にモニタリングできるデザインコンシャスな LoRaWAN 対応屋内温度・湿度・照度センサーデバイスハッテトッテ® のご紹介をしていきたいと思います。
第 1 回では、LoRaWAN 界隈の動向、 ハッテトッテ® の製品概要紹介、実際に利用する際に必要なモノの概要について触れました。
第 2 回では、第 1 回で紹介したモノを使って、ハッテトッテ® のデータを可視化するための準備をしました。
最終回、第 3 回は、IoT の醍醐味の可視化の実現です。また、これまでに触れられなかった Tips や補足的な情報をお伝えします。
5. TTN V3 経由でデータを可視化する
前回(第 2 回)では、TTN V3 上でハッテトッテ® のデータを確認することができました。さらに、要件に従って自由にデータをハンドリングしたい場合は、TTN V3 まで届いたデータを外部へ出す必要があります。
TTN V3 では、すでに多くの外部アプリケーションサービスと容易に連携ができるようになっています。
5.1. TTN V3 上のインテグレーション機能を活用する
前回、TTN V3 で、アプリケーションを作成しました。このアプリケーションの画面にいくと、左カラムにインテグレーションという項目が見つかります。ここをクリックすると、外部と連携する方法がいくつか出てきます。一番馴染みがあるのはWebhooksだと思います。
Webhooksをクリックすると、画面右上に「+ webhook の追加」ボタンが表示されます。ここを押下してください。
すると、容易に連携ができるアプリケーションサービスの一覧が表示されます。
第 1 回で触れた通り、今回はこの中にあるTago.ioを使っていきたいと思います。
5.2. Tago.io
Tago LLC(米国、ノースカロイナ州)が提供する IoT 向け統合的クラウドプラットフォームです。
統合的とは、
IoT ノード管理、データ蓄積・整形・可視化、アクセス管理、アクション管理、カスタマイズされたダッシュボード開発などの IoT プロジェクト実装に必要なすべての要素が含まれている
という意味です。
Tago.io トップページの一番下に「AWS」のロゴが見えますので、AWS(米国のどこかのリージョン)上で動いているものと想像されます。
一番気になる「価格」ですが、フリーミアムモデルなので、個人ユースレベルであれば無償で始められます。
5 デバイスまで、5 ダッシュボードまで、10 ユーザまで、データ保持 30 日まで、が許容できれば、無償で利用できます。
有償になりますが、独自ドメイン対応だったり、ホワイトレーベル利用(オリジナルのブランドとして見せる、つまりシステムの OEM 提供みたいなこと)も可能です。 手取り早く IoT サービスを独自ブランドで始めるための道具として、選択肢になり得ると思います。
また、非常に汎用的に、高機能で作られていると思われますので、どんな産業分野でも活用可能だと感じます。
6. 可視化 / データ Biz
Tago.ioを使って、いよいよ IoT の醍醐味、データ可視化です。
6.1. Tago.io と TTN V3 の連携
まず、Tago.io に TTN V3 のデータが届くように設定する必要があります。
流れは、次の通りです。
- Tago.io にアカウントを作る
- Tago.io でデバイスを登録する
- Tago.io で連携用の認証トークンを生成する
- TTN V3 の Webhook インテグレーションで Tago.io を選ぶ
- 4.の設定画面で、3.の認証トークンを設定する
6.1.1. Tago.io の設定
アカウント登録
何はともあれ、ここからアカウントの登録です。名前、メアド、パスワード、所属企業・団体名、国を入れていきます。
デバイス登録
次に、デバイスを登録します。画面左上に「Devices」が見えると思います。ここをクリックして下さい。
次に、画面右上の「+ Add Device」ボタンを押下。
次の画面で、「どんなネットワークサーバ(右カラム)からデータが届くデバイス(画面中央全体)を登録するのか?」という観点で、適切なものを選択していきます。今回は、LoRaWAN TTI/TTN V3を選択し、さらに画面右上にあるCustom The Things Industriesを選択します。
次の画面では、デバイス名(自分が見て識別できるような名前にしておくと良いです)と、TTN V3 で登録したハッテトッテ® のDevEUIを登録します。この二つの入力が終わったら、画面右下の「Create my Device」ボタンを押下。
無事に登録されると、画面右下に「Continue」ボタンが表示されるので、ここを押下。
画面中央に表示される「Generate authorization」ボタンを押下して、TTN V3 からアクセスするためのトークンを発行することをします。
“Service Authorization"という文字が見える画面が立ち上がります。生成するトークンの名前がわかるように適当につけて、画面右の「Generate」ボタンを押下します。
今、生成したトークン名が表示されるので、画面右の「Copy」ボタンを押下。すると、クリップボード上にトークンがコピーされた状態になります。
6.1.2. TTN V3 の連携設定
前回、TTN V3 で、アプリケーションを作成しました。このアプリケーションの画面左カラム「インテグレーション > Webhooks」とクリックし、画面右上の「+ webhook の追加」ボタンを押下します。
すると、連携ができるアプリケーションサービスの一覧の中にTago.ioがあります。Tago.ioをクリックしてください。
すると、設定画面が出てきます。いつものように、自分で識別できるように ID を適当に入力し、“Authorization"項目に(クリップボードにコピーされている)トークン情報をペーストします。最後に、「tagoio webhook 作成」ボタンを押下するのを忘れずに。
6.1.3. 連携の確認
再び、Tago.ioの画面に戻り、画面左上の「Devices」をクリックして下さい。先程登録したデバイスが一覧として表示されると思います。
TTN V3 でのトークン登録完了後、ハッテトッテ® からデータが送信されていれば、Tago.io 側のデバイス一覧画面でも、“Active"の部分が"Yes"となり、“Last Input"の部分が緑文字で直前のデータ受信タイミングが表示されているはずです。
やっと、データ可視化する手前の準備が完了です。
6.2. 可視化画面の作成
では、ハッテトッテ® から届くデータを可視化していきましょう。
まずは、完成(予想)図です。
少し説明をすると、上段左から、温度、湿度、照度です。右最上位から、時計、電池電圧、通信回数です。
下段は、温度・湿度の時系列グラフです。
ここで表示しているデータで、時計だけが、ハッテトッテ® からのデータではないです。
それぞれのデータを表示している枠をウィジェットと呼びます。いろんなタイプのウィジェットが用意されているので、それを一つひとつ作って、可視化ダッシュボード画面を作ります。
ダッシュボードの土台を作る
画面左上"DASHBOARDS"の”+“をクリックします。ダッシュボード画面の土台作成です。
ダッシュボード名を適当に入れて、“Create my Dashboard"を押下します。(Type は、デフォルト”Normal”のままです。)
ダッシュボード内に表示・配置するウィジェットを作る
まっさらなダッシュボード画面(キャンバス的なもの)が表示されます。画面内の”+“をクリックして、画面を構成する可視化ウィジェットを追加していきます。ウィジェットもいろいろ種類があります。
今回利用するのは、4 種類です。Display、Line、Solid、Clockです。
ウィジェット内の項目を設定する(表示したいデータ、見せ方など)
温度、湿度、照度の可視化で使っているSolidの説明です。ウィジェットの選択画面でSolidを選択した直後に、どのデータをどのように表示するか?のウィジェットの設定画面が表示されます。
右側に設定する項目が並びます。“Title”、“Data form”、“Options”、“Range"を設定していきます。
Titleは、このウィジェットのタイトルです。適当に入れてください。
Data formは、どのデバイスのデータか?さらに、どの変数(温度とか湿度とか)を表示したいか?を選ぶ部分です。TTN V3 から Tago.io 側にデータが届いていれば、デバイスも変数もプルダウンで選択できるようになっているはずです。
Optionsは、設定しなくても良いですが、私は好んで使います。直近いつデータが届いたか?をダッシュボード内でパッと知りたい時があります。これにより、正しくデータが途切れることなく届いているか?を間接的に把握できるからです。もし、直前にデータが届いたタイミングをウィジェット内に小さく表示したい場合は、“Show last update"のトグルを ON してください。
Rangeは、アナログメーターっぽい見せ方の場合は設定をしておくと良いです。メーターの最小値と最大値を設定できます。
電池電圧と通信回数は、Displyウィジェットを、温度・湿度の時系列グラフは、Lineウィジェットを、それぞれ利用しています。設定のやり方は、Solidと同様です。色々いじりながら確かめてください。
なお、時計は、Clockウィジェットです。これは基本全てのダッシュボードに入れています。ダッシュボードを見た時、その時が何時なのか?が、視線をずらさずに見られるのは便利かな?!と思っているためです。設定が一番簡単なウィジェットでもあります。
6.3. 可視化画面 〜完成
ウィジェットの位置、大きさなどをいじってみてください。そして、これが、一例としての完成図です。
ご紹介していませんが、画像や動画のウィジェットも存在します。ダッシュボード上のデータが、どのデバイスのものか?をわかりやすくするために、製品画像を貼り付けておくのも良いかもしれませんね。 ぜひ、色やフォントも含めて、自分なりの「わかりやすい」可視化画面を作ってみてください。
7. 豆知識
7.1. ハッテトッテ® の小ネタ
今回取り扱っている LoRaWAN は無線通信です。当たり前ですが、ハッテトッテ® から送られるデータが、100%確実に上位側に届くとは限りません。従って、LoRaWAN プロトコルの仕様としても、またデバイスの処理実装としても、再送する仕組みを入れることで、通信の成功確率は上がります。
ハッテトッテ® は、外観、触感がユニークだとお伝えしましたが、実は、この再送機能もユニークな機能が実装されています。
非常にシンプルに説明すると、ハッテトッテ® 内には、センシングデータがある程度記録されています。これを、上位側から呼び出すことが可能です。
そんなの当たり前だろ!
そんな声が聞こえてきそうです。当社も それなりの種類の LoRaWAN デバイスをいじってきましたが、この機能が実装されているのは、このハッテトッテ® とあともう1種類しか知りません。
7.2. Tago.ioの小ネタ
今回の例では、データの可視化しかお見せしませんでした。可視化しかできなければ、統合的とは言えません。もちろん、可視化しかできないわけではなく、もっともっと多くの機能があります。
7.2.1. アラート通知
例えば、
湿度がある閾値を下回ったらアラート通知が欲しい
とか、ありますよね。もちろん可能です。これを実現するために、Actionを使います。アラート通知ならば、メールや SMS を通知手段として選べます。
7.2.2. データ出力
また、Tago.io側に送られてきたデータは、一定量・一定期間であれば無償で保存されています。それをファイル(形式は複数)としてエキスポート(ダウンロード)することも可能です。これは、Bucketから可能です。
ただし、無償利用の範囲では、保存できるデータ量に限界があります。
そこで、当社が無償で提供しているLPWAN Loggerをご利用いただくと、ご自身の設定した Google シートに、ずっと TTN V3 からのデータを蓄積できます。そちらも併せてご利用ください。
8. 参考情報(まとめ)
本連載でご紹介した内容の、主要な情報を参考までに整理しておきます。ご興味ある方は、それぞれのリンク先をご覧いただくか、あるいは当社までお問い合わせください。
- ハッテトッテ® 製品サイト
- 世界最大の LoRaWAN コミュニティ The Things Network
- オープンソース化された最新の LoRaWAN ネットワークサーバ The Things Stack
- 統合的可視化サービス Tago.io
- 普及型 屋内向け LoRaWAN ゲートウェイ Dragino LPS8-JP 販売サイト Dragino ダイレクトショップ、当社 EC サイト
- TTN V3 からのデータをログし続けられる無償サービスLPWAN Logger