初学者实用!教你如何使用ESP8266 WiFi模块!

ESP8266是一款超低功耗的UART-WiFi 透传模块,专为移动设备和物联网应用设计,可将用户的物理设备连接到Wi-Fi 无线网络上,进行互联网或局域网通信,实现联网功能。

ESP8266支持三种天线接口形式:板载PCB天线、IPEX接口和邮票孔接口,板载PCB天线和IPEX接口天线客户可直接使用,无需添加任何匹配电路。如果客户需要在大板上设计天线部分,可使用ESP8266邮票孔天线接口,这种设计时大板需要预留匹配电路,如下:

初学者实用!教你如何使用ESP8266 WiFi模块!

注: 1、以上虚线框的部分需要进行天线匹配,以实际天线匹配的电子元器件参数为准; 2、以上为RF走线要做50欧姆阻抗,禁止90度直角走线,长度不能超过15mm

esp8266有很多种,初学者来我们只需要认识 ,VCC GND RXD TXD四个引脚就ok了

第一:VCC连接正极(有些是3.3V,有些是5V,我的这个是5V),GND连接负极

第二:RXD:数据的接收端 (连接单片机或者USB转TTL模块的TXD)

第三:TXD:数据的发送端 (连接单片机或者USB转TTL模块的RXD)

第四:RST: 复位,低电平有效

第五:IO_0:用于进入固件烧写模式,低电平->烧写,高电平->运行模式(默认)

初学者实用!教你如何使用ESP8266 WiFi模块!

我们来看看它的功能:

ESP8266支持3种工作模式”STA”、“AP”、“STA+AP”模式:

① STA模式:该模块通过路由器连接网络,手机或者电脑实现该设备的远程控制.

② AP模式:该模块作为热点,手机或者电脑连接wifi与该模块通信,实现局域网的无线控制

③ STA+AP模式:两种模式共存,既可以通过路由器连接到互联网,也可以作为WiFi热点,使其他设备连接到这个模块,实现广域网与局域网的无缝切换.

接下来了解AT指令:

我们将终端(如手机等)与PC通信的指令叫做AT指令,AT即attention前两个字母的。我们要与终端适配器(这里是WiFi模块)通信就要用AT指令。简单来说,我们想要配置这个模块,就必须发送相应的AT指令!

a、每条指令可以细分为下面四种指令,但不是每个模块都具有下面四种指令

①测试指令:用于查询设置命令以及设置的参数及其范围

AT+=?

②查询指令:返回参数的当前值

AT+?

③设置指令:设置用户的自定义参数

AT+=<......./>

④设置指令:执行模块内部的变参数不可变的功能

AT+

我们通过串口发送指令

b、开发步骤:USB转TTL模块,esp8266模块,正常电脑就可以了

检验:

①将线连接好,特别是VCC、GND、TXD、RXD要连接好,其他线可以悬空。

1.1通电之后:如果是红灯蓝灯闪烁一下后全部熄灭,说明电流过大,考虑换一个供电能力更强的USB转TTL模块

如果是通过串口接收到的数据一直不断的是乱码这说明是电压过小,将3.3V换成5V

②利用串口助手(总之可以接收到串口发送的数据的软件就可以),出厂默认的波特率一般是115200,设置软件的波特率为115200,如果接受到的是乱码也可以试一下其他的波特率

③串口助手的软件上勾选上”发送新行”,打开串口,现在发送指令”AT+RST”,如果没有勾选”发送新行”,就要发送”AT+RST\r\n”,串口返回的结果是,出现下列结果.主要是出现先出现”OK”,再出现一堆乱码,再出现”ready”,就表明该模块可以正常使用.

AP模式:该模块作为热点,手机或者电脑连接wifi与该模块通信,实现局域网的无线控制!

建立AP

3.2.1.1建立模块,发送指令AT+RST ,响应:OK

3.2.1.2设置模块

初学者实用!教你如何使用ESP8266 WiFi模块!

3.2.1.3设置AP参数

发送AT+CWSAP=”fulei”,”1234567890”,1,3

指令说明:AT+CWSAP=,,,

ssid表示接入点的名称,也就是WiFi的名称,pwd就是密码,最长64位,chl表示通道号,ecn就是表示加密的方式:0~OPEN(开放不加密),1~WEP,2~WPA_PSK,3~WPA2_PSK,4~WPA_WPA2_PSK

初学者实用!教你如何使用ESP8266 WiFi模块!

此时再用手机搜索热点就可以连接

初学者实用!教你如何使用ESP8266 WiFi模块!

这里可以查看已经连接设备的IP

发送:AT+CWLIF ,查看已经连接的设备的IP地址,响应 OK,这里的IP addr表示就是已连接设备的IP地址,不同的esp8266不同,我的显示了MAC地址

初学者实用!教你如何使用ESP8266 WiFi模块!

  1. Server方法接收(也就是该模块做服务器!)

3.2.2.1 查询该模块现在的状态:(可以跳过)

①AT+CWMODE? 该指令将返回当前模式

1~STA模式,2~AP模式,3~STA+AP模式

②AT+CIPMUX? 查询此模块是不是建立多连接

0~单路连接模式 1~多路连接模式

③AT+CIPMODE? 查询该模块的传输方式

0~非透传模式 1~透传模式

所谓透传模式,就是用户不需要知道底层协议等复杂的东西,只需要知道我这个串口发送,那个串口接受到数据,对使用者就是透明的,就像不存在内部复杂的协议一样

④AT+CIPSTO? 查询该模块的超时时间:0~2880 ,单位秒

⑤AT+CIFSR 查看该模块的IP地址,也可能会加上MAC地址

3.2.2.2开启多连接模式

发送指令AT+CIPMUX=1

说明:AT+CIPMUX=,mode:0表示单路连接模式,1表示多路连接模式

3.2.2.3创建服务器

发送指令:AT+CIPSERVER=1,8080

指令说明: AT+CIPSERVER=[,]

mode:0~关闭server模式,1~开启server模式,port:用中括号的表示可以不填,可缺省,当不填的时候默认是333

说明:AT+CIPMUX=1时才开启服务器,关闭服务器需要重启。即(开启:AT+CIPMUX=1关闭:AT+CIPMUX=0,响应后再发AT+RST)。开启服务器之后会自动建立server监听,当有client接入的时候,会按顺序占用一个连接。

3.2.2.4设立超时的时间

AT+CIPSTO=2880 指令说明AT+CIPSTO=

3.2.2.

5查看当前的连接状态

AT+CIPSTATUS

3.2.2.6向某个连接发送数据

AT+CIPSEND=0,6

指令说明: 这里是多路连接AT+CIPSEND=,

id可以用AT+CIPSTATUS查询到,每个连接都有一个id,这是给不同连接发数据的依据,每个连接按连接时间顺序获得从0开始的id

length:表示数据发送的长度,当发送的数据到了length时发送数据,才开始发送数据超过的部分不发,最大2048

单路连接 AT+CIPSEND=

把上面的步骤全部做完就可以实现手机与电脑通过这个WiFi模块的通信。这里需要网络调试的软件。当我们用网络调试的软件的时候,软件上有些IP地址不会填的可以通过串口发送AT指令可以看到,指令不知道可以在找一些相应的指令表查看

我就是通过上面这篇文章来学习的 希望它对你也有帮助!


分享到:


相關文章: