[导读] 阿里云IoT提供设备端SDK用于将设备接入阿里云物联网平台,该SDK要求设备具备一个IP地址,继而通过MQTT在设备与阿里云物联网平台之间建立一个连接。
网关接入子设备概述
阿里云IoT提供设备端SDK用于将设备接入阿里云物联网平台,该SDK要求设备具备一个IP地址,继而通过MQTT在设备与阿里云物联网平台之间建立一个连接。Zigbee、KNX这样的设备不支持IP地址,无法集成阿里云IoT提供的设备端SDK,对于这样的设备,需要通过一个集成了设备端SDK的网关进行代理后连接到阿里云物联网平台,对于网关而言,连接的这些未集成SDK的设备称为子设备。网络连接示意图如下:
每种类型的子设备产品需要在阿里云物联网平台进行产品定义,并且需要为每个设备申请设备身份认证信息。网关需要获知子设备的三元组才能代理子设备在阿里云物联网平台进行设备身份认证,同时网关还需要转发子设备与阿里云物联网平台之间的数据。
设备厂商的痛点
子设备需要一个网关才能接入阿里云物联网平台,这就意味着当子设备厂商开发一款新产品时面临下面的两个选择:
自己开发网关,该网关用于发现以及连接子设备,并将子设备接入阿里云物联网平台;
本方案需要设备厂商开发网关产品,投入软硬件开发、测试资源;
求助于网关厂商,让网关厂商升级网关的固件,能够发现以及连接新开发的子设备产品
对于网关厂商来说,网关固件需要不停的升级来支持新的子设备产品,版本升级频繁,需要持续的投入开发、测试资源;对于设备厂商而言,网关厂商进行固件升级以及发布的时间不可控,并且还可能向网关厂商支付开发费用
解决方案
如果网关厂家将网关的 子设备三元组发现、子设备数据转发机制 通过某种方式提供出来,意味着设备厂商开发新的子设备产品时无需对网关进行固件升级,子设备厂商只需要购买网关厂商已有的网关产品就可以开发自己的子设备产品;对于网关厂商而言,也无需不停的对网关进行固件升级,避免持续的资源投入。
网关除了需要定义子设备与网关之间子设备三元组的发现机制外,还需要对来自于/发送到子设备的数据需要进行转发,网关转发子设备与阿里云物联网平台之间的数据有两种方式:
数据透传
数据透传指的是:网关收到子设备上行数据时,网关不对接收到的数据进行任何处理,而是直接将数据帧添加子设备标识信息后发送到阿里云物联网平台,由子设备厂家在阿里云物联网平台的云端服务对数据进行解析;同样,当子设备厂商的云端服务发送数据给子设备时,网关不对来自物联网平台的数据进行任何处理,将数据直接发送给子设备。
数据转换后转发
这种方式指的是:网关接收到子设备上行数据时,将会对数据进行解析和转换,然后发送到物联网平台,网关厂商的服务需要提供API接口将数据发送给子设备厂商的服务;当子设备厂商的服务发送数据给子设备时,调用网关厂商的云端服务进行数据发送,由网关厂商的服务将数据发送给网关,网关把数据转换为子设备能够识别的格式后发送给子设备。
两种方案的对比
数据透传方案 数据转换方案
网关需要理解子设备数据格式和意义 无需 需要
网关厂商需要在云端部署数据处理服务 无需 需要
子设备厂商需要定义数据格式 需要 无需
网关固件无修改接入新产品方案实例
瑞瀛物联Zigbee网关RG4100+
RG4100+是瑞瀛物联研发的超小型多功能智能家居网关,该设备在超小体积内集成了ZigBee、以太网及Wi-Fi 多种通讯方式,用户可以使用Wi-Fi或者以太网上行,并使用Zigbee协议接入多种Zigbee智能设备。
阿里云IoT的智能生活开放平台是阿里云提供的智能家居服务,该服务提供手机APP对接入的设备进行远程控制,并提供了场景定义、设备联动等功能。RG4100+接入智能生活开放平台时遵循了阿里云IoT定义的物模型数据格式(即上面描述的“数据转换方案”),因此RG4100+无需在阿里云IoT部署云端服务,就可使用智能生活开放平台提供的功能。RG4100+方案描述如下:
该方案中瑞瀛物联的zigbee模组将设备的型号、标识、产品的状态变化等信息编码后告知网关,该模组也接收并处理来自网关的命令,设备商无需在模组上进行二次开发,只需要按照模组的说明书将模组的引脚与相应硬件进行连接即可。
设备商可以购买瑞瀛物联提供的zigbee模块来开发产品,在不需要对RG4100+进行固件升级的情况下将该产品接入阿里云IoT,从而通过阿里云IoT提供的手机APP对该产品进行控制和管理,在手机APP界面上显示的产品名称、型号将是设备商在阿里云IoT上设置的数据。
入墙开关产品接入过程描述了如何通过瑞瀛物联的zigbee模组 REX3P 开发一款Zigbee入墙开关产品的过程示例,用户可以通过该过程将体验如何快速的开发一款自有产品,并通过阿里云IoT提供的手机APP对其进行控制。