ESP8266-02-接口调试篇(转载)

2015年04月13日 21:39:45 阅读数:45087

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

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

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

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

【图一】

【图二】

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

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


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

说明:<mode>: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= <type>,<addr>,<port>   
    2)多路连接时(+CIPMUX=1),指令为:AT+CIPSTART=<id>,<type>,<addr>,<port> 
            响应:如果格式正确且连接成功,返回 OK,否则返回 ERROR  如果连接已经存在,返回 ALREAY CONNECT  说明:<id>:0-4,连接的id号  <type>:字符串参数,表明连接类型,”TCP”-建立tcp连接,”UDP”-建立UDP连接 <addr>:字符串参数,远程服务器IP地址 <port>:远程服务器端口号 。
信息发送命令:AT+CIPSEND=2,10
说明:1)单路连接时(+CIPMUX=0),指令为:AT+CIPSEND=<length>   2)多路连接时(+CIPMUX=1) ,指令为: AT+CIPSEND= <id>,<length>  响应:收到此命令后先换行返回”>”,然后开始接收串口数据  当数据长度满length时发送数据。  如果未建立连接或连接被断开,返回ERROR 如果数据发送成功,返回 SEND OK 。<id>:需要用于传输连接的id号  <length>:数字参数,表明发送数据的长度,最大长度为2048 。

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

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

【创建服务监听】

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

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

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

输入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地址。

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

 

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

 

二、服务器

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

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

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

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

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

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

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

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

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

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

 

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

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

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

 

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

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值