【STM32+ESP8266连接腾讯云物联网开发平台 3】STM32+ESP8266-01S在腾讯云上动态注册设备(AT指令方式)--附带源码


前言

      先说一下什么是动态注册,它有啥用处:
      1. 动态注册:开启动态注册后设备无需一一烧录设备证书/密钥,同一产品下的所有设备可烧录相同的产品密钥(ProductId 和 ProductSecret);意思就是产品开启动态注册功能后,STM32作为新的设备接入时,不需要再去云平台获取三元组,只需要修改代码中的设备名称就在云平台自动创建新的设备。
      2. 动态注册的好处:使用动态注册的好处就在于,不需要在自己去云平台创建新的设备,我们在STM32代码里修改设备名称就可以在腾讯云物联网开发平台上创建相应的设备,并且连接。

一、开启产品的动态注册功能

      开启后的产品,可以不创建设备,只要把产品ID和ProductSecret(产品密钥)复制下来就可以了。

在这里插入图片描述

二、STM32代码修改

      工程代码的修改就在昨天工程的基础上做修改的(详情请移步:【STM32+ESP8266连接腾讯云物联网开发平台 2】STM32+ESP8266-01S连接腾讯云),本次的源码也会给大家开源出来。

1.修改三元组

      设备三元组的宏我放在了ESP8266.h 文件中。

#define PRODUCT_ID " ***** " //产品ID  修改成自己的产品ID
#define DEVUICE_NAME "LED"      //设备名称 新设备只需要修改这个即可
#define DEVICE_SECRET " ******** "//产品密钥 修改成自己产品密钥
#define PRODUCT_REGION "ap-guangzhou" //地域名称

2.修改连接代码

      之前静态的连接,是把DeviceName(设备名称)、PRODUCT_ID(产品ID)和DEVICE_SECRET(设备密钥)给8266进行连接,用的指令是:

AT+TCDEVINFOSET=<tls_mode>,<product_id>,<device_name>,<device_secret>[,<product_region>]

属于设备级的信息,而动态注册属于产品级,所以我们要用产品信息设置指令

AT+TCPRDINFOSET=<tls_mode>,<product_ID>,<product_secret>,<device_name>,<product_region>

最后一个参数可以不用填写,即使用默认:“ap-guangzhou”,设置完了使用动态注册指令:

AT+TCDEVREG
//设置产品信息
 case 8:
      sprintf((char *)device_massage, "AT+TCPRDINFOSET=1,\"%s\",\"%s\",\"%s\"\r\n", PRODUCT_ID, DEVICE_SECRET,DEVUICE_NAME);
      HAL_UART_Transmit(&huart2, device_massage, strlen((const char *)device_massage), 5000);
      osDelay(500);
      break;
//动态注册
    case 9:
    case 10:
      HAL_UART_Transmit(&huart2, "AT+TCDEVREG\r\n", strlen("AT+TCMQTTDISCONN\r\n"), 5000); //动态注册
      osDelay(2000);
      break;
//开始连接
    case 11:
      HAL_UART_Transmit(&huart2, "AT+TCMQTTCONN=1,5000,240,0,1\r\n", strlen("AT+TCMQTTCONN=1,5000,240,0,1\r\n"), 5000);//开始连接
      osDelay(100);
      break;

其他代码保持不变就可以进行动态注册了,

三、效果演示

在这里插入图片描述
这三篇博文会同步到安信可科技官方博文当中!!
源码:https://pan.baidu.com/s/1rOEzEuz9XeIe3tAPIz1d0g 提取码:4sg4

  • 13
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值