一、 中移物联网平台
1. 官网
2. 平台架构
3. 术语解释
术语 | 解释 | 别名 |
产品 | OneNET平台资源(包括设备,APIKey,触发器,应用等)的集合,一个产品对应唯一的masterkey、产品ID,设备注册码,一个产品下包含多个具备同一特征的设备,多个设备之间的唯一性由SN来区分 | 项目 |
数据流 | 设备属性,可为设备单项数据属性,例如温度=10;也可为设备数据属性的组合,例如坐标=x:10 y:20 | —— |
数据流模板 | 产品下所有设备均具备的采集数据属性,例如空气质量检测仪均可以上报“PH2.5”“甲醛浓度”等数据 | —— |
数据点 | 设备每次上传到数据流中的数据 | —— |
4. 试用
MQTT协议结合OneNET平台提供的虚拟设备工具进行操作过程如下:
(1)创建产品
在平台创建一个公开协议产品(设备接入协议类型选择MQTT协议),这里不介绍产品创建过程,请参考平台文档中心“接入帮助”部分的相关内容。
(2)新增设备
在新建的产品中添加两个设备(新增设备的过程同样参考平台文档中心“接入帮助”部分的相关内容),一个作为消息发布者(设备名称为”PUB”,鉴权信息为”pub123456”)一个作为消息订阅者(设备名称为”SUB”,鉴权信息为”sub123456”),如下图所示。
(3)下载虚拟设备调试工具
虚拟设备调试工具下载地址:https://open.iot.10086.cn/doc/art433.html#118 找到Mqtt-device并下载,下载完成解压文件包,在解压后的文件夹中点击运行虚拟设备工具 ,登录界面如下图所示。
(4)消息发布者设备登录
打开平台产品信息管理页面,找到产品ID,在产品的设备列表中找到设备“PUB”的设备ID及设备鉴权信息,输入登录信息,选择登录服务器并点击“确定”进行设备登录,如下图所示。
(5)上传数据点
设备登录之后,选择“上传数据点”菜单,然后选择“类型7”,如下图所示。(注意类型7对应的数据流名称及数据点的说明) 输入数据流名称为111,数据流中输入两个数据点值123;456,并点击“上传”按钮,如下图所示。
打开平台的设备管理页面,查看到数据点上传成功,如下图所示。
(6)下发设备命令
打开平台设备管理页面,点击设备的“下发命令”按钮,输入下发的命令内容,然后点击“发送命令”,如下图所示
点击选择虚拟设备的“平台指令接收”菜单,查看到设备已收到平台下发的控制命令,如下图所示。
(7)消息发布与订阅
消息发布者创建TOPIC:点击虚拟设备的“订阅”菜单,点击“创建Topic”按钮,输入TOPIC名字pub_topic1(读者可创建自己的TOPIC名字),点击提交完成TOPIC创建,如下图所示。
消息发布:发布者设备选择“发布”菜单,输入TOPIC名称pub_topic1及内容111222333,(注意QOS选择为0,TOPIC可重复发布;当QOS选择为1,TOPIC重复发布时,PacketID必须递增填入)点击“Submit”按钮,进行消息发布,消息订阅者设备选择“设备TOPIC接收”菜单,我们看到已成功接收到该消息,如下图所示(作为发布者PUB,右为订阅者SUB)。
5. 应用场景
二、 阿里云物联网平台
1. 官网
https://helpcdn.aliyun.com/product/30520.html?spm=a2c4g.11186623.6.540.423d1996fVKJze
2. 平台架构
1) 物联网边缘计算
边缘计算产品架构
物联网边缘计算主要涉及设备端、边缘计算端和云端三个部分:
- 设备端 开发者使用设备接入SDK,将非标设备转换成标准物模型,就近接入网关,从而实现设备的管理和控制。
- 边缘计算端 设备连接到网关后,网关可以实现设备数据的采集、流转、存储、分析和上报设备数据至云端,同时网关提供规则引擎、函数计算引擎,方便场景编排和业务扩展。
- 云端 设备数据上传云端后,可以结合阿里云功能,如大数据、AI学习等,通过标准API接口,实现更多功能和应用。
应用场景-风力发电
在风力发电机组本地网络中,部署边缘计算网关,实时采集机组数据。在本地处理采集的数据后,先将数据上传至阿里云MaxCompute,再使用大数据训练模型后,对发电参数,如风向灵敏度、启动延时参数等做优化。将模型转化为算法或者规则导入本地边缘节点,自动调整风电机组参数,提高机组发电性能。
特点:
- 数据实时采集:多机组多数据点同时采集。
- 大数据处理:数据上传至阿里云后,使用大数据训练模型。
- 即时反馈:算法或规则导入本地边缘节点后,实时自动调整机组参数,实现最优化生产。
2) 设备影子
物联网平台提供设备影子功能,用于缓存设备状态。设备在线时,可以直接获取云端指令;设备离线时,上线后可以主动拉取云端指令。
设备影子是一个 JSON 文档,用于存储设备上报状态、应用程序期望状态信息。
每个设备有且只有一个设备影子,设备可以通过MQTT获取和设置设备影子来同步状态,该同步可以是影子同步给设备,也可以是设备同步给影子。
应用场景
场景1:网络不稳定,设备频繁上下线。
由于网络不稳定,设备频繁上下线。应用程序发出需要获取当前的设备状态请求时,设备掉线,无法获取设备状态,但下一秒设备又连接成功,应用程序无法正确发起请求。
使用设备影子机制存储设备最新状态,一旦设备状态产生变化,设备会将状态同步到设备影子。应用程序在请求设备当前状态时,只需要获取影子中的状态即可,不需要关心设备是否在线。
场景2:多程序同时请求获取设备状态。
如果设备网络稳定,很多应用程序请求获取设备状态,设备需要根据请求响应多次,即使响应的结果是一样的,设备本身处理能力有限,无法负载被请求多次的情况。
使用设备影子机制,设备只需要主动同步状态给设备影子一次,多个应用程序请求设备影子获取设备状态,即可获取设备最新状态,做到应用程序和设备的解耦。
场景3:设备掉线。
设备网络不稳定,导致设备频繁上下线,应用程序发送控制指令给设备时,设备掉线,指令无法下达到设备。
通过QoS=1或者2实现,但是该方法对于服务端的压力比较大,一般不建议使用。
使用设备影子机制,应用程序发送控制指令,指令携带时间戳保存在设备影子中。当设备掉线重连时,获取指令并根据时间戳确定是否执行。
设备真实掉线,指令发送失败。设备再上线时,设备影子功能通过指令加时间戳的模式,保证设备不会执行过期指令。
3) 规则引擎
数据流转
使用物联网平台规则引擎的数据流转功能,可将Topic中的数据消息转发至其他Topic或其他阿里云产品进行存储或处理。
场景联动
当触发器指定的事件或属性变化事件发生时,系统通过判断执行条件是否已满足,来决定是否执行规则中定义的执行动作。如果满足执行条件,则直接执行定义的执行动作;反之则不执行。
例如,您每天18:00下班回家。在炎热的夏天,您希望您到家后,家里的温度是凉爽、舒适的。您可以创建一条规则,使空调设备自动化,实现这个需求。
3. 术语解释
|名词|描述| |-|-|-| |产品|设备的集合,通常指一组具有相同功能的设备。物联网平台为每个产品颁发全局唯一的ProductKey。每个产品下可以有成千上万的设备| |物模型|是对设备在云端的功能描述,包括设备的属性、服务和事件。物联网平台通过定义一种物的描述语言来描述物模型,称之为 TSL(即 Thing Specification Language),采用JSON格式,您可以根据TSL组装上报设备的数据| |设备影子|是一个 JSON 文档,用于存储设备或者应用的当前状态信息。每个设备都会在云端有唯一的设备影子对应,无论该设备是否连接到 Internet,您都可以使用设备影子通过 MQTT 协议或 HTTP 协议获取和设置设备的状态| |规则引擎|通过创建、配置规则,以实现数据流转和场景联动|
三、 百度天工
1. 官网
https://cloud.baidu.com/solution/iot/index.html?_=1571388570942
2. 平台架构
天工平台的服务主要由物接入、物解析、物管理、规则引擎和时序数据库组成。
规则引擎
作为百度智能云天工智能物联网平台的重要组件,用于将信息根据预先设置好的规则转发至百度智能云的其它服务。用户可通过规则引擎设定消息处理规则,对规则匹配的消息采取相应的转发操作,如推送给手机APP等;也可以将设备消息无缝转发到时序数据库、百度Kafka和对象存储中进行存储。
智能边缘BIE
智能边缘本地运行包,以容器化、模块化的方式,赋能无处不在的边缘计算节点,让本地设备、网关、控制器、服务器具备数据通讯、本地计算&AI推断、云端配置同步等能力;智能边缘云端管理套件,提供海量边缘管理能力,并且对接不同应用生产生态,提供强大的应用集成、测试、管理和分发的能力。