Node.js | 你的物联网系统,有个管家待认领
很多时候,专业的事情都要交给专业的人来做,才会更放心。
例如买了套房,交房装修完毕,欢天喜地入住后,房子的日常养护和维护之类的事情,都由谁来负责呢?
物业呗~买了房子就自然需要房子所在小区提供的物业服务啦。
毕竟公共区域的维护和清洁、楼宇的日常保养、公共设施的故障修理和养护……没谁能比物业公司做的更好了,他们在人员、技能、经验等各方面都是专业的。最重要的是,你只需支付一些费用,就可以安心享受便捷周到的服务!
类似的情况出现了:你们公司最近基于 Azure IoT 技术新开发了一套物联网系统,经过小半个月的冲刺,整个系统已经顺利上线。但客户提出了一个新需求:既然你们还挺擅长的,干脆把这套系统的监控和后续维护工作也交给你们吧,快出个方案,没问题的话这就开始着手进行吧,要快哦~
这是要让物联网的建设者分分钟 Cosplay 成管家的节奏啊。内部分析发现,想要完美地完成专业的物联网后期监控和维护工作,你们需要:
-
开发一套远程监控系统;
-
提供一套将物联网边缘设备与监控系统连接在一起的机制;
-
通过监控系统集中采集设备数据;
-
分析采集到的数据,然后从中发现重要的信息;
-
速度!速度!!速度!!!
童鞋,既然你们的物联网本身就是基于 Azure IoT 技术构建的,那么你听说过 Azure IoT 套件中提供的预配置解决方案吗?
Azure IoT 套件预配置解决方案提供了一些常见的 IoT 解决方案,预配置的方案只需简单修改即可直接投入使用,快速满足用户的常见需求。目前 Azure IoT 套件提供了下列三个预配置解决方案:
接下来,我们一起看看如何通过「远程监视」这个预配置解决方案,为你的物联网系统请一个满是「英伦范儿」细致周到的管家。下文是使用 Node.js 作为开发语言,将物联网设备连接至 Azure IoT 套件中提供的远程监控预配置解决方案,借此把示例中创建的虚拟设备所采集的外部温度、内部温度,以及湿度信息发送到远程监视系统中,并将这些数据分析处理后现实在仪表板上。
一起按照步骤操作试试看吧。
准备工作
首先我们需要预配远程监视预配置解决方案,并在该解决方案中预配新的自定义设备。
如果尚未在 Azure 帐户中预配远程监视预配置解决方案,请执行下列操作:
-
在 https://www.azureiotsuite.cn/ 页上,单击「+」创建解决方案。
-
在「远程监视」面板上,单击「选择」创建解决方案。
-
在「创建远程监视解决方案」页上输入解决方案名称,选择部署到的区域,然后选择要使用的 Azure 订阅。
-
等待预配过程完成。
预配好远程监视解决方案后,单击「启动」,即可在浏览器中打开解决方案仪表板。
随后我们需要在远程监视方案中预配设备,为此请在解决方案仪表板中执行以下操作:
1、在仪表板左下角,单击「添加设备」。
2、在「自定义设备」面板中单击「新增」。
3、选择「让我定义自己的设备 ID」,输入设备 ID(例如「mydevice」),单击「检查 ID」验证该名称是否尚未使用,然后单击「创建」预配设备。
4、记下设备凭据(设备 ID、IoT 中心主机名和设备密钥)。客户端应用程序需要这些值才能连接到远程监视解决方案。然后单击「完成」。
5、在解决方案仪表板上的设备列表中选择设备。然后在「设备详细信息」面板中单击「启用设备」。设备状态现在为「正在运行」。至此远程监视解决方案已经可以从设备接收遥测数据,并在设备上调用方法。
创建 Node.js 示例解决方案
接下来我们需要使用 Node.js 创建示例解决方案。首先请确保已在开发计算机上安装 Node.js 0.11.5 版或更高版本。若要检查版本,可在命令行中运行 node –version。
随后请执行下列操作:
1、在开发计算机上创建名为 RemoteMonitoring 的文件夹,在命令行环境中导航到此文件夹。
2、运行以下命令下载并安装完成示例应用所需的包:
3、在 RemoteMonitoring 文件夹中,创建名为 remote_monitoring.js 的文件,在文本编辑器中打开此文件。
4、在 remote_monitoring.js 文件中,添加以下 require 语句:
5、在 require 语句之后添加以下变量声明。将占位符值[Device Id] 和[Device Key]替换为在远程监控解决方案仪表板中记下的设备值。使用解决方案仪表板中的 IoT 中心主机名替换[IoTHub Name]。例如,如果 IoT中心主机名是 contoso.azure-devices.net,则将 [IoTHub Name] 替换为 contoso:
6、添加以下变量用于定义一些基本遥测数据:
13、添加以下代码用于创建客户端实例:
14、添加以下代码来执行下述操作:
-
打开连接
-
发送 DeviceInfo 对象
-
设置所需属性的处理程序
-
发送报告的属性
-
为直接方法注册处理程序
-
开始发送遥测数据
-
NodeJS
5、设备处理方法时,运行设备代码的控制台中会显示消息。方法的结果将添加到解决方案门户中的历史记录:
就酱,不需要太多额外的工作就可以创建预配置的解决方案,并根据实际情况简单调整,快速将设备连接到远程监控系统中。你 get 了吗?
如果你在创建预配置解决方案时遇到还没有解决的问题,可以在文章底部留言给我哦~立即访问http://market.azure.cn
-