ESP8266透传:使用HTTP POST请求发送json格式的数据到虚拟测试桩(HTTP服务器)

关于如何建立一个HTTP的虚拟测试桩的方法如下,通过SoapUI建立一个HTTP测试桩,用来模拟远端HTTP服务器。

https://blog.csdn.net/russ44/article/details/52230355

ESP8266进入透传的配置:(以串口115200波特率为例)

(1)设置WIFI模式

AT+CWMODE=3                          //设置为ap+sta共存

响应OK

ESP8266透传:使用HTTP POST请求发送json格式的数据到虚拟测试桩(HTTP服务器)_第1张图片

(2)重启

AT+RST

ESP8266透传:使用HTTP POST请求发送json格式的数据到虚拟测试桩(HTTP服务器)_第2张图片

重启后我们看到,这里出现乱码,乱码的原因是因为模块刚上电的时候,波特率并不是我们所设置的115200,而是会稍微偏大一点,导致串口显示出现乱码,这是没办法改变的。

(3)连接路由器

AT+CWJAP="ssid","password"    //传入路由的ssid和password

响应OK

ESP8266透传:使用HTTP POST请求发送json格式的数据到虚拟测试桩(HTTP服务器)_第3张图片

(4)查询设备IP

AT+CIFSR

响应设备的ip地址以及其它

ESP8266透传:使用HTTP POST请求发送json格式的数据到虚拟测试桩(HTTP服务器)_第4张图片

(5)连接服务器(TCP)

AT+CIPSTART="TCP","server ip",server port     //传入远端服务器的ip以及端口号

响应:OK

(6)开启ESP8266的透传模式

AT+CIPMODE=1

响应OK

(7)开始透传

AT+CIPSEND

响应: >              //从此时开始,串口输入的字符会透传到服务器端

ESP8266透传:使用HTTP POST请求发送json格式的数据到虚拟测试桩(HTTP服务器)_第5张图片

将数据通过HTTP发送到远端服务器:

POST /test/upload/messages HTTP/1.1
Host: 192.168.12.68:8999
Content-Type: application/json
Content-Length:17
cache-control: no-cache

{"text1" : "123"}

其中/test/upload/messages为URL的一部分

Host字段添加服务器IP和端口号,这里的服务器IP是192.168.12.68,端口号是8999

所以URL为:http://192.168.12.68:8999/test/upload/messages

Content-Type字段代表当前要使用数据的格式,这里使用的是application/json

Content-Length字段代表当前json数据的长度,也就是后面{"text1","123"}这串数据的长度。通过下面这个工具可知

当前的数据长度为17:

http://www.bejson.com/convert/ox2str/

ESP8266透传:使用HTTP POST请求发送json格式的数据到虚拟测试桩(HTTP服务器)_第6张图片

接下来是一个空格,这个空格一定要有,否则HTTP服务器会解析出错

ESP8266透传:使用HTTP POST请求发送json格式的数据到虚拟测试桩(HTTP服务器)_第7张图片

后面的{"text1":"123"}就是我们要发送的json数据。

接下来通过串口调试助手将带http协议的json数据发到http测试服务器:

ESP8266透传:使用HTTP POST请求发送json格式的数据到虚拟测试桩(HTTP服务器)_第8张图片

 

你可能感兴趣的:(物联网技术)