近些年“物联网平台”这个词没少听,可它到底有哪些功能呢?
物联网平台在物联网架构的应用层,是一个PaaS平台,具体请参考上一篇:物联网产品入门之架构篇。
物联网平台会根据自己的商业目标有不同的侧重,但大体都是在以下架构上进行增减:
这张图北向接应用,南向接设备,以下着重说一下我对设备接入、设备管理和规则引擎的理解。
设备接入指的是将设备注册至平台并通信,需要设备与云端之间有安全可靠的双向连接。主要考虑几个方面:
入网方式其实是选择什么通讯技术,Wi-Fi、Lora、蓝牙还是Zigbee等等?平台需要根据自身定位(白电行业?智慧工厂?智慧园区?)选择支持的入网方式, 容纳的入网方式越多,可容纳设备类型就越多,平台的实现也越复杂。
举2个例子:
如果平台支持Zigbee(请参考:物联网的数据传输及联网方式)设备,那么平台是否也应该管理网关设备呢,是否应该支持网关与设备的拓扑结构呢?
Wi-Fi设备初始化的时候用平台的APP通过AP(Access Point)模式就可以让设备连网并通信,但Zigbee设备是自组网的方式,即会自动连接至网关,再通过网关和平台通信。
ZigBee设备接入云端
这篇文章详细的介绍了不同通信方式的优点缺点,强烈推荐。如何选择物联网通讯技术?
平台层要兼容不同的协议才能连接尽可能多的设备,而具体支持哪些协议需要从通信安全、平台定位等方面权衡考虑。
MQTT是多个客户端通过一个中央代理传递消息的多对多协议。
CoAP基本上是一个在Client和Server之间传递状态信息的单对单协议。
HTTP是适合使用在性能好一些的终端上,相对以上一些比较重,对设备要求相对高一些。
目前市面上的认证方式大都通过将Token或者Secret烧录到硬件设备进行认证,但过程各有特点。
例如阿里云是先将Product Key、ProductSecret烧录到设备中,并通过动态注册的方式获得DeviceSecret后进行数据通信,而有的是通过将Token直接烧录到设备中进行认证和数据传输。
阿里云设备认证过程
物模型是个概念,不是实体,有的平台叫产品,是一类设备的总称,物模型和物的关系就像“男人”这个词和“身份证号码是123233198802340123这个男人”的关系一样,物模型的定义包括基本信息和属性的定义。
不同厂商物模型功能不尽相同,开源的Thingsboard都没有这个概念。所以物模型是从用户体验和平台自身业务角度出发提出的概念,为数据统计、用户体验、产品发展做了充足的准备。
实现物模型需要考量很多东西,比如阿里定义物模型基本信息的时候要选择行业、是否是网关、是否接入网关、连网方式等,定义功能时又有了事件、属性、服务的分类(事件、属性、服务这个说起来就更技术了)。
设备影子用于缓存设备状态,设备在线时可以直接接收云端指令,离线时主动获取云端指令。设备影子将设备与应用解耦,解决不稳定无线网络下通信不可的靠痛点。
举个例子:
把云端比喻成我,设备比喻成男朋友。
- 我不帅的男朋友在线,于是我发了一个“变帅”的指令,男朋友收到后马上执行,然后就变帅了。
- 我不帅的男朋友离线了,联系不到,于是我发了一个“变帅”的指令存储到设备影子中,男朋友上线后主动看设备影子,执行“变帅”指令,然后就变帅啦。
跑错地方的物影子介绍
从实现层面看:
参考:设备影子概览
https://help.aliyun.com/document_detail/53930.html
OTA全称是Over-the-Air,即空中加载的意思,在物联网平台指的是固件升级。
固件是数码设备最基础、最底层工作的软件,是设备内部保存的设备“驱动程序”,通过固件,操作系统才能按照标准的设备驱动实现特定机器的运行动作。
固件升级的前提是固件和平台都支持固件升级功能,平台层需要对设备的固件进行管理,并实现远程批量升级。
这个功能的意义是什么?试想一下投入使用后的一批设备出现了问题,难道要一个个处理,显然远程批量操作节省了大量的人力。
但OTA是一个超级大的功能,涉及到设备分组、固件分布、固件校验等等功能,每一个功能都值得反复讨论,一些厂商的OTA功能甚至是一个体系。
数据的上下行指的是信息在设备和平台间流转,设备上报信息到平台是数据的上行,平台或者应用层下发命令到设备是数据的下行,是物联网平台的基础功能。
规则引擎是物联网平台的一个重要功能模块,是处理复杂逻辑的引擎,主要对感知层搜集的数据进行筛选、变型(物解析)、转发、操作等,实现数据逻辑和上层业务的解耦。一般平台会分为物解析、数据转发和场景联动三个子功能。
规则引擎
硬件设备受限于存储、空间大小、数据传输等问题,和平台进行交互时使用的是底层语言,为了互相识别语义,平台侧提供底层语言和平台语言的翻译脚本。脚本将底层语言翻译成平台语言和将平台语言翻译成设备底层语言的过程就是物解析。
数据转发实现了将感知层的数据进行筛选并转发至其他设备或者存储、大数据等云服务的功能,减少了上层应用的数据处理量,继而提升上层数据处理效率。目前大部分通过SQL语句和转发订阅Topic方式实现数据的筛选和转发。使用Topic的好处在于可以灵活选择物模型或者设备的范围。
参考:阿里云的数据转发
https://help.aliyun.com/document_detail/42734.html?spm=
a2c4g.11186623.6.605.3ae32d8dkHIHFi
联动的意思是多类设备间的相互影响。例如“在办公区域,红外设备感应到有人移动时开启所有灯”这个场景就实现了红外传感器和灯的联动。规则引擎负责影响规则的制定和影响范围的划分,也是通过SQL语句和转发订阅Topic等方式实现。
以上是我对物接入、物管理、规则引擎的理解,不同的平台根据自身业务特点在实现时都有所添加或取舍,网上最全的参考文档莫过于各开放平台的操作手册了,感谢!
放两张别人家的产品架构图:
百度智能云物联网产品架构
阿里物联网平台产品架构
近年来,许多人在墙面装修的时候,都会选择刷乳胶漆,乳胶漆颜色丰富,耐脏和耐擦洗性出色,实用性高。但是,为何有的人家里的乳胶漆总是容易出现开裂,经过有老师傅提醒,才发现原来是这5点没做好。1、墙面粘结强度不够许多人在房屋刷乳胶漆后,老是出现开裂和空鼓,这主要因为墙面粘结强度不够,建议大家,将原先的墙皮
2025-05-12 23:48:02
安全插座到底要如何选择?选择什么样的安全插座才能保证儿童安全?现在市场上安全插座五花八门,个个都声称是“安全插座”,这给广大家长们在选购中带来了不少困扰,众所周知,市面上所谓的“安全插座”其实并不安全。伪劣产品众多。这也严重威胁儿童的用电安全。前段时间央视《每周质量报告》节目也曾对当前市场上的插座安
2025-05-12 22:58:21
买了大红酸枝家具,偶尔听到炸响怎么办?其实大红酸枝家具炸想属于正常现象。那是红木家具开裂发出的声音,不必大惊小怪。小编在网上查看到很多用户在购买大红酸枝家具之后,发现家具会有炸响的现象,这到底是怎么一回事呢?下面我们一起来看看其中的原因以及维修的方法:红酸枝家具之所以容易开裂炸响,主要是因为红酸枝属
2025-05-12 22:55:32
墙砖被师傅贴在墙上,时间没到过多久,就出现很多墙砖掉落,甚至有些还会大面积出现脱落的现象。有不少人的房主不知道其缘由,事后就会将所有的原因全部怪在贴砖师傅身上,责任是否真的如房主所想呢?责任的归属,对于这行业有接触过的人,都还是有着一定的了解,施工人员的正确施工,确实对瓷砖脱落,有着一定的关系,但也
2025-05-12 22:40:24
1自吸泵怎么吸不出来水自吸泵抽不出水的原因及排除方法:自吸泵在使用的过程中,有时会出现不出水的问题。这就需要找出具体原因加以排除。造成自吸泵抽不出水的原因及排除方法有以下三种可能性:1-1 自吸泵体内无引水或存水不足。只有自吸泵的泵体内存有一定量的水,才能在起动。因旋转时的叶轮所产生的离心力将进水管
2025-05-12 20:32:27
日常在和朋友的交流中,朋友提出最多的问题就是高端户型中为什么会有这么多的暗卫,在产品研发的过程中能够避免吗?今天就对这个问题进行简要的分析。一、主次功能房间的划分要求暗卫产生的最主要原因,是因为豪宅户型面积过大,且面宽有限,进深过长,因此在户型内部就形成了一些“暗角”,相比于对采光通风要求更高的客餐
2025-05-12 20:23:59