002-STM32+ESP8266+Air302基本控制篇(阿里云物联网平台)-STM32+ESP8266使用SSL加密方式接入阿里云物联网平台
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/ESA2GJK1DH1K_A/aly.html" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
说明
阿里云的TCP和TCP+SSL方式连接MQTT服务器使用的端口号都是 1883;
如果使用SSL连接, 拼接的ClientID参数时 securemode=2
提示
单片机都是使用串口2和模组进行通信, 开发板只安装上WiFi模组.
测试
1.打开本节代码
2.修改自己的阿里云设备信息
3.为便于快速测试,可直接配置模组连接的路由器
不配置直接下载程序也可以, 下载完以后记得使用先前的APP或者微信小程序进行配网(APUConfig)
4.使用单片机串口1打印串口日志(115200)
5.正常运行情况下日志会打印
单片机程序说明(程序执行流程和非SSL连接里面的一样,只不过AT指令变了而已)
1.提示
连接指令:
"AT+CIPSTART=\"SSL\",\"%s\",%s\r\n",IP,Por
使用上面的 AT+CIPSTART指令连接TCP以后发送和接收数据是如下方式
1.发送数据,假设发送66个数据
1.1 首先发送 AT+CIPSEND=66\r\n 66:为要发送的数据个数
1.2 等待模块返回 >
1.3 发送要发送的数据给模块
1.4 模块返回 Recv 66 bytes
1.5 模块发送完成返回 SEND OK
2.接收数据
2.1 接收数据格式: +IPD,XXXX:真实数据 XXXX 为接收的数据个数
3.意外断开
3.1 和TCP服务器断开:CLOSED\r\n
3.1 和路由器断开:WIFI DISCONNECT\r\n
2.以SSL方式连接服务器
3.发送连接MQTT协议
4.实际发送MQTT数据的地方也改为了SSL的AT指令