IoT存量设备跨账号迁移,动态切换region节点,公共区到企业实例迁移方案

简介: 基于开放API实现IoT存量设备跨账号迁移设备,动态切换region节点,企业实例迁移

基于开放API实现IoT平台设备动态注册方案

0.背景(设备无需烧录IoT三元组)

IoT场景需要每个设备有唯一身份标识,

  • 如果设备产线不具备针对设备烧录三元组能力。
  • 已出货设备从自建平台,或三方平台(极光IoT,aws,华为云IoT,百度天工)迁移到阿里云IoT物联网平台

运行时动态注册方案允许设备固件可以无差别烧录,在设备售卖给消费者手上后,第一次使用时动态注册三元组,然后再与IoT平台建立网络连接。

步骤

1.设备端固件升级

  1. 固件烧录如下三元组获取逻辑

image.png

涉及到系统交互如下

1. 应用服务器API设计

企业业务服务器提供IotDeviceRegister 接口

入参:

字段 描述
deviceId 由设备唯一标识根据规则生成的字符串。比如mac,序列号sn等

返回数据:

字段 描述
productKey 产品Id
deviceName 设备name
deviceSecret 设备秘钥
endpointURL 接入点域名

业务逻辑:

  1. 根据deviceId查询OTS表,如果查不到设备,返回设备非法

  2. 如果有设备,有三元组,直接返回三元组

  3. 如果有设备,无三元组,去IoT动态注册设备,存储三元组,并返回三元组和域名

2. 表格存储OTS库设计参考

字段列 描述 备注
deviceId 由mac地址根据规则生成的字符串 主键
registerTime 设备注册时间
activateTime 设备激活时间
productKey 三元组productKey(设备所属产品)
deviceName 三元组deviceName
deviceSecret 三元组deviceSecret
endpointURL 接入点域名 .

3. IoT设备动态注册POP API

RegisterDevice API文档 https://help.aliyun.com/document_detail/69470.html

请求参数

名称 类型 是否必需 描述
Action String 要执行的操作,取值:RegisterDevice。
ProductKey String 指定要为其注册设备的产品的Key。
DeviceName String 为要注册的设备命名。设备名称应包含4-32个字符

返回参数

名称 类型 描述
RequestId String 阿里云为该请求生成的唯一标识符。
Success Boolean 是否调用成功。ture表示调用成功,false表示调用失败。
ErrorMessage String 调用失败时,返回的出错信息。
Data DeviceInfo 调用成功时,返回注册的设备信息。详情参见DeviceInfo
DeviceInfo 名称 类型 描述
ProductKey String 设备隶属的产品Key。
DeviceName String 设备名称。
DeviceSecret String 设备密钥。
IotId String IoT平台为该设备颁发的设备ID,作为该设备的唯一标识符。
{
    "RequestId":"57b144cf-09fc-4916-a272-a62902d5b207",
    "Success": true,
    "Data": {
        "DeviceName": "CqXL5h5ysRTA4NxjABjj",
        "ProductKey": "a1ysRTA4N0",
        "DeviceSecret": "tXHf4ezGEHcwdyMwoCDHGBmk9a"
    }
}

这样我们设备激活时,先访问企业服务器业务API,获取IoT平台的三元组身份后,发起MQTT的长连接建立,最终实现设备上云的目的。

相关文章
|
4月前
|
传感器 物联网 网络架构
ENS、IoT设备、X86、ARM
ENS(Enterprise Name Service)是企业名称服务,是一种为物联网设备提供命名和寻址服务的技术。ENS通过为物联网设备分配唯一的名称和地址,使得物联网设备可以被网络中的其他设备和服务所识别和访问。 IoT设备(Internet of Things device)是连接到互联网的物理设备,可以收集和共享数据,用于监测、控制和优化各种业务流程和操作。IoT设备包括各种传感器、执行器、网关和路由器等。
40 2
|
2月前
|
网络协议 物联网 5G
K3S 系列文章 -5G IoT 网关设备 POD 访问报错 DNS 'i/o timeout' 分析与解决
K3S 系列文章 -5G IoT 网关设备 POD 访问报错 DNS 'i/o timeout' 分析与解决
|
7月前
|
传感器 监控 数据可视化
手把手教你用IoT设备监控家庭环境数据
本实验带您体验如何通过六合一传感器(温度、湿度、二氧化碳、PM2.5、PM10、甲醛)实现家庭环境数据实时采集,并搭建可视化大屏实时监控。
303 0
|
7月前
|
网络协议 物联网 大数据
|
7月前
|
安全 物联网 网络性能优化
|
7月前
|
网络协议 物联网 网络性能优化
|
7月前
|
安全 物联网 物联网安全
|
7月前
|
弹性计算 负载均衡 网络协议
|
7月前
|
消息中间件 监控 安全
H8
|
8月前
|
自然语言处理 物联网 Unix
全网最佳IoT命令行超级工具箱|帮你轻松解决百万物联网设备测试和联调
作为一个物联网开发和学习人员,IoT设备协议的测试联调是工作中很重要的一环!我有很多时刻都想拥有一个能集成常见物联网协议的客户端工具可供使用。经过我一通查找,发现和我拥有相同问题的人不在少数。 不仅仅是IoT开发者,包括云厂商、网络运营商都有相同烦恼: 开源物联网平台Thingsboard: coap -> coap.js(需要安装node); 移动OneNET平台: mqtt -> mqtt.fx(几年没更新了); 电信AEP平台:自定义TCP协议 -> sokit工具(只支持windows); 阿里云物联网平台: Nb-IoT协议 -> 需要到电信或移动平台上进行测试; 作者:穆书伟
H8
288 0