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

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

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

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

类似的情况出现了:你们公司最近基于 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. 8、泛型程序设计与c++标准模板库2.3双端队列容器

    双端队列容器是一种放松了访问权限的队列.除了从队列的首部和尾部访问元素外,标准的双端队列也支持通过使用下标操作符"[]"进行直接访问. 它提供了直接访问和顺序访问方法.其头文件为& ...

  2. JsonPath的用法

    有时候需要从json里面提取相关数据,必须得用到如何提取信息的知识,下面来写一下 语法格式 JsonPath 描述 $ 根节点 @ 当前节点 .or[] 子节点 .. 选择所有符合条件的节点 * 所有 ...

  3. URAL 2018 The Debut Album (DP)

    题意:给出n长度的数列,其实1的连续个数不超过a,2的连续个数不超过b. 析:dp[i][j][k] 表示前 i 个数,以 j 结尾,并且连续了k个长度,要用滚动数组,要不然MLE. 代码如下: #p ...

  4. Android运行时Crash自动恢复框架-Recovery

    转自:http://zhengxiaoyong.me/2016/09/05/Android%E8%BF%90%E8%A1%8C%E6%97%B6Crash%E8%87%AA%E5%8A%A8%E6%8 ...

  5. cookie中存取中文字符

    1.存入中文: Cookie c = new Cookie("username", java.net.URLEncoder.encode(name,"utf-8" ...

  6. 倍增lca-ZJOI2012 灾难

    一个食物网有N个点,代表N种生物,如果生物x可以吃生物y,那么从y向x连一个有向边.这个图没有环.图中有一些点没有连出边,这些点代表的生物都是生产者,可以通过光合作用来生存: 而有连出边的点代表的都是 ...

  7. Java实现发送邮箱验证码/注册验证链接

    本文以163邮箱为例 1.准备(邮箱账号,邮箱必须设置POP3/SMTP/IMAP,设置步骤如下:) >>步骤:1 开启授权码服务 >>步骤:2 手机获取验证码 >> ...

  8. Fiddler-抓Android和IOS包

    知识:Fiddler能捕获IOS设备发出的请求,比如IPhone, IPad, MacBook. 等等苹果的设备.  同理,也可以截获Andriod,Windows Phone的等设备发出的HTTP/ ...

  9. centos7 yum快速安装php7.1

    1. 安装nginx yum install nginx ##开启nginx service nginx start 2.安装MYSQLyum localinstall http://dev.mysq ...

  10. PAT甲级——1098 Insertion or Heap Sort (插入排序、堆排序)

    本文同步发布在CSDN:https://blog.csdn.net/weixin_44385565/article/details/90941941 1098 Insertion or Heap So ...