PowerApps でセンサーデータの値を取得してみた!(ソースもあるよ!)

公開日:2019-02-19
最終更新:2019-02-19
※この記事は外部サイト(https://qiita.com/rnakamuramartiny/items/e...)からのクロス投稿です

まずはこちらをご覧ください。

構成図はこちらです!

説明

Raspberry Pi に接続している、BME680というセンサーで、温度、湿度、気圧、空気中のガスを計測することができます。
そのデータをPowerAppsに表示させます。
PowerAppsにて使用可能で、API経由でデータ送信可能なデータソースはSQL Serverといったものが使用可能ですが、Office365のみと考えると実はそう多くなく、今回はAPIやリファレンスが豊富なSharePointのカスタムリストを採用しています。
SharePointはモダンサイトでは2万件以上のレコードは動作に支障をきたすため
特定のレコードを都度更新するという処理にすることで、レコードを増やさないようにしています。
なお、データをため込みたい場合は、Power BIのストリーミングデータセットを使用し、Power BIのレポートで参照しましょう。

注意

今回のデータソースの使い方は、本来の使い方とはかけ離れています。
実際のプロダクトに使用することは絶対におやめください。
また、万一使用したことにより発生したあらゆる事象について、私及び私が所属するすべての組織は一切の責任を負いかねます。
ご了承ください。

作り方

各種センサー及びディスプレイ

Amazonさんで購入しましょう!

SharePoint側

カスタムリストを以下の通り作成します。

列名 種類 用途 備考
Product 1行テキスト レコード検索用名称 要インデックス
Value1 数値 IoT数値データ1(温度)
Value2 数値 IoT数値データ2(湿度)
Value3 数値 IoT数値データ3(気圧)
Value4 数値 IoT数値データ4(ガス)

PowerApps側

データソース接続(IoT_Data)

SharePointで作成したカスタムリストを指定します。

タイマーコントロール

OnTimerStart

Refresh(IoT_Data);  
ClearCollect(SPSSensor,(LookUp(IoT_Data,Product="PiSensor")))

なお、期間や繰り返し、自動開始などは以下の通りに設定しましょう。

解説

作成したデータソース「IoT_Data」のデータを取得して
各種ラベルに表示させる用のコレクション「SPSSensor」に
IoT_DataのProduct列「PiSensor」のレコードに格納します。

ラベル

温度表示部分

Concatenate(Text(First(SPSSensor).Value1),"℃")

湿度表示部分

Concatenate(Text(First(SPSSensor).Value2),"%")

気圧表示部分

Concatenate(Text(First(SPSSensor).Value3),"hPa")

ガス(空気質)表示部分

First(SPSSensor).Value4

サンプルアプリ

こちらです!

Raspberry Pi側

Pythonで作成しています!
ソースコードはこちらに格納しています。
こちらです!

各種センサー用のドライバが別途必要ですので、それらをインストールしてくださいね!

Power BI部分

こちらの記事をぜひ参考にしてください!
https://qiita.com/rnakamuramartiny/items/0cd593660f62def90b96

最後に

いかがでしたか?
PowerAppsで、センサーデータの取得
また、逆にセンサー側からPowerAppsをコントロールといった制御も
コーディングなどが必要にはなってきますが
実現することは可能です!
この辺りは、まさにエンジニアの仕事です!
PowerPlatformは、みんなが作り
使いたいけど使えないものはエンジニアがバリバリ作ることで
無限大の表現ができるようになります!
みなさんもぜひ、PowerPlatform、楽しんで使ってみてください!

記事が少しでもいいなと思ったらクラップを送ってみよう!
18
+1
@cHFbegNF3xXnRYyBの技術ブログ

よく一緒に読まれている記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる

技術ブログをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

技術ブログを開設する

Qrunchでアウトプットをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

Markdownで書ける

ログ機能でアウトプットを加速

デザインのカスタマイズが可能

技術ブログ開設

ここから先はアカウント(ブログ)開設が必要です

英数字4文字以上
.qrunch.io
英数字6文字以上
ログインする