很多时候,专业的事情都要交给专业的人来做,才会更放心。

例如买了套房,交房装修完毕,欢天喜地入住后,房子的日常养护和维护之类的事情,都由谁来负责呢?

物业呗~买了房子就自然需要房子所在小区提供的物业服务啦。

毕竟公共区域的维护和清洁、楼宇的日常保养、公共设施的故障修理和养护……没谁能比物业公司做的更好了,他们在人员、技能、经验等各方面都是专业的。最重要的是,你只需支付一些费用,就可以安心享受便捷周到的服务!

类似的情况出现了:你们公司最近基于 Azure IoT 技术新开发了一套物联网系统,经过小半个月的冲刺,整个系统已经顺利上线。但客户提出了一个新需求:既然你们还挺擅长的,干脆把这套系统的监控和后续维护工作也交给你们吧,快出个方案,没问题的话这就开始着手进行吧,要快哦~

这是要让物联网的建设者分分钟 Cosplay 成管家的节奏啊。内部分析发现,想要完美地完成专业的物联网后期监控和维护工作,你们需要:

  1. 开发一套远程监控系统;

  2. 提供一套将物联网边缘设备与监控系统连接在一起的机制;

  3. 通过监控系统集中采集设备数据;

  4. 分析采集到的数据,然后从中发现重要的信息;

  5. 速度!速度!!速度!!!

童鞋,既然你们的物联网本身就是基于 Azure IoT 技术构建的,那么你听说过 Azure IoT 套件中提供的预配置解决方案吗?

Azure IoT 套件预配置解决方案提供了一些常见的 IoT 解决方案,预配置的方案只需简单修改即可直接投入使用,快速满足用户的常见需求。目前 Azure IoT 套件提供了下列三个预配置解决方案:

接下来,我们一起看看如何通过「远程监视」这个预配置解决方案,为你的物联网系统请一个满是「英伦范儿」细致周到的管家。下文是使用 Node.js 作为开发语言,将物联网设备连接至 Azure IoT 套件中提供的远程监控预配置解决方案,借此把示例中创建的虚拟设备所采集的外部温度、内部温度,以及湿度信息发送到远程监视系统中,并将这些数据分析处理后现实在仪表板上。

一起按照步骤操作试试看吧。

准备工作

首先我们需要预配远程监视预配置解决方案,并在该解决方案中预配新的自定义设备。

如果尚未在 Azure 帐户中预配远程监视预配置解决方案,请执行下列操作:

  1. 在 https://www.azureiotsuite.cn/ 页上,单击「+」创建解决方案。

  2. 在「远程监视」面板上,单击「选择」创建解决方案。

  3. 在「创建远程监视解决方案」页上输入解决方案名称,选择部署到的区域,然后选择要使用的 Azure 订阅。

  4. 等待预配过程完成。                                                                                                                                                                                                                                        

    预配好远程监视解决方案后,单击「启动」,即可在浏览器中打开解决方案仪表板。                                                                                                                                          

    随后我们需要在远程监视方案中预配设备,为此请在解决方案仪表板中执行以下操作:

    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

Node.js | 你的物联网系统,有个管家待认领的更多相关文章

  1. Node.js 教程 04 - 模块系统

    前言: Node.js的模块系统类似于C/C++的文件引用,可以声明对象,也可以定义类 创建对象. 大家这么理解,就简单了. 定义: 为了让Node.js的文件可以相互调用,Node.js提供了一个简 ...

  2. NodeBB – 基于 Node.js 的开源论坛系统

    NodeBB 是一个更好的论坛平台,专门为现代网络打造.它是免费的,易于使用. NodeBB 论坛软件是基于 Node.js 开发,支持 Redis 或 MongoDB 的数据库.它利用 Web So ...

  3. node.js开发博客系统---前端项目搭建(一)

    Express: https://github.com/petecoop/generator-express 安装node.js和npm 执行: npm install -g yo npm insta ...

  4. Node.js(二)常用的系统模块

    http模块 第一章已经介绍了 node.js 的模块都可以传一个回调函数  回调函数支持两个参数  error , data let fs = require('fs'); fs.readFile( ...

  5. Node.js开发博客系统

    数据库设计 用户表: id phone password nickname head_img personal_sign level_id create_time update_time is_del ...

  6. node.js 开发博客系统

    1. 安装yoman :npm install -g yo 2. 安装 generator-express :npm install -g generator-express 3. 安装 bower ...

  7. Node.js 教程 01 - 简介、安装及配置

    系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...

  8. 提升node.js中使用redis的性能

    问题初现 某基于node.js开发的业务系统向外提供了一个dubbo服务,提供向第三方缓存查询.设置多项业务数据并聚合操作结果.在QPS达到800时(两台虚拟机,每台机器4Core8G4node进程) ...

  9. Jenkins 配置 Node.js 项目

    开始 弄清楚 Jenkins 服务器 用 Jenkins 管理员账号下载 NodeJS Plugin 系统管理 ---> 全局工具配置 ---> NodeJS ---> 安装 --- ...

随机推荐

  1. vue.js基础学习(2)

    vm=new vue({ date:{name:"aa", user:{“name”:"lsm"}}); 获取属性值 1:vm.name 2:vm.$data. ...

  2. java中的几种架构对象(PO,VO,DAO,BO,POJO)

    java中的几种对象(PO,VO,DAO,BO,POJO)   一.PO :(persistant object ),持久对象 可以看成是与数据库中的表相映射的java对象.使用Hibernate来生 ...

  3. Eclipse提交svn错误svn E210003 connection refused by the server

    错误明细: org.apache.subversion.javahl.ClientException: svn: E210003: connection refused by the server o ...

  4. 【Java面试题系列】:Java中final finally finalize的区别

    本篇为[Java面试题系列]第三篇,文中如有错误,欢迎指正. 第一篇链接:[Java面试题系列]:Java基础知识常见面试题汇总 第一篇 第二篇链接:[Java面试题系列]:Java基础知识常见面试题 ...

  5. 洛谷P1171 售货员的难题

    P1171 售货员的难题 题目背景 数据有更改 题目描述 某乡有n个村庄(1<n<20),有一个售货员,他要到各个村庄去售货,各村庄之间的路程s(0<s<1000)是已知的,且 ...

  6. 白白的(baibaide)——树状数组套主席树+splay

    题目 [题目描述] 有一个长度为 $n$ 的序列 $a_1, a_2, \dots, a_n$,一开始每个位置都是白色.如果一个区间中每个位置都是白色,则称这是一个白白的区间.如果一个白白的区间向左或 ...

  7. 洛谷P4332 [SHOI2014]三叉神经树(LCT)

    传送门 FlashHu大佬太强啦%%% 首先,我们可以根据每一个点的权值为$1$的儿子的个数把每个点记为$0~3$,表示这一个点的点权 先考虑一下暴力的过程,假设从$0$变为$1$,先更改一个叶子结点 ...

  8. MCP|MZL|Accurate Estimation of Context- Dependent False Discovery Rates in Top- Down Proteomics 在自顶向下蛋白组学中精确设定评估条件估计假阳性

    一. 概述: 自顶向下的蛋白质组学技术近年来也发展成为高通量蛋白定性定量手段.该技术可以在一次的实验中定性上千种蛋白,然而缺乏一个可靠的假阳性控制方法阻碍了该技术的发展.在大规模流程化的假阳性控制手段 ...

  9. 用cmd命令来 启动和关闭 SqlServer

    cmd命令 启动and关闭 sql数据库服务 (1)先用以管理员身份打开你的cmd窗口. (2)后输入以下对应的命名. 如下: 启动SQLSERVER NET START MSSQLSERVER 暂停 ...

  10. 7、python数据类型之集合set

    数据类型之集合setset 不允许重复的无序集合,不能通过下标取值,因为无序1.创建   创建空集合   s ={} 默认类型为字典,所以不是空集合,空集合如下   s = set()   s = { ...