我目前正致力于物联网,在我目前的项目中,我实施了向IoT Hub发送温度值的逻辑(使用Raspberry PI2和BMP280传感器),在天蓝色部分,我创建了流分析工作,用于接收来自物联网的消息根据我的查询集中并过滤这些值,如果温度值超过30度并将这些过滤后的值发布到事件中心是流分析作业的输出之一 .
我在流分析工作中写的查询 .
SELECT
System.timestamp AS Time,
DeviceId,
RoomTemp,
RoomPressure,
RoomAlt
INTO
eventhub
FROM
bmpsensordata
WHERE RoomTemp>35
我已经在azure中创建了一个事件中心,并通过流分析作业监视这些过滤值,在事件中心的仪表板中我之前创建的内容 .
但是我希望将事件中心的值(通过流分析工作的过滤值)发送到IoT Hub,我将使用UWP App(C#语言)以警报消息/通知的形式接收值 .
请告诉我如何在上面的场景中做到这一点 .
问候,
普拉迪普
4 回答
我认为您的解决方案可能与我准备的图表类似:
从IoT中心检索数据并通过Stream Analytics进行分析后,它可以调用Azure功能,该功能会触发Azure通知中心向您的UWP应用程序发送推送通知 . 请使用我的教程来了解如何将Stream Analytics与Azure功能一起使用,以及最后如何发送SMS警报 - 在您的情况下,您应该将代码替换为Notification Hub的代码:
https://github.com/Daniel-Krzyczkowski/Daniel-Krzyczkowski.github.io/blob/master/cloudyofthings/article1/index.md
以下是如何使用Notification Hub SDK以及如何将其与UWP应用程序集成的文档:
https://docs.microsoft.com/en-us/azure/notification-hubs/notification-hubs-aspnet-backend-windows-dotnet-wns-notification
我认为您需要另一个Stream Analytics作业,其中Event Hub作为输入,IoT Hub作为输出 . 然后,您可以在this article中描述的UWP应用程序中从IoT Hub接收 Cloud 到设备消息 .
您可以从单个Stream Analytics作业获得多个输出 . 有关详细信息,请参阅https://blogs.msdn.microsoft.com/streamanalytics/2015/09/16/query-pattern-of-the-week-send-data-to-multiple-outputs/ .
虽然流分析没有直接输出到物联网中心 . 您需要将信息放入EventHub并让工作人员角色处理这个并将信息从那里发送到物联网中心
根据我的经验,我认为您可以尝试将
Notification Hub
与IoTHub
,Stream Analytics
,Event Hub
集成以实现您的需求 . 请参阅下面的详细信息 .使用IoTHub作为输入创建流分析作业,并使用Event Hub作为过滤传感器数据的输出 .
创建通知中心,将数据推送到UWP应用程序 .
创建服务器服务或调度程序作业,以便从事件中心接收数据并将数据发送到通知中心,例如连续WebJob .
作为参考,有一些文件向您展示如何做到这一点 .
开始使用Azure Stream Analytics处理来自物联网设备的数据,https://azure.microsoft.com/en-us/documentation/articles/stream-analytics-get-started-with-azure-stream-analytics-to-process-data-from-iot-devices/
Windows应用商店应用程序的通知中心入门,https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-windows-store-dotnet-get-started/
Event Hubs编程指南,https://azure.microsoft.com/en-us/documentation/articles/event-hubs-programming-guide/
.NET的通知中心服务器SDK参考,https://msdn.microsoft.com/library/mt414893.aspx
在Azure应用服务中创建.NET WebJob(连续运行),https://azure.microsoft.com/en-us/documentation/articles/websites-dotnet-webjobs-sdk-get-started/
希望能帮助到你 .
如有任何疑虑,请随时告诉我 .