一直在跟着半颗心脏的博客学习ESP8266的应用开发,学到了不少知识,非常感谢他把学习过程以博客的形式记录下来,带着我们一起进步。在学习过程中我也遇到问题,经过自己的理解和他人的帮助,解决了问题,在此也以博客的形式记录下来,分享给后来者。
《乐鑫esp8266学习rtos3.0笔记第12篇:无需外网,如何实现在本地局域网与控制端做数据交换,分享开发心得》
半颗心脏的博客链接:https://xuhong.blog.csdn.net/article/details/102610767
学习例程我一般是先直接拿来编译并运行,然后再分析代码。这回也不例外,源码连接:
https://github.com/xuhongv/StudyInEsp8266/tree/master/43_ESP8266_Rtos3.0_LocalContlor
博客上介绍了主要代码模块的功能,但没有讲如何具体实现测试(因为自己前端知识积累的比较少,所以这一点上比较困惑)。博客上有些事情不可能面面俱到的,既然没讲我们自己就要探索,在这探索的过程中也是学习的过程。
我的探索过程也是几经周折,但我不想全部表述出来,我直接把正确行之有效的方法告诉大家。
硬件环境:一台PC和 一个ESP8266模块,且两者均在同一局域网内
所需软件:串口软件(我用的是XCOM V2.0), POSTMAN
第一种方法基于谷歌的POSTMAN软件的测试。
1先安装POSTMAN,基本操作自行百度。
2根据你自己的网络,修改SSID和密码,如图:
3保存,并编译并下载,打开串口软件连接ESP8266。第一次编译前,请先make menuconfig配置串口和ESP8266。
4自己想办法获取运行中的ESP8266 IP地址(可以查看路由器页面或者编写python程序获取)。
5打开POSTMAN 按下图所示,选择POST,傍边地址栏中填入ESP8266上UDP发送的IP地址。
6点击Body便签,在填入json数据
7点击Send按钮,同时查看串口软件和POSTMAN界面。
串口软件收到的JSON数据
至此,POSTMAN测试环境搭建并测试完毕。
使用python2进行测试,请特别注意在python2 下测试成功的程序,在python3下测试是不成功的,目前我还没找出具体原因.
#coding=utf-8
#172.16.0.11
import requests
import json
data_json = json.dumps({'key1':'value1','key2':'value2'}) #dumps:将python对象解码为json数据
print data_json
url = 'http://172.16.0.11'
r =requests.post(url,data=data_json)
print(r)
print(r.text)
print(r.content)
print(r.headers)
测试结果 :
程序可以连续发送POST请求 ,可以进行压力测试.