ESP8266WiFi模块的使用以及arduino调试

WiFi模块ESP8266的使用以及arduino调试

一、WiFi模块调试

USB转TTL模块与ESP8266 WIFI模块的接线:

ESP8266WiFi模块的使用以及arduino调试_第1张图片
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,可能会因为供电不足而引起不断的重启,从而不停的复位。

二、AT指令的使用

在使用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,之后发送的所有内容全部当成是数据了!

但是这也存在一个问题,要是我后来又想发送命令了,但是却也当成是数据发送过去了。这可怎么办?

这就要退出透传模式了,发送数据"+++"就可以退出。注意:此时“+++”后面,不接“发送新行”!

三、WIFI模块的使用

ESP8266的一般使用顺序

这里的“一般”指的是: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:透传模式下,传输数据
+++:退出透传模式

1.Esp8266 做TCP Client

这里的效果:在电脑和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
2.Esp8266做可多连接的TCP Service

①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

你可能感兴趣的:(我的项目,arduino,wifi)