云端迁移
以下文档主要用于说明其他第三方云设备迁移到华为云的方案。首先,需要评估是否能够迁移,下表为使用限制:
描述 |
|
云端 |
|
设备端 |
若是只用到消息功能,迁移前需要评估,设备侧是否能够更改域名、设备MQTT鉴权,目前迁移只支持MQTT协议接入设备;如果可以直接修改源码,可以直接使用华为云sdk中的应用层代码。关于topic迁移可见自定义Topic迁移上云。 MQTT鉴权:
|
应用端 |
由于应用侧鉴权较为复杂,建议直接修改代码,使用华为云SDK。 |
1、描述
主要进行介绍在物联网平台端侧只用到 ”消息”(透传)的场景。以下介绍2种场景:
场景一
说明:不改变设备端的主要代码,应用侧使用华为云SDK的情况下进行迁移。【除了消息透传以外其他功能不能用】
适用场景:在云平台只用了消息(透传)功能的场景。
步骤:
场景二
说明:设备侧和应用侧使用华为云SDK(进行数据格式适配)。【可使用华为云IoT所有功能】
适用场景:适用于在云平台用了除消息(透传)功能以外的场景,比如说:OTA升级、事件、属性等。
步骤:
2、限制
1、本次方案无法直接把其他平台的物模型迁移到华为云的物模型,如果用到了物模型,需要手动迁移。
2、无法转移物联网平台中物模型中记录的数据。
3、产品及设备迁移
可以通过华为云"设备发放控制台" -> 设备数据同步 -> 创建同步任务 功能进行产品及设备的迁移。当迁移第三方物联网平台时,会复制其他平台的产品及设备到云平台。 具体的迁移方式请看:设备数据同步。
4、Topic迁移
华为云中的自定义topic功能,可以不改变迁移前的topic,进行Topic迁移。使用自定义topic时设备侧上报的数据将会按照”消息上报”的流程将数据转发给第三方应用或其他服务平台处理。具体的迁移方式可以看:自定义Topic迁移上云。
上行:设备侧的MQTT设备鉴权(域名、证书、设备ID&密钥)通过后,通过自定义topic上报数据到华为云平台,通过平台的数据转发功能把数据转发到应用侧(HTTPS或AMQP)。
下行:应用服务器适配设备消息下发接口往指定topic下发消息,平台收到后转发数据到设备侧。
设备侧
直接修改设备侧接入配置,从而进行迁移接入的话,需要注意以下几点,如果使用的是1883接入(没有使用SSL/TLS)可以忽略第3、4步:
修改域名。把迁移前的域名修改为迁移后平台的域名,域名可以在设备接入控制台 -> 总览 -> 设备接入地址中查看。
查看及修改设备ID与密钥的加密算法。
在产品及设备迁移中,如果是第三方物联网迁移的话,密码与迁移前相同。查看迁移过来的设备id及密码,通过设备id和密钥可以生成连接信息(ClientId、Username、Password)。 具体的生成方法及参数获取方法可见:使用MQTT.fx调测。
注意:password的生成方法是用“HMACSHA256”算法以时间戳为密钥,对secret(设备的密码)进行加密后的值。不同云端可能用的算法不一样,鉴权方式也不一样,详情可见:设备连接鉴权。
Ps:当使用证书认证时,参数password可以为空。
SSL/TLS证书修改 OR 上传证书到服务端。
当使用MQTTS接入时,需要修改设备接入时鉴权的证书。可以有2种方法更改:
方案一
适用情况: 迁移前使用的是云端平台默认证书或迁移后使用的是基础版、标准版。
说明:更改代码中的CA证书,证书获取连接:默认根证书。
方案二:
适用情况: 设备侧使用的CA证书是自生成的(有私钥和签名证书),且使用的是企业版。
说明:更改服务端证书,把设备侧携带的CA证书对应的私钥和自签名证书放到云平台服务端。
Ps: 当设备端使用的是自定义的私钥和签名证书(双向认证),需要在平台上传对应的CA证书。具体上传方法请见:上传CA证书。
检查SSL/TLS加密算法。
在华为云中TLS的加密算法有如下限制,若SSL/TLS握手失败,可能是加密套件不一样。ps: 绝大多数的加密套件都支持以下加密算法。
以上就是设备端鉴权迁移需要注意的步骤,如果要使用除了消息(透传)以外的功能。需要适配对应的接口,详情见:华为云接口列表(设备侧MQTT)。
应用侧
应用侧HTTPS鉴权主要是使用ak sk 或 Token进行鉴权,由于应用侧直接更换SDK比较方便,且比较简单。建议直接使用华为云应用侧sdk。
- 点赞
- 收藏
- 关注作者
评论(0)