WIFI模块ESP8266测试
最近在学习Arduino,一直想搞点大事情,弄来弄去,感觉不能联网的Arduino总是缺了点什么,于是买了块ESP8266,这里记录一下ESP8266接串口usb模块的调试测试过程。由于我也刚接触嵌入式不久,第一次碰这个模块,一边学习一边记录,写的东西可能有漏洞,欢迎各位大神批评指正。
ESP8266模块简介
ESP8266有几款不同的型号,用的比较多的差不多ESP8266-01,-07,-12E,和-13,我买的是一款借口比较简单一点的ESP-01,资料也挺丰富的,酱婶的。

刚拿到的时候,本来以为只是像蓝牙模块一样的单独的wifi模块,仔细观察了一下,发现竟然还有两个GPIO接口。查查资料发现,ESP8266更确切的说是一块带WIFI的单片机,cpu是基于xtensa的架构。不同的型号提供的GPIO接口的个数不一样,较少的向这块,有2个接口,多的比如ESP-12E,GPIO就有9个之多,完全可以应付一些简单的应用场景。在这里,我们不去研究如何使用它的GPIO,我们只将其作为一个wifi模块,探究如何通过它让单片机拥有无线功能。
ESP8266模块与单片机通信原理
ESP8266支持串口通讯,所以该模块与单片机数据交互主要靠串口进行。但与常见的用串口通信的模块不太一样,ESP8266与单片机通讯,更像两台写好协议的机器之间通信,单片机要向ESP8266发指令,然后根据发出的指令,返回对应的数据。
模块主要使用AT指令集,通过该指令集可以完成对模块模式的设置、数据的发送、数据的收取等功能,基本上可以实现简单的wifi数据交互。
关于ESP8266的AT指令,我找到了份详细的说明:
https://github.com/espressif/esp8266_at/wiki
ESP8266模块功能测试
主要是为了探究ESP8266的功能,所以不牵扯单片机了,以免调试不直观,我直接将其通过usb串口模块与电脑连起来,进行串口数据测试。
1、模块连接
USB串口模块如下图所示:

连接很简单,说白了就是使用usb输出的VCC和GND给ESP供电,CH-PD端口给个高电平,然后串口互连就可以了。在此不在赘述,照着下图连就可以(UBS串口我没找到合适的元件图片)。其中一定注意,ESP的供电是3.3v,千万不要接成5v,很容易烧坏芯片。如果实验的usb模块没有3.3v输出,可以把Arduino和USB模块同时插到电脑上,使其电平一致,然后用Arduino的3.3v给ESP供电。

2、测试软件
就两个,一个串口通信的工具,一个网络通信的工具,我都收集好了,大家测试的时候可以直接下载。
3、串口测试
按照图连接好后,把usb模块插到电脑上并安装好驱动,win7应该是默认安装的,win10自动装的驱动是不可以用的,得去下旧版本的。
打开sscom按照好后按照图修改一下参数,注意画红框的地方:

一般连接好后数据显示框就会有反应,有时候也没有,不懂为啥……在字符串输入框输入AT,敲回车,模块会返回“OK”,表示成功连接并正常通信。
4、数据发送接收测试
过程很直接,就是先设置模式,再连接wifi,再发送数据
具体可以见图,好吧其实是我懒得写了。。。

设置成双模式之后是能够在wifi列表找到该模块的wifi的:
连接好了就这样的:
USR-TCP要先设置一下,主要IP写本机的和模块统一网段下的IP,端口随意,但是连接的时候要对应起来。
数据交换也是通过AT指令进行的:
指令:
1 | //设置成双模式 |