8266基本介绍
原理图及引脚说明
URXD | UART_RXD,接收 |
---|---|
UTXD | UART_TXD,发送 |
GPIO 16 | 外部Reset信号,低电平复位,高电平工作(默认高) |
GND | GND |
VCC | 3.3V,模块供电 |
GPIO 0 | 工作模式选择:悬空:FlashBoot,工作模式;下拉:UARTDownload,下载模式 |
CH_PD(EN) | 高电平工作;低电平模块供电关掉 |
GPIO 2 | (1)开机上电时必须为高电平,禁止硬件下拉;(2)内部默认已拉高 |
工作模式
模块连线
要让模块上电正常工作只需四处接线:VCC接3.3电源正极,GND接地。CH_PD(EN)、GPIO2悬空。刚好USB-TTL下载模块上有3.3V的电源。而使用串口调试要再把模块与下载器的TXD和RXD交叉连接。这样一来WiFi模块就能与电脑连接、用串口助手进行测试了。
如需进入下载模式,在上图的基础上将GPIO0接地。
模块上电
电脑安装好USB-TTL模块的驱动后,USB口插上模块,在设备管理器查看串口号后,打开串口调试工具sscom,串口号选择模块对应的,默认波特率115200,数据-停止-校验-流控:8-1-None-None,勾选“发送新行”(一定一定要记得勾选“发送新行”,否则WiFi无法识别AT指令),点击“打开串口”按钮,然后将CH_PD引脚的3.3V电源断了重接进行复位,若串口打印乱码后看到“ready”,说明模块上电初始化正常。
Wi-Fi模式
关于WiFi模式这里要说明一下,
sta模式下模块相当于客户端,像我们手机平板一样是要去连接路由器的,而AP模式下模块相当于路由器,是发射WiFi被别人连的。ESP8266支持两种模式并存(模块出厂默认的是AP模式)。
AT指令
AT指令类型
所谓AT指令实质上就是一些起控制作用的特殊字符串。模块可以通过AT指令控制使用和用源代码API函数开发,前者开发速度快,难度非常低(傻瓜化使用)。后者灵活,难度较大。
AT指令必须大写,并且以/r/n结尾。
基础 AT 指令描述
基础Wi-Fi功能AT指令
另外扫描WiFi指令 AT+CWLAP 只能在sta模式下使用,否则会报ERRO错误, AT+CWJAP 和 AT+CWQAP 指令也同理。
AT+CIPDINFO—接收数据时显示对方IP和端口
如果需要显示发送消息来的TCP server的IP和端口需要使用AT指令AT+CIPDINFO=1就可以显示相关信息了。
AT+CIPSTATUS—查询网络连接信息
AT+CIPCLOSE—关闭 TCP/UDP/SSL 传输
AP模式设置
AT+CWSAP_DEF—配置AP参数
参数说明:
ssid SSID账号 (max 63 char,最大63个字符)
passphrase 密码(对于WPA2加密类型最少8个字符,对于开放网络设置为NULL)——账号密码尽量都是英文字符
channel WiFi 通道数字, 1 - 13.默认是1
ssid_hidden WiFI是否需要隐藏 (0 = broadcast SSID, 1 = hide SSID),通过它设置别人是否能看到你的WiFi网络
max_connection 最大的同时连接数 1 - 4.当超过这个数,再多的station想连接也只能等待
AT+CIFSR—查询8266IP 地址
AT+CIFSR 看一下你模块现在分得的ip是多少,因为只要模块连网就会重新分配ip地址。这也是网络助手里面远程主机栏要填写的ip地址
开启多连接和服务器端口
AT+CIPMUX=1
响应: OK
说明:开启多连接模式,因为只有在开启多连接模式的时候才能开启服务器模式。
为什么要启动多路连接模式,意思是允许多个客户端连接,当然模块最多允许5个客户端连接(每个客户端对应一个id号,0–4)。也是必须设定的,不然配置为服务器会出错
AT+CIPSERVER=1,8080
响应: OK
说明:开启服务器模式,设置端口为 8080。
AT+CIPSTO—设置服务器超时时间
ESP8266当服务器的时候,客户端如果没有数据传输,隔一段时间会自动断开连接,可通过AT+CIPSTO=
AT+CIPSEND—发送数据
服务器(CIPMUX=1,处于多连接模式)向客户端发送数据时,AT+CIPSEND=,
AT+CIPSEND=0,20
返回: OK
>输入字符串
说明:0表示0号连接的客户端,20表示发送的数据长度,不满20自动填充满20发送,超过20只发送前20个字符。
发送数据时去掉发送新行点击发送 。
客户端(处于单连接模式)向服务器发送数据时, AT+CIPSEND=
AT+CIPSEND=4
响应: OK
说明:意思是发送四个字节的数据(可以更改字节长度)。
STA模式设置
AT+CWLAP—扫描可用AP
输入: AT+CIFSR——查询连接WiFi的8266的STAIP地址及APIP地址
AT+CWJAP—连接AP
AT+CWJAP=”509509”,”ldzldz509”
响应: OK
说明:指令原型为: AT+CWJAP=
连接成功后,出现下列字符
AT+CIPSTART—连接服务器
AT+CIPSTART=”TCP”,”192.168.1.3”,8086
说明:192.168.1.3 为服务器 IP 地址;8086 为端口,此处端口与服务器AP参数的端口一致。
服务器如果长时间没有进行通讯,那么一段时间后(可设置,具体参考AT+CIPSTO指令说明)将会断开通讯如下图。这时候需要重新输入连接指令AT+CIPSTART=”TCP”,”192.168.1.3”,8086。
开启透传模式并发送数据
开启透传步骤:
8266应该设置为客户端模式,再设置单连接,再连接TCP再设置透传,
设置为客户端模式(其实设置为STA/AP模式也可以)
重启
AT查看
连接AP
设置单连接
连接TCP server
查看IP
设置透传
输入AT+CIPSEND之后输入的任何信息都会直接传输到TCP server
输入连续的+++结束透传
输入AT+CIPCLOSE断开TCP连接
AT+CIPMODE=1
响应: OK
说明:开启透传模式。
AT+CIPSEND
响应: OK
说明:执行此指令后,ESP8266可以发送数据至服务器
取消透传
输入:+++
取消发送新行,点击发送,就可以关闭透传
AT+STA
将8266配置为STA模式,让它连接手机热点,两者之间互传数据
AT+CWMODE=3
AT+RST
AT+CWJAP=”509509”,”ldzldz509” ————连接到WiFi
AT+CIPSTART=”TCP”,”10.71.226.120”,8080 ————连接到服务器
AT+CIPSEND ————ESP8266发送数据至手机