【初心者が10分で実践するIoT・第三回】 Gravio 4で取得したCO2センサーのデータを元に、LINEに換気を促すメッセージを送ってみた!

こんにちは、Gravio担当のアベです。
“初心者が実践するIoT“シリーズ第三回になります!
前回までで、Gravioを使えるように環境を整え、CO2センサーのデータを取得し、Gravio ライトを使ってCO2濃度を一目で可視化できるようになりました。
今回は、メッセージングアプリの「LINE」にメッセージ通知を送れるようにしていきます!
Gravioライトでは、4色のLEDで一目で状態を確認することが出来ますが、ライトが見える範囲から離れてしまうとそもそも確認が出来ません。
また、色の違いが判らない(基準を知らない)人は、Gravio ライトを見ても状態を把握できません。
LINEに通知を行うようにすれば、離れていても状態が分かり、指示内容も明確に文面で記載出来ます。
ということで、実際に設定を解説していきます。
※ちなみに、LINE以外にも、SlackやMicrosoftTeamsなどにもメッセージを送ることが出来ます。
センサーデータを元にして、LINEにメッセージ通知を送る
まず先に、仕上がりからお見せしますね。CO2濃度が1,000ppmを超えた場合にLINEにメッセージを送信している画面です。

iPhone右のGravio ライトの点灯の仕方は、前回の記事で解説していますので、まだご覧になられていない方はこちらをどうぞ。
LINEへの連携ですが、初心者の私は、「絶対難しいでしょう?」と思っていました。
「プログラミングとかが必要なのでは?」と思いますよね…。
実際は、非常に簡単です。私も今回やってみて初めて実感しました。(笑)
その方法は、LINE社が公開している「LINE Notify」を使うことです。こちらのアクセストークンを発行し、利用することで、簡単に実行出来ます。
ということで、解説していきたいと思います。
用意するもの
- Gravio Standardの契約
- 第一回記事にて使用した Windows 10対応PC
- 第一回の記事にて設定したソフトウエア(Gravio 4)
- ペアリング済み無償貸出CO2センサー
- LINEを使用する端末
- LINEのアカウント
今回行うこと
以上になります。
“初心者が実践するIoT“シリーズの中で、最もシンプルな内容かもしれません(笑)
そのくらい気軽に出来るので、ぜひ最後までお付き合いください。
Gravioからのメッセージを送付するため、LINEとGravio HubKitを連携をする必要があります。
まずは、LINE NotifyのページにPCからアクセスします。
右上のログインを押すと、ログイン画面が出ます。
この時入力するのは、メッセージを受信したいLINEアカウントIDとパスワードです。

ログインが完了したら、次はLINE側(モバイルアプリ側)での操作です。
Gravioからのメッセージを受けるためのグループを作成します。
新規作成をするか、既存のグループにメッセージを送ることも可能です。
また、そのグループには、LINE Notifyのアカウントも招待しておきましょう。
今回はCO2濃度に関するメッセージを受け取るので、新規でグループを作成しました。

続いて、PC側での設定に戻ります。
ログイン済みのLINE Notifyのページで、マイページを開きます。

トークンを発行するをクリックします

任意のトークン名と、Gravioからのメッセージを送信する宛先(先ほど作成したグループ)を選びます。

発行すると、トークンが表示されます。
こちらをコピーしてください。

以上で、LINE Notify側の設定は完了です。
続いてはGravio HubKitでの設定です。
第二回記事までで設定を行った、Gravio HubKitのアクション画面を開きます。
今回は、CO2濃度が1,000ppm以上の時に、LINEにメッセージを送りたいので、1,000ppm以上の時のアクションを開きます。

既に、GravioLightというコンポーネントは追加されているかと思います。
ここに追加で、「LINEにメッセージを送る」というコンポーネントを追加します。

コンポーネントライブラリに、LINE Notifyが用意されているので、それを選びます。

メッセージ欄には、LINEに送信するメッセージを入力します。
トークン欄には、先ほどLINE Notifyのページにてコピーしておいたトークンをペーストします。
その他の項目は編集無しで大丈夫です。

これで、設定が完了です!
テストしてみると、CO2濃度が1,000ppmを超えるとGravio ライトが赤に点灯すると同時に、LINEに設定したメッセージが送付されてきました!

先ほどのような定型文だけでなく、収集しているセンサーデータをメッセージとして送る方法もあります。
その場合は、Pre MappingsにJSON文を記載します。「どうアクションを実行させるか」を具体的に定義するイメージです。
今回は、例として以下のように作成しました。

※文章の部分は、以下のように書いています。
"換気してください!現在のCO2濃度は"+tv.Data+"ppmです!"
これでアクションが実行されると、現在のCO2濃度が反映されてメッセージとして送信されます。これも、かなり便利な機能ですね。
弊社で取り扱っている温度センサーなどと組み合わせても面白いと思います。

ちなみに、今回は入力を省いた「基本プロパティセット」という項目ですが、設定をしておけば他のアクションを作成する時に「トークン」入力の手間が省けます。
下記記事に紹介されているので、ご興味のある方は是非。
まとめ
今回は、CO2濃度が1,000ppmを超えると、自動的にLINEにメッセージを送る設定を行いました。
具体的には、
- LINE Notifyでの設定(アクセストークンの取得)
- Gravio HubKitにて、アクションの設定
ですね。
Gravioライトは、一目で状態が確認できるので便利ですが、外出先からはライトを確認出来ません。
LINE Notifyを設定しておけば、外にいながら確認が出来ます。
メッセージ通知が来るので、気づきやすいという点もメリットですね。
チームメンバーが入っているグループなどにメッセージを送るように設定すれば、メッセージに気づいた誰かが換気を行うことが出来ます。
今回はLINE Notifyをご紹介しましたが、SlackやMicrosoft Teamsなどにも、同じような方法でメッセージを送る設定が出来ますので、是非試してみてください。
初心者が10分で実現するIoTシリーズも、いよいよ次回が最終回です。
次回は、収集したデータの活用をより発展的に。というテーマで外部ツールとの連携をご紹介したいと思います。お楽しみに!