IoT场景需要每个设备有唯 一身份标识,
运行时动态注册方案允许设备固件可以无差别烧录,在设备售卖给消费者手上后,第一次使用时动态注册三元组,然后再与IoT平台建立网络连接。
1.设备端固件升级

涉及到系统交互如下

企业业务服务器提供IotDeviceRegister 接口
入参:
|
字段
|
描
述————————————————————————————
|
|
deviceId
|
由设备唯 一标识根据规则生成的字符串。比如mac,序列号sn等
|
返回数据:
|
字段
|
描述——————
|
|
productKey
|
产品Id
|
|
deviceName
|
设备name
|
|
deviceSecret
|
设备秘钥
|
|
endpointURL
|
接入点域名
|
业务逻辑:
|
字段列
|
描述————————
|
备注——
|
|
deviceId
|
由mac地址根据规则生成的字符串
|
主键
|
|
registerTime
|
设备注册时间
|
|
|
activateTime
|
设备激活时间
|
|
|
productKey
|
三元组productKey(设备所属产品)
|
|
|
deviceName
|
三元组deviceName
|
|
|
deviceSecret
|
三元组deviceSecret
|
|
|
endpointURL
|
接入点域名
|
.
|
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,作为该设备的唯 一标识符。
|
这样我们设备激活时,先访问企业服务器业务API,获取IoT平台的三元组身份后,发起MQTT的长连接建立,最终实现设备上云的目的。
物联网平台产品介绍详情:

阿里云物联网平台客户交流群
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70017009/viewspace-2937851/ ,如需转载,请注明出处,否则将追究法律责任。