使用AT模式控制ESP8266模块与设备进行通信

想要测试网络有没有接通,最方便的方式就是使用ping测试,ESP8266提供了AT+PING=<IP>的指令,我们可以使用AT+PING=”192.168.0.1″指令ping一下路由器,当然,如果你的路由器ip和我们的不一样要修改IP参数。当然你也可以选择ping外网域名,比如AT+PING=”www.baidu.com”。

可以使用AT+CIPDNS_CUR?查看DNS地址,这个DNS地址是临时获取到的地址,也可以使用AT+CIPDNS_DEF=1,”DNS1″,”DNS2″设置指定dns地址并保存到flash中,其实DNS1和DNS2应指定需要的dns服务器的ip地址。

现在我们可以使用安可信提供的TCP&UDP测试工具尝试使用ESP8266与电脑进行通信。

ESP8266支持两种传输模式,可以使用AT+CIPMODE=<mode>进行设置,这两种模式分别是:

0:普通传输模式

1:透传模式,仅支持TCP单连接和UDP固定通信对端的情况

因为透传模式信息直接发送,操作比较简单,我们先使用透传模式测试通信。

使用AT+CIPMODE=1设置传输模式为透传模式。注意上面的指令仅仅是暂时使用透传模式,不会将设置保存到flash,要使用AT+SAVETRANSLINK命令保存透传模式到flash。

打开TCP&UDP测试工具,创建服务器,然后启用服务器,有防火墙的应该选择允许,记录下IP地址和端口号。

要进行通信,首先要建立连接,以TCP连接为例,首先建立ESP8266到电脑的TCP连接,使用AT+CIPSTART指令建立连接。比如:AT+CIPSTART=”TCP”,”192.168.0.131″,3456,就是建立到192.168.0.131:3456端口的连接。成功后可以接收到CONNECT的提示。同时可以在TCP&UDP测试工具中看到已经建立的连接。

然后使用AT+CIPSEND指令发送数据。在透传模式中使用AT+CIPSEND后进入发送模式,ESP8266每接受2048字节数据或20ms后就会将数据发送的服务器。

要停止通信回到指令模式需要单独发送一包+++,注意在发送+++的时候要取消勾选发送新行,不然ESP8266会将其当作要发送的内容。要继续使用命令需要等待至少1秒。

现在我们就已经可以通过TCP与其他设备进行通信了。