Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

構成図はこちらです!

Untitled (1).png

説明

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

注意

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

作り方

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

Amazonさんで購入しましょう!
* BME680
* SSD1306

SharePoint側

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

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

PowerApps側

データソース接続(IoT_Data)

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

タイマーコントロール

OnTimerStart

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

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

解説

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

ラベル

温度表示部分

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

湿度表示部分

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

気圧表示部分

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

ガス(空気質)表示部分

Text
First(SPSSensor).Value4

サンプルアプリ

こちらです!

Raspberry Pi側

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

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

Power BI部分

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

最後に

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

rnakamuramartiny
No Bike(Motorcycle) No Life! バイクをこよなく愛する中年エンジニアです。 福岡市を中心にクラウド製品コンサルを主にやってます。 本Qiitaではそれらに携わることで出てきた問題点やその解決法などを共有できたらなぁと
http://sentreseau.com
sentreseau
お客様の業務に最適なDXソリューションをご提案しています。
http://sentreseau.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした