A. ESP8266 STM32 HTTP json透传实验
本文将介绍ESP8266与STM32进行HTTP JSON透传实验的详细步骤。首先,通过建立HTTP虚拟测试桩,利用SoapUI模拟远端HTTP服务器进行测试。
接着,ESP8266需进入透传配置。具体步骤如下:
设置WIFI模式:使用AT+CWMODE=3命令,将模块设置为ap+sta共存模式。
重启模块:执行AT+RST命令,重启ESP8266。
重启后,可能会出现乱码现象,这是由于模块上电时波特率偏高,随后自动调整至115200。
连接路由器:使用AT+CWJAP命令,输入路由器的SSID和密码。
查询设备IP:执行AT+CIFSR命令,获取设备的IP地址。
然后,ESP8266需连接远端服务器(通过TCP协议)。具体步骤如下:
使用AT+CIPSTART命令,传入服务器IP和端口号。
开启ESP8266透传模式:执行AT+CIPMODE=1命令。
透传开始时,通过AT+CIPSEND命令确保串口输入的字符能成功传送到服务器端。
接着,将数据通过HTTP形式发送至远端服务器。数据格式以JSON形式为主,URL构造为服务器IP和端口号,如:192.168.12.68:8999/test/...。同时,需设置正确的Host、Content-Type和Content-Length字段。
HTTP服务器接收到JSON数据后,会返回200 OK字符串,表示数据上传成功。整个数据包的协议格式包含devicetype、time、idno、type等关键信息。
封装头部和数据部分后,实现将整个数据上传至服务器的函数。最后,调用API执行程序,确保串口接收到服务器的回复。
完成实验后,可参考完整源码获取。关注公众号“嵌入式云IOT技术圈”,发送关键词“ESP8266”即可获取。
B. 如何利用8266进行数据透传
很蔽洞多时候在使用8266时都不知道到底要怎样才能进行数据的透传下面我将使用8266做透传的配置命令给大家一个参考希望能有所帮助
8266WiFi模块配置操作如下:
①AT+CWMODE=3设置为AP+STA模式共存
②AT+CWJAP="xxxx","xxxxxxxxx" 连接路由器 (家庭路由器名称+密码)
③AT+CIPMUX=0设置为单链接模式
④AT+CIPMODE=1开启透传模式
⑤AT+SAVETRANSLINK=1,"192.168.1.100",9999,"TCP"保存连接的远端服务器IP和端口号 (注意次出的IP地址为你所开启的服务器的宏局枯IP和端口号,可以利用网络腊搏助手进行开启TCP sever即可)。
⑥AT+CIPSTART="TCP","192.168.1.100",9999 此语句为执行操作
⑦AT+CIPSEND 进入透传
好啦经过上述的操作以后8266就进入了TCP透传模式。便可通过串口直接发送想发送的数据了。