2-基本控制篇(阿里云物联网平台)-STM32+EC800使用MQTT+SSL加密方式接入阿里云物联网平台(不验证服务器证书)

说明

阿里云的TCP和TCP+SSL方式连接MQTT服务器使用的端口号都是 1883;

如果使用SSL连接, 拼接的ClientID参数时  securemode=2

关于模组的SSL相关指令(自行学习哈)

程序测试

1.安装好模组

单片机通过串口2和GPRS模块通信;  单片机PA8引脚作为复位模组使用;PB15连接模组的开机引脚

(单片机)PA2    ----   (EC800K)RX;

(单片机)PA3    ----   (EC800K)TX;

(单片机)PA8    ----   (EC800K)RST

(单片机)PB15  ----   (EC800K)PWR

注意: 单片机都是使用串口2和模组通信,所以需要拆掉ESP8266

2.打开这节的单片机程序

3.使用单片机串口1打印串口日志(115200)

 

4.修改为阿里云的设备参数.

5.然后下载程序到单片机,查看日志

单片机程序说明

1,串口2接收模组数据的时候,单独使用一个缓存,缓存了TCP接收的数据

 

2.整体概况

①:控制模块连接TCP服务器(MQTT服务器)

②:计算MQTT密码

③:MQTT消息处理封装包(缓存管理,支持消息等级0,1,2)

④:使用Mbedtls里面的sha1或者md5 计算密码文件

3.初始化MQTT,注册相应的回调函数

我编写的包是以注册回调函数的形式使用.

 

4.先使用TCP连接上TCP服务器(MQTT服务器就是TCP服务器嘛)

5.连接上TCP以后,发送连接MQTT协议

6.发送连接协议给服务器以后,如果服务器返回连接成功消息,便会调用MQTT连接成功回调函数

 

7.连接上了以后就轮训mqtt_send_function函数

咱们后面调用订阅,发布的函数的时候, 数据都会存储在缓存里面, 然后通过轮训 mqtt_send_function函数,把MQTT的数据发送出去

关于 

mqtt->timer_out_cnt   等待模块返回 >

mqtt->timer_out_send 等待发送完成

当前我设置的为3000ms

串口里面有相应的处理

8.接收消息

连接MQTT成功以后收到的服务器发送的数据需要让 mqtt_read_function函数处理, 该函数内部会处理消息并调用相应的回调函

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: STM32的启动文件是用来初始化芯片资源和设置系统时钟等基本配置的。它位于芯片的Flash存储器的起始地址处,相当于操作系统的启动引导程序。 要下载STM32的启动文件,首先需要选择适合自己芯片型号的启动文件。一般情况下,官方提供了针对不同型号芯片的启动文件,可以从官方网站或者开发工具的安装目录中找到相应的文件。 下载启动文件的方法有多种,常见的有通过SWD接口和Bootloader两种方式。 通过SWD接口下载启动文件,需要使用调试工具(如STLINK)和相应的烧录软件(如STLINK Utility)进行操作。首先,将调试工具和目标芯片连接好,并连接到计算机上。然后,打开烧录软件,选择要烧录的启动文件和目标芯片型号,设置烧录参数(如擦除芯片、编程等),最后点击烧录按钮即可开始下载。 通过Bootloader下载启动文件,可以通过串口或者USB接口进行操作。首先,需要在目标芯片上预先烧录Bootloader程序。然后,将芯片连接到计算机上,打开烧录软件(如STM32CubeProgrammer),选择要烧录的启动文件和目标芯片型号,设置烧录参数(如擦除芯片、编程等),最后点击烧录按钮即可开始下载。 无论使用哪种方式下载启动文件,都需要注意选择正确的文件和芯片型号,以及合适的烧录参数和工具。下载结束后,重新上电或者复位芯片,启动文件就会运行,完成相应的初始化和配置工作,为后续的应用程序运行提供基础支持。 ### 回答2: STM32启动文件下载是指将预先编写好的启动文件下载到STM32控制器的存储器中,以实现系统的启动和初始化。 首先,需要准备好STM32的启动文件以及下载工具。在启动文件中,包括了系统的初始化代码、中断向量表、堆栈设置等信息,它们将会在系统启动时被执行。下载工具可以是ST-Link、J-Link等专门的硬件工具,也可以是一些支持串口通信的编程器,如ST-Link V2。 接下来,将下载工具连接到STM32控制器的调试接口上。通常情况下,STM32的调试接口是通过JTAG或SWD进行连接的,通过连接线和下载工具将它们连接在一起。 打开下载工具的软件,选择对应的芯片型号和连接方式,然后将启动文件加载到下载工具中。在下载工具的软件中,一般会提供相应的操作界面,可以设置芯片的复位方式、下载地址等参数。 接下来,点击下载按钮,下载工具将会将启动文件下载到STM32的存储器中。下载过程中,下载工具会自动擦除原有的程序,并将新的启动文件写入到相应的存储器区域中。 下载完成后,可以通过相应的工具或软件来验证程序是否下载成功。例如,在Keil等集成开发环境中,可以通过连接调试接口和下载工具,对STM32进行调试和仿真,查看启动文件是否正常执行。 总结起来,STM32启动文件下载是通过连接下载工具和STM32控制器的调试接口,将预先编写好的启动文件写入到STM32的存储器中,实现系统的启动和初始化。下载完成后,可以进行验证和调试,确保启动文件的正常运行。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值