【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

### 回答1: STM32ESP8266 连接腾讯云物联网开发平台的方法有很多,具体的实现可以参考腾讯云的开发文档和教程。主要的步骤包括: 1. 在腾讯云创建物联网产品和设备,获取相关配置信息(例如:产品 ID、设备名称、设备密钥等)。 2. 使用 ESP8266 实现与腾讯云服务器的通信,并将 STM32 的数据上传到腾讯云3. 在 STM32 中编写代码,实现对传感器或其他设备的读取。 4. 将获取到的数据通过 ESP8266 上传到腾讯云。 这是一个简单的概括,如果需要更详细的步骤,可以参考腾讯云的官方文档。 ### 回答2: stm32esp8266是两种非常常用的物联网开发板,对于想要连接腾讯云物联网开发平台的开发者来说,将这两个板子联合使用就可以实现这一目的。 首先需要在腾讯云物联网开发平台上创建一个设备,获取设备的product id和device name,然后在stm32开发板上添加ESP8266作为WIFI模块,连接到互联网。在esp8266上设置MQTT broker的连接地址、端口、用户名、密码等信息,并且将product id和device name设置为MQTT client id。接下来在stm32上编写代码,通过uart向esp8266发送指令,实现模块的配置、连接、测试等操作。当esp8266和mqtt broker连接成功后,在stm32上就可以通过mqtt协议,向腾讯云物联网开发平台上传、下发数据。 在实现stm32esp8266连接腾讯云物联网开发平台的过程中,需要注意一些问题,比如WIFI信号强度、esp8266的复位处理、mqtt协议的编程实现等。需要使用一些基础的编程和网络知识,同时也需要进行不断地实践和调试,逐步优化和完善系统。此外,为了更加便捷地实现stm32esp8266连接,可以使用一些开源的物联网平台和工具,如阿里云物联网和IoTStudio等。 总之,通过使用stm32esp8266联合开发,可以实现非常强大的物联网应用,连接腾讯云物联网开发平台后,用户可以使用云端数据分析和处理能力,构建更加智能、高效的物联网系统。 ### 回答3: 1. 简介 腾讯云物联网开发平台是一种云计算平台,可以通过网络连接不同的设备,让这些设备之间彼此通信和交换数据,提高设备间的互联性。在此平台上,我们可以给自己的设备提供远程监控和控制,实现远程管理,大大降低了运营成本,并且可以方便快捷地实现物联网的应用。 2. 硬件准备 在连接腾讯云物联网开发平台之前,我们需要准备一些硬件。首先,我们需要一块 STM32 开发板,该开发板上需要有 ESP8266 模块。然后,我们需要将开发板连接到计算机,这可以通过串口或 USB 线实现。最后,我们需要连接一个电源供应器,以便为设备提供能量。 3. 软件准备 接下来,我们需要下载一些必要的软件,以准备连接腾讯云物联网开发平台。首先,我们需要下载一个 ST-LINK/V2 驱动程序,以便将 STM32 开发板连接到计算机。然后,我们需要下载一些 ESP8266AT 指令,这是一个用于控制 ESP8266 的命令集合。最后,我们需要下载一个 MQTT 协议客户端用于实现 MQTT 协议的通信。 4. 连接腾讯云物联网开发平台 现在,我们已准备好一切,我们可以开始连接腾讯云物联网开发平台了。首先,我们需要在腾讯云平台上创建一个设备证书,这将提供给我们的设备访问 IoT 平台的权限。然后,我们需要将设备证书配置到 MQTT 协议客户端中。这将确保我们的设备能够与腾讯云平台通信。 接下来,我们需要编写代码,以便通过 STM32 开发板和 ESP8266 模块连接腾讯云平台。我们将使用 MQTT 协议实现通信。我们可以使用一个轻量级库,如 Mosquitto,来简化这个过程。需要注意的是,在向 MQTT 服务器发送消息时,我们需要编写一些详细的指令,以确保我们的消息能够被正确地解析。 5. 结论 连接腾讯云物联网开发平台是一项复杂的任务,需要对硬件、软件和 MQTT 协议有一定的了解。但一旦你成功连接,你将能够实现远程监视和管理你的设备,同时提高运营效率。希望这篇文章对你有所帮助,让你更好地理解 STM32ESP8266 如何与腾讯云物联网开发平台连接
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值