【Arduino学习笔记】手把手教你使用ESP8266----②调试篇

上一篇讲了ESP8266模块的连接方法,这一篇写写模块连好后如何进行调试吧。

参考文档:《ESP8266新手入门调试指导(补全)》《Espressif AT指令集》

调试软件:有人串口网络调试助手

按照上一讲将8266模块与USB转TTL正确连接并确保模块工作正常后,在电脑的设备管理器可看到硬件信息,我这里显示为COM4(如图一),这时可打开串口调试助手(如图二)

【Arduino学习笔记】手把手教你使用ESP8266----②调试篇_第1张图片

【图一】

【Arduino学习笔记】手把手教你使用ESP8266----②调试篇_第2张图片

【图二】

根据自己硬件设备选择COM口号,勾选自动换行显示复选框,再点击“打开”按钮,如果正常运行此时“打开”按钮会变成红色的“关闭”按钮,此时说明模块运行正常,8266使用的是AT命令进行参数配置的,命令详细使用方法可查阅《Espressif AT指令集》,相关操作可参照《ESP8266新手入门调试指导(补全)》的内容。

为了后面讲解方便,这里把做客户端和做服务器端的操作在这里讲一下


一、客户端
这里先提前说明一下会用到的命令
重启模块命令:AT+RST
设置模块模式命令:AT+CWMODE= 

说明::1-Station模式,2-AP模式,3-AP兼Station模式,需重启后生效(AT+RST)
查看本模块的IP地址命令:AT+CIFSR  
注意:AP模式下无效!可能会造成死机现象!
服务器连接指令:AT+CIPSTART=2,"TCP","192.168.1.109",8080 
说明:1)单路连接时(+CIPMUX=0),指令为:AT+CIPSTART= ,,   
    2)多路连接时(+CIPMUX=1),指令为:AT+CIPSTART=,,, 
            响应:如果格式正确且连接成功,返回 OK,否则返回 ERROR  如果连接已经存在,返回 ALREAY CONNECT  说明::0-4,连接的id号  :字符串参数,表明连接类型,”TCP”-建立tcp连接,”UDP”-建立UDP连接 :字符串参数,远程服务器IP地址 :远程服务器端口号 。
信息发送命令:AT+CIPSEND=2,10
说明:1)单路连接时(+CIPMUX=0),指令为:AT+CIPSEND=   2)多路连接时(+CIPMUX=1) ,指令为: AT+CIPSEND= ,  响应:收到此命令后先换行返回”>”,然后开始接收串口数据  当数据长度满length时发送数据。  如果未建立连接或连接被断开,返回ERROR 如果数据发送成功,返回 SEND OK 。:需要用于传输连接的id号  :数字参数,表明发送数据的长度,最大长度为2048 。

下面我们来测试怎样通过模块当客户端,向服务器端发送信息。

打开串口网络调试助手,首先建立一个服务器监听(如图),协议类型选择“TCP Server”,确认本机地址是否正确,随便填写一个本地端口号,这里我们使用8080作为本地监听端口,确认无误后点击“开始监听”按钮。监听启动成功后,“开始监听”按钮会变成红色“断开”按钮,网络数据接收输入框下会显示连接对象下拉列表框。(如图)

【Arduino学习笔记】手把手教你使用ESP8266----②调试篇_第3张图片

【创建服务监听】

【Arduino学习笔记】手把手教你使用ESP8266----②调试篇_第4张图片

将上一节接好的电路插上电脑,8266模块会闪两下蓝灯,红灯常亮。确保串口设置正确,点击“打开”按钮(如图)。

【Arduino学习笔记】手把手教你使用ESP8266----②调试篇_第5张图片

输入AT+RST命令,查看模块是否运行正常。

【Arduino学习笔记】手把手教你使用ESP8266----②调试篇_第6张图片

输入AT+CIFSR命令,查看模块的IP地址。

【Arduino学习笔记】手把手教你使用ESP8266----②调试篇_第7张图片

输入AT+CWMODE?命令,查看当前模块启用的模式,如果模式不是3,可使用命令AT+CWMODE=3将模式设置为3。


使用命令AT+CIPMUX?查看当前连接模式,如果为0,请使用AT+CIPSTART="TCP","192.168.31.198",8080连接服务器,如果为1,则使用AT+CIPSTART=2,"TCP","192.168.31.198",8080连接服务器。连接成功后,串口数据接收会显示“Linked”字样,连接对象下拉框会会显示当前连接到服务器的客户端IP地址。

【Arduino学习笔记】手把手教你使用ESP8266----②调试篇_第8张图片

下面我们使用命令AT+CIPSEND=2,10向客户端发送字符,命令输入后会显示>符号,这时我们输入要发送的内容,可看到服务器端会显示接收到的内容(如图)。

【Arduino学习笔记】手把手教你使用ESP8266----②调试篇_第9张图片

至此,无线模块的客户端发送模式介绍就到这里。


二、服务器

补充这一篇中会用到的命令

开启多连接模式命令:AT+CIPMUX=  
说明::0-单路连接模式,1-多路连接模式

创建服务器命令:AT+CIPSERVER=[,
说明::0-关闭server模式,1-开启server模式 :端口号,缺省值为333。(1) AT+ CIPMUX=1时才能开启服务器;关闭server模式需要重启  (2)开启server后自动建立server监听,当有client接入会自动按顺序占用一个连接。

下面我们来测试怎样通过模块当服务器端,接收客户端发送过来的数据。

打开串口网络调试助手,连接无线模块。输入AT+RST命令重启模块,确保模块运行正常。

【Arduino学习笔记】手把手教你使用ESP8266----②调试篇_第10张图片

输入AT+CIFSR命令,查看模块的IP地址。


运行AT+CIPMUX=1设置连接模式。


运行AT+CIPSERVER=1,8080命令,开启服务器,并监听8080端口,返回“OK”说明服务启动正常。


下面我们来测试一下无线模块是否真的能够接受客户端发送的数据,在网络设置的协议类型选择“TCP Client”,本地IP地址填上无线模块的地址,可在上面查询IP地址命令中获取,端口选择之前无线模块设置的端口号,这里是8080,确认无误后点击“连接”按钮,这时网络数据接收对话框下会显示本机地址IP,在对话框中输入测试字符,可在串口数据接收窗口看到客户端发送过来的数据(如图)。

【Arduino学习笔记】手把手教你使用ESP8266----②调试篇_第11张图片

至此,8266模块的服务器使用方法也介绍完毕了,其它相关设置,大家可参照参考资料。在这里补充一下,8266当服务器的时候,客户端如果没有数据传输,隔一段时间会自动断开连接,可通过AT+CIPSTO=命令设置超时时间(说明:


这里说说在调试中遇到的几个小细节:

1、网络调试助手输入命令的时候一定要在命令后多打一个回车,不然命令无响应,这里折腾了老半天,起初愣是不知道怎么回事,后来才发现这个细节问题。

2、使用AT+CIPSERVER=1,启用模块的服务器模式的时候,请一定要先确保模块开启了多连接模式,即运行了AT+CIPMUX=1,否则命令会报错,这个也是之前没细看,折腾了老半天才搞定的,其它的设置参考那位哥们的新手入门调试指导就可以了~~

【Arduino学习笔记】手把手教你使用ESP8266----②调试篇_第12张图片


欢迎加入QQ群:254267969,共同交流学习~~~~

你可能感兴趣的:(Arduino)