物联网平台迁移方案

更新时间:

一、整体方案说明

为了满足客户从其他物联网平台或自研平台迁移到涂鸦物联网平台阿里云版的需求,涂鸦为客户提供了低成本的迁移方案,可以帮助客户以最小成本从原物联网平台迁移。

image

1.1 客户迁移方案概览

客户迁移步骤:

1. 根据客户场景分类,确定客户合适的设备端(固件更新)和云端(数据迁移)改造方案。

2. 设备端和云端的改造工作可同步进行,通常该流程根据需要接入的设备产品数量以及接口数量,为期一周至一个月左右。

3. 开发完成后进入POC验证和测试流程,包括功能测试和性能测试,为期一周左右。

4. 云端存量数据从原平台迁移至Tuya物联网平台,为期一周左右。

5. 设备端固件开始灰度OTA,根据业务情况,持续一周左右。

6. 设备全量升级OTA,直至设备全部升级后,存量物联网平台业务可下线。

二、按客户场景细分

image.png

2.1 物联网平台客户方案决策树

2.1 纯新增设备方案

2.2.1 设备端

  • 新设备需要开发新固件,可以使用阿里云物联网平台Link SDK开发新固件,域名和证书使用Tuya物联网平台提供的私有服务地址。

2.2.2 云端

  • 参考Tuya物联网平台阿里云版的应用开发指南,对接云端API实现设备管理和设备控制相关的功能,并通过服务端订阅实现设备上行数据与自有业务系统打通。

2.2 双平台融合方案

若部分客户由于历史设备固件长期未更新维护,或无法找到工厂或供应商提供固件开发支持,或担心设备固件升级有稳定性风险等不能做设备OTA的情况,那么建议客户存量设备继续使用原物联网平台直到自然淘汰,只将新增设备接入Tuya物联网平台阿里云版(以下简称Tuya),可以采用以下方案:

image

2.2 双平台融合方案

2.2.1 设备端

  • 新设备需要开发新固件,可以使用阿里云物联网平台Link SDK开发新固件,域名和证书使用Tuya物联网平台提供的私有服务地址。

  • 如旧设备是基于阿里云物联网平台开发,则大部分基础代码可以继续复用,仅需修改差异化的业务功能代码。

2.2.2 云端

  • 参考Tuya物联网平台阿里云版的应用开发指南,对接云端API实现设备管理和设备控制相关的功能,并通过服务端订阅实现设备上行数据与自有业务系统打通。

  • 由于存在和原物联网平台设备业务并行需求,通常建议客户在云端实现双平台对接,自行完成业务端数据融合的工作。

  • 如原平台是基于阿里云物联网平台开发,则云端API调用只需要新增一套域名和证书配置即可快速实现,不需要重新对接开发。

2.3 存量设备迁移方案

2.3.1【阿里云物联网平台】客户

2.3.1.1 设备端

  • 设备连接

    • 需要开发新固件,将原阿里云物联网平台Link SDK中的mqtt_host修改为Tuya物联网平台阿里云版的MQTT接入地址,并上传设备CA证书(如使用Basic Auth认证方式则不需要)。

    • 之后通过阿里云物联网平台的OTA升级功能,为存量设备进行固件升级,升级完成后设备会重新连接至Tuya物联网平台阿里云版。

    • 升级操作前,请确认产品物模型以及设备三元组信息已导入Tuya物联网平台阿里云版。

示例代码:

/* Tuya物联网平台阿里云版MQTT接入点地址 */
const char  *mqtt_host = "${实例ID}.aliyun.tuyacloud.com"; 

/* Tuya物联网平台阿里云版MQTT接入点端口号,MQTT 1883,MQTTS 8883 */
const uint16_t port = 8883;
  • 消息收发:由于Tuya物联网平台阿里云版兼容Alink协议规范,因此该部分不需要做任何改造。

2.3.1.2 云端

  • 元数据迁移:将物联网平台实例下的产品信息、设备三元组信息以及需要迁移的其他数据,通过阿里云物联网平台云端API查询之后,再由Tuya物联网平台阿里云版的云端API进行信息写入。或将数据导出后提供给涂鸦研发团队,由涂鸦研发团队协助进行平台数据的初始化导入工作。

  • 应用改造:由于Tuya物联网平台阿里云版的云端API,接口命名和签名方式与阿里云物联网平台保持一致,客户只需要参考附录进行域名和证书(如有需要)替换即可轻松迁移,但需要评估是否有部分接口在Tuya物联网平台阿里云版中暂未实现,可提需求给涂鸦研发团队尽快补齐。

2.3.2 【自建物联网平台】客户

2.3.2.1 设备端

  • 设备连接:

    • 设备连接:设备连接的域名和证书都是客户自有,因此设备端不需要做任何改造,只要在Tuya物联网平台阿里云版中上传设备CA证书(如使用Basic Auth认证方式则不需要),并将原MQTT域名通过DNS解析修改为Tuya物联网平台阿里云版提供的MQTT接入地址即可完成接入迁移。

    • 消息收发:首选方案基于阿里云物联网平台Link SDK开发新固件并完成升级,如果设备端固件不适合做大规模改造,可以在云端通过自定义Topic配合数据解析功能对历史固件逻辑进行兼容。

2.3.2.2 云端

  • 元数据迁移:

    • 产品信息:将自建物联网平台的设备,参考涂鸦物联网平台的产品功能定义,完成产品物模型的创建与导入。

    • 鉴权适配:将自建物联网平台的设备三元组信息,通过Tuya物联网平台阿里云版的设备管理功能,实现批量导入注册。或通过自定义鉴权方案,客户实现第三方鉴权逻辑,这样可以复用原有设备鉴权逻辑,但该方案稳定性相比一方权限集成会有一定损失。

  • 应用改造:参考Tuya物联网平台阿里云版的应用开发指南,对接云端API实现设备管理和设备控制相关的功能,并通过服务端订阅实现设备上行数据与自有业务系统打通。

2.3.3 【其他云厂商平台】客户

2.3.3.1 设备端

  • 设备需要开发新固件,使用阿里云物联网平台Link SDK开发新固件,然后借助原平台的OTA能力进行固件升级,设备升级后连接至Tuya物联网平台阿里云版。

2.3.3.2 云端

  • 参考2.3.2 自建物联网平台方案。

2.4 各研发角色需要关注

1. 【客户端】各厂商物联网平台均不涉及客户端功能和App SDK,通常客户AppWeb直接调用自己的云端服务实现,如AppWeb需要实现MQTT直连功能,可以参考设备端逻辑实现,可引用的有Android Link SDK、iOS Link SDK以及Node.js Link SDK。

2. 【设备端】针对无法实现固件OTA的设备,目前只能通过修改域名解析的方式实现,需要原厂商平台配合才能实现。

3. 【云端】设备三元组,指的是product_key、device_name、device_secret,通常是设备连接云平台所需的认证信息,如果错误则导致设备无法与平台连接。

4. 【云端】服务端订阅功能,需要提前配置VPC对等连接功能,以实现跨VPC间数据通信能力。

附录:

一、阿里云物联网平台实例终端节点信息

  • 公共实例:

    • MQTT:${产品Key}.iot-as-mqtt.${区域ID}.aliyuncs.com

    • 云端API:iot.${区域ID}.aliyuncs.com

  • 企业实例:

    • MQTT:${实例ID}.mqtt.iothub.aliyuncs.com

    • 云端API:iot.${区域ID}.aliyuncs.com

二、涂鸦物联网平台实例终端节点信息

  • 尊享版

    • MQTT:${实例ID}.aliyun.tuyacloud.com,端口1883/8883

    • 云端API:${实例ID}.aliyun.tuyacloud.com,端口8686

三、服务保障

  • 产品服务保障

    • 产品SLA保障:鸦物联网平台阿里云版以阿里云计算巢全托管模式进行部署和交付,可以支持阿里云全球数据中心节点同时具有99.95%的高SLA可靠性保障。

    • 阿里云联合产品:鸦物联网平台阿里云版通过阿里云市场售卖,阿里云&涂鸦一起共同为客户提供产品使用、技术迭代以及日常售前售后的整体服务保障。

    • 技术支持:涂鸦团队在客户迁移过程中会提供全程的技术指导与协助,及时处理迁移出现的各类技术问题,保障迁移工作按时且高质量完成。后续使用中,也会及时响应客户问题,提供 7×12 小时的技术支持服务,确保客户正常使用,为客户使用提供可靠的服务保障。

  • 服务迁移保障计划

    • 涂鸦为需要迁移的客户提供1个月的产品免费试用和7x12小时的技术支持服务,正式迁移启动后我们将额外为客户提供2个月的免费过渡服务。

    • 根据客户的业务需求涂鸦提供技术专家协助客户设计、实施迁移方案并共同保障长期稳定的售后支撑服务。