Azure IoT Hubで受け取ったデータを利用する方法(Azure function)
概要
Azure IoT Hub でエッジデバイスからデータをAzureに送信することに成功したのですが、そこからどう使うかかを模索した話です。
【前回記事】
M5Stackとクラウドを直接連携してみる(Azure IoT hub入門)
今回はこちらを参考に、「Azue function」を使用して、Azure IoT Hubで取得したデータを利用することができました。
Azure IoT HubとAzure functionを接続
Azure Functionを使う準備をしていきます。Azure portalを開き、Azure IoT Hubと同じリソースグループに、関数アプリを追加します。
関数アプリを作成できたらリソースに入り、関数を作っていきます。
画面右側に関数のテンプレート選択が現れるので、「IoT Hub」を選択します。
関数テンプレート作成時に初期設定を行います。名前は適当。Event Hub connectionをIoT Hubにします。この時、IoT Hubのリソースが作成済みでないといけません。
接続確認
画面左の欄から、「コードとテスト」を選択します。次のようにIoT Hubからメッセージを受け取ったら、コンソールログに出力するコートになっています。
IoT Hubへメッセージを送るデバイスを起動し、次のようにログにメッセージが表示されれば接続Okです!
例えば、次のようにするとM5Stackから送信された温度データをログに表示できます。
module.exports = function (context, IoTHubMessages) {
// context.log(`JavaScript eventhub trigger function called for message array: ${IoTHubMessages}`);
IoTHubMessages.forEach(message => {
context.log(`Processed message: ${message.Temperature.toFixed(1)}`);
});
context.done();
};
おわりに
この方法は特に回りくどい事せずことをせず、設定するのみだけなので簡単かなと思います。
ただし、あまりに頻繁にデータを送信していると課金になるかもしれないので気を付けましょう。
参考
・Azure Functions の Azure IoT Hub トリガー
・Azure IoT Hub と Windows 10 IoT Core とRaspberry Pi 3 Model B+ とでテレメトリーの収集をしてみた
・IoT Hub メッセージ ルーティングを使用して device-to-cloud メッセージを別のエンドポイントに送信する
Author And Source
この問題について(Azure IoT Hubで受け取ったデータを利用する方法(Azure function)), 我々は、より多くの情報をここで見つけました https://qiita.com/kmaepu/items/016608d1b810a9bd6470著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .