阿里云物联网平台动态注册
使用模组的IMEI作为设备的name,采用动态注册自动在案例云平台上注册设备
文章目录
- 阿里云物联网平台动态注册
- 参考文档
- 一、基本准备
- 二、平台产品创建
- 三、动态注册流程
- 四、代码实现
-
- 1.实现
- 2.运行验证
- 3.平台查看
- 代码下载
参考文档
官网参考文档
一、基本准备
- 硬件平台:广和通L610 opencpu模组
- 协议:mqtt支持TLS加密连接
- 平台:阿里物联网平台
二、平台产品创建
平台中产品创建需要启用动态注册功能
三、动态注册流程
说明 目前,动态注册只支持使用TLS建立连接,不支持TCP直连。动态注册时,物联网平台不会校验MQTT连接的Keep Alive(保活时间),因此可以不用设置Keep Alive时间。
四、代码实现
动态注册的难点在于mqtt的mqttClientId,mqttUserName,mqttPassword的计算,现在使用c语言实现参数的计算,参数计算为纯C语言,工程采用codeblocks,可以直接运行查看。
mqttClientId: clientId+"|securemode=-2,authType=xxxx,random=xxxx,signmethod=xxxx,instanceId=xxxx|"
mqttUserName: deviceName+"&"+productKey
mqttPassword: sign_hmac(productSecret,content)
1.实现
代码实现:
do_iotx_sign_regnwl_mqtt(IOTX_CLOUD_REGION_SHANGHAI,
&ali_sign_mqtt,
EXAMPLE_PRODUCT_KEY ,EXAMPLE_DEV_NAME,
EXAMPLE_PRODUCT_SECRET);
2.运行验证
codeblocks:
设备端:
token 下发:
基于token计算连接的mqtt参数
do_iotx_sign_connwl_mqtt(IOTX_CLOUD_REGION_SHANGHAI,
&ali_sign_mqtt,
&ali_mqtt_topic,
EXAMPLE_PRODUCT_KEY ,app_sn.dev_name,
EXAMPLE_PRODUCT_SECRET,app_sn.token,app_sn.client_id);
3.平台查看
设备已经在线
代码下载
代码下载