STM32+ESP8266+AIR202基本控制篇-315-功能测试-Air202(GPRS)以SSL单向认证方式连接MQTT服务器(不校验服务器证书)

<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/ESA2GJK1DH1K_A/" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

说明

这节说明一下配置Air202以SSL单向认证方式连接MQTT服务器

 

切换固件,默认的固件不支持SSL,需要刷固件

1.提醒

为防止烧录过程中被STM32复位,把boot0接3.3V,然后复位下STM32,不要让STM32工作!

为防止烧录过程中被STM32复位,把boot0接3.3V,然后复位下STM32,不要让STM32工作!

为防止烧录过程中被STM32复位,把boot0接3.3V,然后复位下STM32,不要让STM32工作!

 

2.打开软件

 

 

3.把开发板连接电脑

 

 

4.调整波动开关,让模组的烧录口和软件通信,然后复位下模组

 

5.点击AT 选择切换为SSL版本

 

 

6.点击下载

 

 

 

 

 

 

 

 

 

 

 

7.刷完固件以后,把这节的程序下载到单片机测试即可(手机卡,天线,拨动开关,杜邦线连接)

白线 A3 --- TX
黑线 A2 --- RX

 

 

 

程序修改说明

1.用户了解一下命令

 

 

2.端口号改为 8883  (域名/IP,用户名,密码根据自己的修改)


3.修改连接指令

 

 

4.连接MQTT,先打包数据,然后发送 AT+SSLSEND=<cid>,<byte_size >,等待收到> ,执行下一条

 

 

 

5.发送MQTT连接协议

 

 

 

 

6.正常通信 有数据需要发送先发送 AT+SSLSEND=<cid>,<byte_size >

设置下接收超时3S,接收超时变量清零以后再发送实际的数据
发送实际的数据以后设置个发送超时,发送数据超时变量清零以后又重新开始

 

 

7.串口中断函数里面收到 > 清零接收超时, 收到SEND OK 清零发送超时

注:我写的是5, 原因是在中断接收到的 > ,然后就去执行主循环了,其实还没接收完 \r\n ,所以我再稍微延时下.

 

 

8.接收数据格式: +SSL RECEIVE,0,xxxx:\r\n真实数据

剔除+SSL RECEIVE,0,xxxx:\r\n

 

posted on 2021-01-05 02:29  广源时代  阅读(277)  评论(0编辑  收藏  举报

导航

支付宝 QQ群