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 >
7.串口中断函数里面收到 > 清零接收超时, 收到SEND OK 清零发送超时
注:我写的是5, 原因是在中断接收到的 > ,然后就去执行主循环了,其实还没接收完 \r\n ,所以我再稍微延时下.
8.接收数据格式: +SSL RECEIVE,0,xxxx:\r\n真实数据
剔除+SSL RECEIVE,0,xxxx:\r\n