Microsoft365 Excel上でGravioが収集したセンサーデータを表示!グラフの共有も簡単・外出先からもリアルタイムデータを確認可能(クラウド表計算サービス連携 その1◇Excel編)
この記事は1年以上前に書かれた内容です。
Gravioの機能・画面キャプチャーなどの情報が古い可能性があります。
最新情報は、Gravioオンラインマニュアルをご参考ください。
下記ブログ記事もご参考ください。
【初心者が10分で実践するIoT・第四回】 Gravio 4で取得したCO2センサーのデータを、無料のクラウドBIツールを使ってグラフにしてみた!
Gravio 4で取得したセンサーデータをGoogle データポータルに接続。無料のBIツールを使って簡単に可視化する手順を解説
Gravio担当のオバタです。
弊社のGravio(有償版)が提供している無償貸出センサーの中でも一番人気があるのが、温度・湿度・大気圧データが取得できる環境センサーです。我が家でも温度変化をGravioセンサーで測定し、その結果をローカルのExcelにてグラフ化を行い活用しています。
この仕組みを利用していて、さらにこんなことができたらいいなと思うことがあります。それは、外出先からスマートフォンで自宅の状況を確認したいのと、更に状態をダッシュボード化・グラフ化したい、さらに家族とそれを共有したいということです。
Gravioはエッジ型のソリューションですので、エッジエリア(ローカル)でデータを取り扱う方法は今までもブログなどでご紹介してきました。しかし、データやグラフの公開、共有という事を行なう場合、クラウドを活用するのが一般的ですので、そこに焦点を当ててご紹介していきたいと思います。
今回は、取得したセンサーデータをクラウド型の「表計算サービス」へデータ送信して、表にしグラフを作成します。こうすることで、外出先からデータを見ることができるようになりますし、さらにこのスプレッドシートを別の人と共有することもできます。
クラウド型表計算サービスですが、代表的なソフトウェアとして、ビジネスユースで広く利用されている「Microsoft365」、Googleアカウントをお持ちなら無償で使える「Google スプレッドシート」、があります。 Gravioはどちらのサービスにもつなぐことが可能です。
しかし、両方への対応をまとめてご紹介となりますと、見ている方も疲れるでしょうし、作業がごちゃごちゃになってしまいそうですので、Microsoft編、Google編の2回に分けさせていただきます。今回はMicrosoft編です。
できること
Gravioの「WriteToExcel365」コンポーネントを利用することで、取得したセンサーデータをMicrosoft365へ連携します。
Microsoft OneDriveクラウドストレージに自動保存されたMicrosoft365 Excelにアクセスすることで、
外出先からリアルタイムでデータを確認したり、作成したグラフを別の人と共有することができます。
準備するもの
- Microsoft365 for Business と OneDrive for Business の契約が必要です。
- GravioBasic以上のご契約(センサーとUSB型のデータ受信機が必要なため)
- Aqaraクライメートセンサー(温度、湿度、気圧)
- Gravioレシーバー
- Gravioを動作させるためのPC(Windows 10 / Mac /Raspberry Pi 4 など)
設定手順
1. Microsoft365for BusinessとOneDrive for Businessの事前設定を行います。
1)Microsoft365アカウントをご準備いただき、AzurePortal にログインしてください。
2)「アプリの登録」を選択して、左上「新規登録」をクリックしてアプリケーション登録をしてください。
3)「表示名」を任意な名称に、「サポートされているアカウントの種類」を、シングルテナントを選択して、「登録」して下さい。
もし、この選択肢を選べない場合は、Microsoft365 の Businessアカウントに登録していない可能性が考えられます。
4)左メニューの概要にて、表示される「アプリケーション(クライアント)ID」と「ディレクトリ(テナント)ID」をメモします。
これらの値は後ほどMicrosoft365 Businessアカウントの「メールアドレス」と「パスワード」とあわせて、WriteToExcel365コンポーネントのプロパティに設定します。
5)左のメニューにある「認証」を選択して表示される「既定クライアントの種類」をパブリックとして扱うため「はい」を選択して「保存」します。
6)さらに、左のメニューにある「APIのアクセス許可」を選択して表示される「Microsoft Graph」の権限に「Files.ReadWrite.All」を追加して保存します。
「MicrosoftGraph」をクリックすると、表示される「APIアクセス許可の要求」配下の「Files.ReadWrite.All」にチェックを入れ「アクセス許可の更新」ボタンをクリックします。
2. GravioStudioで、アクション設定を行う
Gravio Studioのアクション設定画面で、Step1に「SensorDataDB」、Step2に「WriteToExcel365」のアクションコンポーネントを選択します。
事前準備として、Gravio Studioで、エリア/レイヤーの作成、センサーのペアリング、データビューアにて取得したセンサーデータが表示されていることを確認ください。
詳しくは別途ブログを参照ください。
Step1にSensorDataDBを追加する
※GravioHub内に一時的に蓄積されているデータをお好みの条件(センサー種類、過去どれくらい遡るか)で絞り込むことができるアクションコンポーネントです。
1)「ステップ変数」のアイコンをクリックして、「ステップ出力」にデータ項目を追加する
2)「プロパティ」で欲しいデータの条件を設定します。
温湿度や人感などのセンサーデータの種類、○分前、○時間前、○日前などのさかのぼってどのくらい前からのデータを対象とするか、もしくは溜まったすべてのデータを対象とするか、などの条件で抽出するデータを絞り込みます。
今回は、「すべてのデータを取得」にチェック、「Enable Time Rounding」のチェックを外します。
3)知っておくと便利!「アクション変数」の「Timestamp」の「式」を「ToLocalTime(sv.Timestamp)」に修正することで日本標準時(JST)形式にて出力されます。
初期値だと、9時間前の協定世界時(UTC)での表記となります。
Step2にWriteToExcel365を追加する
※取得したセンサーデータの中から希望のデータを選び、Microsoft365 Excelへデータ出力するアクションコンポーネントです。
1)「ステップ入力」のアイコンをクリックして、「ステップ出力」に項目追加されたことを確認します。
2)「プロパティ」の各種設定をします。
- 「File Name」に任意のファイル名を入力します。
その際、拡張子「. xlsx」をファイル名の後ろに付けることでExcelファイルとして出力されます。
付けないとCSVファイルとして保存されます。 - 「Write Mode」は、Replace を選択します。 Append / Replace
- 「ヘッダーを出力する」にチェックを入れます。
- 「Column Mapping」の設定は、どの項目のデータをExcelに出力するか設定します。
ちょっとコツがあります。
[「アクション変数」の「出力フィールド名」]:[Excelの列(A,B,Cなど)] と入力します。
さらに「,」でつなぐことで、複数の種類のデータを出力できます。
例えば、タイムスタンプ、レイヤー名称、データ の3項目を出力したい場合は、
Timestamp:A, LayerName:B, Data:C
となります。
- 左上「基本プロパティ設定を使う」のチェックボックスを外して、4つの値を入力します。
「Client Id」……Azure Portalでメモした「アプリケーション(クライアント)ID」
「Tenant Id」……Azure Portalでメモした「ディレクトリ(テナント)ID」
「Username or Email」……ご自身のMicrosoft365 Business アカウント
「password」……ご自身のMicrosoft365 Business アカウント
3)右上の三角形の再生マークをクリックして、設定したアクションの動作テストを行います。
画面下にエラーメッセージが出なければ成功です。
4)「OneDrive」内に自動保存されたExcelファイルを確認します。
3. Gravio Studioで、アクション実行のキッカケとなるトリガー設定を行う
デバイス設定画面の下部「トリガー」タブをクリック、画面右上「+」をクリックして「デバイストリガーの追加」を作成します。
- 「トリガー」名は、分かりやすいように名前を変えることをオススメします。
- キッカケとなるセンサーを「エリア」と「レイヤー」から選びます。
- 「アクション名」は、2. で作成したアクション名を選びます。
今回の例は、温度センサーなので「温度」は「任意の値」を選ぶことで、温度が少しでも変わるたび(データを送信するごと)にデータを送信します。
「保存」をクリックしてトリガー作成は完了です。
最後に「状態」のスライドバーをクリックして、トリガーを「有効化(緑色)」させることをお忘れなく。初期値では無効になっています。
以上で、すべての設定が完了しました。
Microsoft365 Excelめがけて、取得したセンサーデータを次々と送信します。
サンプルデータとして、自宅の室温を計測しました。深夜にかけて10度近くも室温が下がっていることが分かります。
OneDriveに自動保存されるExcelのブックを他のユーザと共有
ブックを「共有」し「取得したリンクURL」へアクセスすることで、外出先でスマートフォンから最新センサーデータを確認したり、作成したグラフをリアルタイムに別の人と共有することができるようになります。
最後に
Gravioは取得したセンサーデータを、もちろんエッジで加工してグラフ化することも可能ですし、クラウドへ投げグラフ化することも可能です。データの安全性や利活用という点で、お好みに応じて選べることがGravioの特長のひとつです。
ご紹介したクラウド型の表計算サービスを使った可視化で、共有されたダッシュボード・グラフを、離れた場所に設置された大型モニターに表示させるなんて使い方もできるようになります。そうなると面白い使い方がさらに拡がりそうな気がしませんか。
Gravioは、
法人様向けに、無償貸出センサー20個、PCが不要なIoTゲートウェイGravioHub1がレンタルに含まれたプラン(月額2万円)をご用意しております。
また、動作検証用に月額500円のプラン(無償貸出センサー4個)もご用意しており、こちらはMicrosoft Store/ Mac App Storeからご購入いただけます。
さて、今回は、Microsoft365編をご紹介しました。
次回は、Googleアカウントをお持ちなら無償で使えるGoogleスプレッドシートを使った方法をご紹介します。GoogleとGravioの連携を希望されているお問い合わせが増えてきていると肌で感じておりますので、ご参考いただける方もきっと多いだろうと考えております。
次回もぜひご覧ください。