广和通l610二次开发|广和通l610 CAT.1模组opencpu开发《三》阿里云物联网平台mqtt动态注册

阿里云物联网平台动态注册

使用模组的IMEI作为设备的name,采用动态注册自动在案例云平台上注册设备


文章目录

  • 阿里云物联网平台动态注册
  • 参考文档
  • 一、基本准备
  • 二、平台产品创建
  • 三、动态注册流程
  • 四、代码实现
    • 1.实现
    • 2.运行验证
    • 3.平台查看
  • 代码下载

参考文档

官网参考文档


一、基本准备

  1. 硬件平台:广和通L610 opencpu模组
  2. 协议:mqtt支持TLS加密连接
  3. 平台:阿里物联网平台

二、平台产品创建

平台中产品创建需要启用动态注册功能
广和通l610二次开发|广和通l610 CAT.1模组opencpu开发《三》阿里云物联网平台mqtt动态注册

三、动态注册流程

广和通l610二次开发|广和通l610 CAT.1模组opencpu开发《三》阿里云物联网平台mqtt动态注册

说明 目前,动态注册只支持使用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:
广和通l610二次开发|广和通l610 CAT.1模组opencpu开发《三》阿里云物联网平台mqtt动态注册
设备端:
广和通l610二次开发|广和通l610 CAT.1模组opencpu开发《三》阿里云物联网平台mqtt动态注册
token 下发:
广和通l610二次开发|广和通l610 CAT.1模组opencpu开发《三》阿里云物联网平台mqtt动态注册
基于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.平台查看

设备已经在线
广和通l610二次开发|广和通l610 CAT.1模组opencpu开发《三》阿里云物联网平台mqtt动态注册

代码下载

代码下载

本文章来源于互联网,如有侵权,请联系删除!原文地址:广和通l610二次开发|广和通l610 CAT.1模组opencpu开发《三》阿里云物联网平台mqtt动态注册