您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > ESP8266+Arduino UNO新手调试指南
ESP8266模块使用方法准备工作-硬件接线.........................................................................................................................1准备工作-软串口测试.....................................................................................................................2AP模式下做为tcpserver.............................................................................................................4Station+AP模式下做为tcpclient...........................................................................................9Station模式下做为tcpclient...............................................................................................13其他模式.........................................................................................................................................14ESP8266常用AT指令..................................................................................................................14准备工作-硬件接线硬件:Wifi模块ESP8266、ArduinoUNO;软件工具:串口调试工具、USR-TCP232-Test硬件说明:Wifi模块ESP8266:实物图接口说明引脚说明:引脚名接线说明与ArduinoUNO相连的接线图UTXDUTXD接单片机的RX3URXDURXD接单片机的TX2CH_PO接3.3V,用来选择AT指令模式;3.3VVCCVCC接3.3V3.3V,千万不要接成5vGND接地GND说明:其他引脚悬空即可接线示意图如下:实物图:准备工作-软串口测试由于ArduinoUNO只有一个串口,为了方便测试,用2,3引脚做一个软串口,并将该软串口与wifi模块的串口连接。在测试wifi模块之前,先测试软串口是否正常工作。测试时将引脚3与0短接。#includeSoftwareSerial.hSoftwareSerialmySerial(3,2);//RX,TXvoidsetup(){Serial.begin(9600);while(!Serial){;}Serial.println(hardwareserial!);mySerial.begin(9600);mySerial.println(softwareseria);}voidloop(){if(mySerial.available())Serial.write(mySerial.read());if(Serial.available())mySerial.write(Serial.read());}软串口测试完成后,完成硬件连接,打开串口调试工具,上电后上电后,蓝色灯微弱闪烁后熄灭,红灯长亮,打开串口工具,出现如下图:如果复位出现乱码,改下波特率即可。(注意:使用串口调试工具时要勾选选项)当然Arduino内置的串口调试工具也可以,但是要记得选择【BothNL&CR】,如下图:软硬串口测试这里使用串口调试工具。还有一种选择是直接使用USR-TCP232-Test中的串口调试工具。ESP8266可以配置成station(即client模式)、AP(即wifi热点模式)、station+AP三种模式,就是说模块可以当成一个设备(client)连接局域网内的路由,也可以设置成是一个路由(sever),也可以既作为局域网里面的client同时又是其他client的sever。同时该模块支持tcp传输,既可以配置为tcpserver也可以配置为tcpclient。下面分别来介绍一下:AP模式下做为tcpserver0.1发送复位命令:AT+RST(执行指令)指令:AT+RST响应:OK现象如下:注意:复位需要时间,需要稍等片刻,等ready出现后再进行下一步操作。测试时发现,有时候复位已经结束,但是ready字符并没有出现,此时可发送一条指令测试一下。0.2发送查询模块传输模式:AT+CIPMODE?查询模块传输模式返回:1透传,0不透传配置命令需要在非透传模式下1查看版本号2发送查询工作模式命令:AT+CWMODE?响应:+CWMODE:3OK说明:工作模式1-Station模式,2-AP模式,3-AP兼Station模式3发送设置工作模式命令:AT+CWMODE=2(设置指令)指令:AT+CWMODE=mode说明:mode:1-Station模式,2-AP模式,3-AP兼Station模式响应:OK特别提醒:很多资料都说设置了工作模式,需重启后生效(AT+RST),但是在测试过程中发现一旦重启,模块就回到默认工作模式3了,所以我在测试过程中没有重启。4发送查询工作模式命令:AT+CWMODE?响应:+CWMODE:2OK5发送命令:AT+CWSAP=ESP8266,0123456789,11,0指令:AT+CWSAP=ssid,pwd,chl,ecn说明:指令只有在AP模式开启后有效ssid:字符串参数,接入点名称pwd:字符串参数,密码最长64字节,ASCIIchl:通道号ecn:0-OPEN,1-WEP,2-WPA_PSK,3-WPA2_PSK,4-WPA_WPA2_PSK响应:OK设置完成后,就可以通过手机或者电脑连接到ESP8266上了。连接完成后如下:6发送模块IP地址命令:AT+AT+CIFSR7发送查看接入的客户端IP命令:AT+CWLIF响应:已经连接到ap的客户端ip地址8发送查询连接模式命令:AT+CIPMUX?说明:默认是单连接,如果作为server必须开启多连接模式9发送开启多连接模式命令:AT+CIPMUX=1响应:OK10发送查询连接模式命令:AT+CIPMUX?11发送开启服务器模式命令:AT+CIPSERVER=1,8888(设置指令)指令:AT+CIPSERVER=mode[,port]说明:mode:0-关闭server模式,1-开启server模式port:端口号,缺省值为333响应:OK说明:(1)AT+CIPMUX=1时才能开启服务器;关闭server模式需要重启(2)开启server后自动建立server监听,当有client接入会自动按顺序占用一个连接。11.1可选设置服务器超时时间发送命令AT+CIPSTO=2880(设置指令)指令:AT+CIPSTO=time说明:time:服务器超时时间,0~2880,单位为s响应:OK12设置完成后。关闭串口调试工具,然后打开USR-TCP232-Test工具,设置连接。同样不要忘记先配置一下串口数据发送,如下:网络连接:注意:测试的时候如果发现连接不上,可以更换端口试试。如果连接不上常见原因是网络断了,重新连接一下即可。模块做server时,默认的ip地址为:192.168.4.113发送查询连接信息命令:AT+CIPSTATUS说明:返回当前模块的连接状态和连接参数STATUS:stat+CIPSTATUS:id,type,addr,port,tetypeOK参数说明:id连接的id号0-4type字符串参数,类型TCP或UDPaddr字符串参数,IP地址port端口号tetype0:本模块做client的连接1:本模块做server的连接14发送命令AT+CIPSEND=0,10(设置指令)(通过上一条指令AT+CIPSTATUS得知ID=0)15发送数据16总结命令序列:AT+RSTAT+CIPMODE?AT+CIPMODE=0AT+GMRAT+CWMODE?AT+CWMODE=2AT+CWMODE?AT+CWSAP=ESP8266,0123456789,11,0AT+CWLIFAT+CIPMUX?AT+CIPMUX=1AT+CIPMUX?AT+CIPSERVER=1,8888AT+CIPSTATUSAT+CIPSEND=0,100123456789Station+AP模式下做为tcpclient配置过程:(1)AT+RST//复位(2)AT+CWMODE?//查询工作模式,如果不是3则执行下面指令(3)AT+CWMODE=3//设置为station+ap兼容模式//注意:如果重启,重启之后模式也会自动变成3,默认是3模式(4)AT+CWLAP//查看可以网络前面几步的结果如下:(5)AT+CWJAP=lilywang-2.4G,密码//连接自己要连接的网络,前面是SSID,后面是密码,具体AT指令可以参考官方的AT集,测试时发现一个很奇怪的问题,这条指令会导致模块复位。注意:有可能会出现假连接的情况,明明没有连接成功,也显示连接成功,会导致后面建立连接时失败,如果发现后面创建连接失败,可重复该命令,保证连接成功。(6)AT+CIFSR//返回模块的IP地址说明已经正确连接到路由器(7)AT+CIPMUX=1//打开多连接否则会报错Linktyperror(8)AT+CIPSERVER=0//设置为tcp客户端模式,即关闭server模式,注意此处一定要注意,如果该步骤没有成功则连接时会出现错误:注意:很多资料都说需要重启,但是不重启发现也可以,如果配置中发现有问题可以试下重启。然后,在USR-TCP232-Test工具中打开监听,首先获取pc机或者笔记本的ip和端口号,查看方法:开始-运行-cmd打开命令行工具,输入命令:ipconfig打开pc端的监听,如下:(9)AT+CIPSTART=0,TCP,192.168.1.11,9999,建立连接id=0,tcp连接,连接服务器地址192.168.1.11,端口号为9999,执行成功如下:如果连接已经成功,重复连接,会出现如下结果:注意:如果连接不成功,一般出现以下错误此时,注意重新执行AT+CIPSERVER=0命令即可(10)查看已经创建的连接信息,发送指令AT+CIPSTATUS,结果如下:说明模块已经以客户端的身份与192.168.1.11通过端口9999建立了tcp连接,连接号id=0。(11)发送数据AT+CIPSEND=0,10//发送10个字符给服务器,如果响应为,则代表连接成功,发送数据即可。0123456789//要发送的数据注意:有时候,发送数据指令会发生错误,如:出现该错误的原因一般是因为发送数据时的id和建立连接时的id不匹配。此时,执行查询连接信息指令:AT+CIPSTATUS,查看连接id,重新发送即可。正确的结果如下:(12)总结一下指令序列:AT+RSTAT+CWMODE?AT+CWLAPAT+CWJAP=lilywang-2.4G,8505251234AT+CIFSRAT+CIPMUX=1AT+CIPSERVER=0AT+CIPSTART=0,TCP,192.168.1.11,9999AT+CIPSTATUSAT+CIPSEND=0,1001234567890Statio
本文标题:ESP8266+Arduino UNO新手调试指南
链接地址:https://www.777doc.com/doc-1912034 .html