将您的IoT数据直播到移动设备

自从我收到了我的 Azure IoT devkit. ,我想用它创建一个小型应用程序。该应用程序将让我在设备中播放流数据,并在手机上查看。还向设备发送数据以及创建IOT应用程序的许多其他令人兴奋的方面。那么创建一个系统是什么更好的方法,它将将传感器数据从我的Devkit流到我的手机。一旦实现,创建警报系统就如何。如果值增加一定的阈值,系统会通知我。许多令人兴奋的想法,并与我掌握的Azure的能力配对。所以在实施之前,让我告诉你我的高级系统设计:

系统概述显示IOT套件,不同的Azure服务和Xamarin移动应用程序。

但是,首先,我们需要在设备上创建一个应用程序,或者模拟将数据流发送到天蓝色云的设备 IOT枢纽 。然后我们可能希望将数据传送到移动客户端使用 signalr. 。最后使用一些漂亮的所有数据来敏捷 Xamarin形式 代码 - 甚至也许是一个花哨的图表库。

一旦数据被传输到客户端,让我们看一下警报方案。如果值为例如,那么湿度在短时间内快速上升。我们应该能够使用此类事件使用 流分析 然后送一个 推送通知 to a client.

signalr. VS IOT集线器

在潜入实施之前,我向我的朋友展示了这一概况 - 以确保我不会与蔚蓝的糖果商店过度过度。及时我得到了问题:“嘿马克,所以你基本上做的是发布和订阅系统 - 你为什么需要信号传和物联网中心。 IoT Hub或SignalR不会提供以缩放到客户端的所有信息?“什么是一个很大的问题 - 并简化了这个问题。虽然我们正在做的是,我们正在做的是没有别的,然后发布数据并订阅它。他们是我们在这里结合的两个世界。在一方面,我们拥有物联网世界。在这里,我们创造者/公司/企业生产该软件并经常也分发硬件。所以我们 自己的 设备和软件。另一方面,当我们发布应用程序时,我们经常不拥有应用程序正在运行的设备。因此,虽然我们通常倾向于信任我们的IOT设备,因为我们创建它们,但硬化它们并将其装备与我们的后端通信的证书 - 在我们的案例Azure IoT集线器中。我们通常对移动应用程序没有相同的信任。移动应用程序通常部署到移动商店,因此无法保证该应用程序不会最终在rooted android或越狱ios手机上。一旦在这样的设备上,通常只是一只猫和鼠标游戏,使攻击者可以尽可能困难地访问已使用该应用程序安装的秘密。在短的IOT应用程序和移动应用中来自不同的起始位置,因此我们倾向于使用不同的方法来实现安全性。这就是为什么我们使用两个PUB / SUB系统,因为它们都设计有两种不同的方面。

在下一个博客文章中,我们将开始写入IOT客户端,并看看我们如何在不需要devkit的情况下编写IoT客户端。

Updated: