物联网平台的核心功能就是设备接入
,设备接入可以再细分成设备管理、协议转换、数据分发等基本功能,协议转换针对设备,数据转发针对应用,而设备管理则将设备和应用关联起来。

https://blog.csdn.net/zoomdy/article/details/82995405
<https://blog.csdn.net/zoomdy/article/details/82995405>
mingdu.zheng at gmail dot com

<>物联网平台在物联网架构中的位置


物联网平台属于物联网架构中应用层的基础设施部分,即上图绿色箭头所指的部分。对下通过网络层连接感知层设备,对上连接物联网行业垂直应用。

<>物联网平台的核心功能

物联网平台的核心功能就是设备接入
,所以管它叫物联网设备接入平台更加贴切。物联网平台向下对接设备,对上对接应用平台。(在华为的平台中,对下对接设备的接口叫做南向接口,对上对接应用的接口叫做北向接口,按照地图的方位,上北下南,所以叫做南向北向。)

<>物联网平台的基本功能

设备接入可以再细分成设备管理、协议转换、数据分发等基本功能,协议转换针对设备,数据转发针对应用,而设备管理则将设备和平台关联起来。

<>设备管理

* 检测设备状态,例如是否在线,最后推送数据的日期等。
* 设备分类管理,不同的设备类型采用不同的通信协议或数据定义,根据设备分类关联协议转换插件。
*
设备分组管理,根据组信息转发设备数据,例如1~100号设备归为一组,数据转发给A客户,101~200号设备归为一组,数据转发给B客户。可以按照应用对设备进行分组,归属同一应用的设备归为一组。
<>协议转换


终端设备通常是嵌入式系统,仅有极少的可用资源,包括电力(很多设备是电池供电的),因此设备端通常使用二进制通信协议,例如CoAP、MQTT等,数据也采用二进制格式进行传输。通过采用二进制协议可以减少设备端在处理协议过程中消耗的资源,包括ROM、RAM、电池、流量等。


而应用平台则通常使用文本型的协议,通信协议通常是HTTP或HTTPS协议,数据格式通常是JSON或XML,这就需要一个转换,将设备端的二进制协议转换成平台端的文本协议,同时将应用平台下发的指令或响应由文本转换成二进制。


二进制转换成文本的过程叫做解码(decode),文本转换成二进制的过程叫做编码(encode),所以协议转换也叫做编解码,物联网平台用作协议转换的组件称作编解码插件,可以由客户自行开发,然后上传到平台。

<>数据分发


同一个厂家的设备卖给不同的客户后,就要把数据推送到不同客户的平台,如果在设备端进行配置,那显然增加设备端的复杂性,而且要增加设备生产过程中的步骤。将数据统一发送到物联网平台,然后由物联网平台进行数据分发,可以大大简化设备厂商的工作。设备注册到物联网平台后,可以指定具体设备关联到客户的平台,物联网平台在接收到该设备的数据后自动转发数据到客户的平台。

数据分发和设备分组管理密切相关,设备分组信息包含了要关联的应用平台信息,同一分组下的所有设备都推送数据到分组信息指定的应用平台。

<>密钥管理

如果采取加密传输,那么物联网平台还负责密钥管理工作,可以支持:

* 一机一密:一个密钥对应一台设备
* 一型一密:一个密钥对应同一型号的所有设备
<>其他功能

* 提供简单的数据展示,将解码后的JSON格式的数据以列表的形式进行展示。
* 提供数据永久存储或暂时存储,如果平台提供永久存储,那么平台还充当数据服务器,提供暂时存储可以避免应用服务器下线期间数据丢失。
* 提供轻应用,例如OneNET可以让用户自定义展示页面。
* 负载均衡,例如通过LWM2M的Bootstrap模式将不同的设备导向不同的服务器。
* 固件升级,通过平台给指定的型号下载更新固件。
<>物联网平台的意义

降低设备和平台间的关联度,减少开发工作量。假设有五种设备,五个应用,如果采取设备直接推送数据到应用平台的方式:

每个应用都要针对每个设备开发一次,这要进行25次开发,这还只有5个应用5种设备的情况,如果是m个应用n种设备,那么就要开发n * m 次。

中间引入物联网平台之后:


引入物联网平台后,应用只要针对物联网平台进行开发,设备也只要针对物联网平台,只要开发10次,如果是m个应用n种设备,那么只要开发n + m次。

<>总结

物联网平台是连接终端设备和应用平台的桥梁。