一、背景
在物联网领域,随着企业业务规模逐渐扩大,终端设备也越来越多,自建MQTT集群水平扩展和持续运维的成本越来越高,急需寻找一个高可靠、高安全、低成本、免运维的IoT物联网全托管服务,同时又要保证已经在全国各地铺货的存量设备零改造,实现MQTT服务的迁移。
阿里云物联网平台推出的云网关完美解决了企业规模壮大后遇到的稳定性和可扩展性瓶颈,迁移过程设备端无需改动,仅调整mqtt域名指向阿里云IoT实例创建的云网关域名即可。
二、整体迁移方案
三、存量设备整体迁移步骤
3.1 开通IoT企业物联网实例(尊享型)
https://common-buy.aliyun.com/?commodityCode=iot_instc_public_cn#/
3.2 创建云网关
在独享型企业实例中,创建云网关。选择MQTT协议,根据情况选择认证方式,配置自建MQTT的域名对应TLS认证证书和秘钥。
完整文档:https://help.aliyun.com/document_detail/433804.html
3.3 注册存量设备
创建云网关后,会配套创建一个产品:云网关xxx。
接下来,我们需要把存量设备的身份认证信息注册到云网关产品下。
设备批量注册的CSV格式如下:
注册成功后,阿里云IoT就可以验证设备连接的身份合法性了。
PS:当我们有大量设备时,可以通过API方式注册,解放双手!
3.4 配置规则引擎,实现数据流转
为了实现数据的实时流转,我们需要在云产品流转配置规则引擎。包含数据源、数据目的地、解析器脚本三项。
3.4.1 创建数据源
创建数据源时,需要把我们设备原有上报数据Topic登记到数据源中。
3.4.2 创建数据目的地
数据目的地是指我们用来接收设备上报数据的系统,可以是数据库,消息队列,函数计算等。这里我们选择了AMQP服务器订阅。
3.4.1 配置解析脚本
解析器脚本这里,我们取出数据源的消息体,流转到AMQP消费组。您也可以根据业务需要做数据处理后,再转发。
3.5 在域名服务商修改CName信息
创建云网关后,我们会获得一个网关的URL地址,此时需要登录域名服务商管理后台,修改自建MQTT接入域名跳转到云网关URL,这样存量设备的连接都会流转到阿里云IoT的云网关,自建MQTT集群就可以下线了。
3.6 设备自动迁移到阿里云IoT
域名调整生效后,我们观察到设备成功连接到阿里云IoT物联网平台,显示为在线,并订阅了自定义Topic。
日志服务里,也观察到设备online的日志。
3.7 设备上报数据
当设备上报数据后,会按规则引擎配置实时流转到下游系统。完整日志记录如下:
我们也可以通过消息轨迹,可视化查看数据流转链路。
在服务端订阅的消费组,查看消息消费速率,消息堆积情况,消费者列表等信息。
3.8 下发设备控制指令
通过IoT企业实例的Pub接口,我们可以给指定设备下发控制指令。https://help.aliyun.com/document_detail/69793.htm
日志服务里可以查看我们给设备下发控制指令的日志。
我们也可以通过消息轨迹,可视化查看数据流转链路。
四、物联网设备上云专家咨询(钉钉扫码)