USB转TTL模块与ESP8266 WIFI模块的接线:
RXD、TXD、GND、VCC,分别和USB转TTL模块的TXD、RXD、GND、VCC相连接。
需要注意两点:
1、ESP8266的RXD(数据的接收端)需要连接USB转TTL模块的TXD,TXD(数据的发送端)需要连接USB转TTL模块的RXD,这是基本的;
2、关于VCC的选取,在USB转TTL模块上有3.3V和5V两个引脚可以作为VCC,但是一般选取5V作为VCC。如果选取3.3V,可能会因为供电不足而引起不断的重启,从而不停的复位。
在使用USB转TTL模块与电脑连接之后,就可以使用串口调试助手进行WIFI模块的调试了。AT指令不区分大小写,均以回车、换行结尾。下面介绍常用的AT指令:
指令名 | 含义 |
---|---|
ATE0 | 关闭回显。程序初始化AT部分首先关闭回显。 |
ATE0 | 关闭回显。程序初始化AT部分首先关闭回显。 |
ATE1 | 打开回显。使用超级终端测试命令时打开。 |
AT+CGMI | 得到厂商信息 |
AT+CGMR | 得到版本号 |
AT+CGSN | 得到序列号(IMEI) |
AT+CIMI | 得到手机IMSI号码 |
AT+CSCS | 获取、设置当前字符集。可设置为GSM或UCS2 |
AT+CBC | 获取电量 |
AT+CCLK | 获取设置手机时钟 |
AT+CNUM | 机身号码。分为线路一和线路二 |
AT+CSQ | 当前信号 |
AT+COPS | 网络营运商 |
AT+CSCA | 短信中心号码 |
AT+CPMS | 选择短信储存地点。可选择ME(SIM卡)和MT(机身) |
AT+CMGL | 列出指定状态的短信息的PDU代码 |
AT+CMGR | 列出指定序号的短信息PDU代码 |
AT+CMGS | 发送短信 |
AT+CMGD | 删除指定的短信 |
AT+CMGF | 短信格式。分为Text模式和PDU模式 |
AT+CNMI | 设置新短消息通知电脑端 |
AT+CSCA | 短信中心 |
AT+IPR? | 显示串口波特率 |
AT+IPR=19200 | 更改串口波特率为19200 |
AT&W | 保存设置 |
1、ESP8266的应用模式:ESP266支撑单AP模式、单STA模式和混合模式。简单的来说就是:
AP:可以将ESP8266作为热点,可以让其他的设备连接上它;
STA:可以连接上当前环境下的WIFI热点。
2、什么是透传模式?
透传就是指不需要关心wifi协议是如何实现的。所需要做的就是A通过串口发数据,B通过串口收数据,整个过程中A串口和B串口就像是用导线直接连接起来了一样。则对于开发人员来看,就是完全透明的。
更简单地理解就是:
如果不开启透传模式,我们怎么发送数据呢?在每次发送数据前都必须先发送指令AT+CIPSEND=,例如:
AT+CIPSEND=4
OK
> //在 > 后面输入要上传的数据
但是一旦开启了透传模式,我们就不需要在每次发送数据前都发送指令AT+CIPSEND=了,只需要发送一次AT+CIPSEND,之后发送的所有内容全部当成是数据了!
但是这也存在一个问题,要是我后来又想发送命令了,但是却也当成是数据发送过去了。这可怎么办?
这就要退出透传模式了,发送数据"+++"就可以退出。注意:此时“+++”后面,不接“发送新行”!
这里的“一般”指的是:ESP8266连接当前环境的热点,与服务器建立TCP连接,传输数据。
AT+CWMODE=1:设置工作模式(STA模式)
AT+RST:模块重启(生效工作模式)
AT+CWJAP=“111”,“11111111”:连接当前环境的WIFI热点(热点名,密码)
AT+CIPMUX=0:设置单路连接模式
AT+CIPSTART=“TCP”,“xxx.xxx.xxx.xxx”,xxxx:建立TCP连接
AT+CIPMODE=1:开启透传模式
AT+CIPSEND:透传模式下,传输数据
+++:退出透传模式
这里的效果:在电脑和Esp8266模块在连接到同一个WiFi下,电脑通过网络的调试助手发送数据,然后我们的串口发送数据,电脑的调试助手接受数据
①设置WiFi模式
AT+CWMODE=3
反应:OK
②连接到一个WiFi
AT+CWJAP="SSID","password" //这里的SSID就是WiFi名称,password就是WiFi密码
反应:OK
③这里查询Esp8266的IP地址和MAC地址
AT+CIFSR
反应:对应的IP,和MAC地址
④Esp8266连接这个TCP Service
AT+CIPSTART="TCP","(对应的TCP Service地址)",(对应端口)
示例:我这里是 AT+CIPSTART="TCP","192.168.43.113",8080
反应:OK
现在电脑通过网络调试助手就可以直接发送数据,然后电脑上的串口助手就可以接收到相应的数据
⑤Esp8266发送数据:
AT+CIPSEND=(要发送的字节长度)
示例:AT+CIPSEND=4
响应:SEND OK
⑤Esp8266发送数据:
AT+CIPSEND=(要发送的字节长度)
示例:AT+CIPSEND=4
响应:SEND OK
①AT+CWMODE=3
反应:OK
②使能可以被多连接
AT+CIPMUX=1
反应:OK
③连接到一个WiFi
AT+CWJAP="SSID","password"
④建立TCP Service
AT+CIPSERVER=1 //默认的端口333
⑤Esp8266发送数据
AT+CIPSEND=0,4 //每个连接进来的TCPClient都会有一个ID,默认从0开始增加
//第一个参数指明第几个Client(客户端),第二个参数指明发送几个字节,这个用的4
//然后就可以发送数据了
反应:SEND OK