ESP 8266 WIFI模块学习使用记录

来源:互联网 发布:窗体的数据来源可以是 编辑:程序博客网 时间:2024/05/18 00:30

ESP 8266 WIFI模块学习使用记录

@(我的笔记)


写在前边

因为综合设计项目需要,我购买了一块基于ESP8266芯片的wifi模块,因为初次接触,所以将使用学习记录都写下来。

首先是这个模块的购买链接:NodeMcu LUA物联网开发板

拿到快递后,收到一个开发板和一根连接线,这根线可以用安卓数据线代替。

基本测试

开发板拿到以后,连接上电脑,这里应该会安装一个驱动,在windows环境下是可以自动安装的,我的开发环境是windows7.打开[我的电脑]->[属性]->[设备管理器]->[端口],可以看到如下的端口:

然后打开串口调试助手,设置好波特率、数据位、停止位、流控等配置后点击确定。


后连接上以后可以看到一堆乱码,这是模块的启动过程,等待乱码结束以后,输入AT,点击回车,如果有返回OK那么说明里边有烧写AT固件,这样就可以继续下一步,如果没有的话,那需要先烧写AT固件再继续本文接下来的步骤。

下一步学习

接下来需要学习AT指令集,比如最基本的就是直接发送AT然后回车,这样会返回一个OK,表示已经准备好了。

AT+CWMODE?回车,返回模块现在的模式,有1,2,3三种返回值,分别是Station模式,AP模式和Station+AP模式。对应的功能可以百度谷歌QAQ,后边边讲边介绍。

这里先设置为station模式,所以按照指令输入AT+CWMODE=1,返回OK表示设置正确,然后需要重启一下AT+RST回车,这里提醒一下如果输入无法识别的指令会返回ERROR。

然后查询可以接入的AP,也就是无线接入点,通俗的就是现在那些wifi是可以被搜索到的,因此之前的AP模式就是说这个wifi模块可以作为一个无线接入点,其他设备可以搜索并接入,在超级终端上输入AT+CWLAP回车,返回一堆信息,如下:

我们可以很容易的看出来这个信息的格式,

+CWLAP:((ecn),(ssid),(rssi))
其中ecn表示加密方式,有0-4五种,这个不详细介绍,ssid这个看的出来就是wifi的名字,然后rssi是信号强度应该是数字越小信号越强吧,应该是,这个可以之后再测试。

然后有了接入点了,那么就要接入了。

ORZ看图吧,一定要输入正确的格式才能接上,正确的格式如下(例:wifi名称为404_2.4g,密码@404@404):

AT+CWJAP=”404_2.4g”,”@404@404”
输入正确的指令返回OK,然后也可以输入AT+CWJAP?查看当前连接的wifi接入点。

现在已经接入了站点,那么就应该试试向服务器发送数据了,这里我使用了socketTool工具在windows下建立了一个基于TCP连接的服务器,端口号为60000.
Alt text

然后在超级终端输入指令:

AT+CIPSTART=”TCP”,”192.168.1.117”,60000

图中的错误就不要再犯了,其中TCP,192.168.1.117,60000这些数值都是在socketTool中获得的,TCP表示TCP连接协议,192.168.1.117是本机的IP地址,这是与wifi模块连接到同一个局域网内的ip,可以使用AT+CIFSR指令查询wifi模块的ip,我查到的是192.168.1.118,可以看下边的图;然后60000是开放的端口,因为在socketTool中这个端口已经被我监听了,所以如果我向这个端口发送数据那么在socketTool中是可以看到的,接下来我们试试。

发送数据的格式如下:

AT+CIPSEND=XX
其中xx用一个数字代替,代表需要发送的数据长度,一个byte数据算一个,比如我要发送HELLO,那么这个数字应该是5,输入AT+CIPSEND=5回车,然后超级终端有一个‘>’的提示符,在这里输入数据,当输入的数据长度达到之前的数字5的时候,模块会把这些数据发到对应端口,具体操作结果看下图:



其中第一个数据因为提示了一个busy,所以只发送了HELL。

然后是退出TCP连接,输入指令AT+CLOSE回车,返回OK换行Unlink表示已经关闭连接,然后是断开接入点,输入指令AT+CWQAP回车,返回OK表示已经断开wifi连接。

模块基本的启动,配置,连接,发送数据,断开连接等就介绍完了。

写在最后

有了这些基本的了解,那么要在开发板上使用就很简单了,也就是通过串口向模块发送指令,检查对应的返回值就可以判断指令的执行情况,因此后续的开发就非常简单了。其他更多关于WiFi模块的知识还需要深入学习。