打印
[牛人杂谈]

ESP8266使用详解

[复制链接]
1863|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
neeringstu|  楼主 | 2016-11-9 20:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用的这款

各引脚功能:来至厂家提供的资料

GPIO0 默认是工作模式(不接线)。如果接了低电平就是下载模式(给模块刷固件!!),所以可以不接线,当然也可以接高电平。
反正一开始连接的时候CH_PD必须为高电平。其余的可以不接。
如果电脑的wifi上显示了你的wifi信号说明模块已经工作。
注意默认的波特率是115200!!!!!!设置好串口调试助手的波特率,再贴张图片吧防止亲们忘。

记得输入各种AT指令,勾选上“发送新行”些内部信息)然后输出READY!代表系统正
系统启动后,系统会输出一堆乱码(其实不是乱码,系统启动后输出一常
对于后面的操作--先提个醒,如果连接wifi出现连接不上的问题,可以发送AT+RESTORE 恢复出厂设置或刷固件
先看秦时明月;;;;;;终于做好了,android客服端软件
,(记得加权限,网络,和wifi。说给自己听的)

评分
参与人数 1威望 +3 收起 理由
lu50211 + 3
沙发
neeringstu|  楼主 | 2016-11-9 20:09 | 只看该作者
来谈谈EPS8266的AT指令
先说一下EPS8266模快的两(三)种工作模式:Station 模式,AP 模式和AP 兼 Station 模式;有玩过路由器的应该知道路由器除了正常使用(AP模式)外,还可以接收其他路由器的信号(Station 模式),然后再发出来(AP 兼 Station 模式)。这两(三)种工作模式各怎样用呢!
先说一下AP模式下的通信:就设置他的模式为AP模式(就相当于普通路由器)
AT+CWMODE=?    响应返回当前可支持哪些模式
AT+CWMODE?     响应当前处于哪种模式
AT+CWMODE=2   1-Station 模式,2-AP 模式,3-AP 兼 Station 模式
步骤1 发送AT+CWMODE=2设置为AP 模式

这种模式下模块发出无线wifi信号。用电脑连接它

步骤2 发送AT+RST  重启模块使AT+CWMODE=2模式生效

步骤3 发送AT+CIPMUX=1 启动多连接



为什么要启动多路连接模式,意思是允许多个客户端连接,当然模块最多允许5个客户端连接(每个客户端对应一个id号,0--4)。也是必须设定的,不然配置为服务器会出错

使用特权

评论回复
板凳
neeringstu|  楼主 | 2016-11-9 20:10 | 只看该作者
接着就是怎样与它通信。当然是网络通信,也就是TCP/UDP通信两种。{UDP--分为发送端和接收端,面向无连接的通信(速度快),只向指定的ip(每一台电脑都有自己的ip地址,向指定的ip地址发数据,数据就发送到了指定的电脑)端口(我把数据发送到电脑了,电脑中的哪个程序接收呢。不知道亲们知不知道,其实每一个网络软件都有自己的通信端口,像qq,酷狗音乐的下载端口等等。现在知道了吧,向指定的ip地址和指定的端口发数据,才能发送到指定的电脑的指定的程序上)不管你接没接收到,只管发}
{TCP--分为服务器和客户端,与udp不同的是双方建立正常的连接后,才能通信,每次通信都会检测连接正不正常,(通信可靠,速度比udp慢)}
模块作为服务器
步骤4 发送AT+CIPSERVER=1,8080开启服务器模式,端口号8080


打开电脑的网络调试助手(别忘了连接它的无线网)


对了远程主机地址为什么是192.168.4.1
你可以发送AT+CIFSR指令查看一下模块的自身ip地址


点击连接

使用特权

评论回复
地板
neeringstu|  楼主 | 2016-11-9 20:10 | 只看该作者



接着我用我的手机客户端再连接(手机连接上它的无线网)


接着就是发信息(客户端发给服务器)



接着就是发信息(服务器发给客户端)



使用特权

评论回复
5
neeringstu|  楼主 | 2016-11-9 20:11 | 只看该作者
去掉发送新行点击发送

客户端接收

如果往手机上发


模块作为客户端,PC作为服务器,最有意思的来了
模块作为客户端咱从头再来,
1,还是设置模块的工作模式为ap模式AT+CWMODE=2
2,复位一下AT+RST
3发送AT+CIPMUX=0 启动单连接,先弄单连接后弄多连接,多连接比较有意思,想知道就慢慢的往下看
4AT+CIPSTART="TCP","192.168.4.2",8080
TCP说明是tcp连接,如果写udp就是udp连接
192.168.4.2连接的ip地址,电脑的ip,端口号8080





使用特权

评论回复
6
neeringstu|  楼主 | 2016-11-9 20:44 | 只看该作者

接着就可以通信了
单路连接时发送指令为AT+CIPSEND=x , x为发送的字节数
(想起一个词,多退少补,,,,,,)


看多路连接(首先提醒一下一个模块可以做到四路连接)
1,还是设置模块的工作模式为ap模式AT+CWMODE=2
2,复位一下AT+RST
3发送AT+CIPMUX=1 启动多连接
4AT+CIPSTART=0,"TCP","192.168.4.2",8080
5,  AT+CIPSEND=0,20
6,去掉回车随便打些东西
7,发送


接着再发送
AT+CIPSTART=1,"TCP","192.168.4.2",8080
AT+CIPSTART=2,"TCP","192.168.4.2",8080
AT+CIPSTART=3,"TCP","192.168.4.2",8080
AT+CIPSTART=4,"TCP","192.168.4.2",8080
都连接上了!!!!!!



使用特权

评论回复
7
neeringstu|  楼主 | 2016-11-9 20:45 | 只看该作者
5,  AT+CIPSEND=1,20
6,去掉回车随便打些东西
7,发送

5,  AT+CIPSEND=2,20
6,去掉回车随便打些东西
7,发送

5,  AT+CIPSEND=3,20
6,去掉回车随便打些东西
7,发送
5,  AT+CIPSEND=4,20
6,去掉回车随便打些东西
7,发送


再用网络调试助手给模块发信息试一试

好了AP模式就讲这么多,该Station 模式了
Station模式与AP模式不同在于,Station模式需要让模块连接上家里的路由器的wifi。其余的都一样吧!
就让模块在Station模式下做服务器,然后与电脑通信(要在一个wifi下,电脑和模块连接同一个wifi信号)
1,发送AT+CWMODE=1设置为Station模式
2,AT+RST  重启生效
3,连接家里的路由AT+CWJAP="TP-LINK_A52","1234567890"


对了发送AT+CWLAP可以查询周围的wifi信号
对了发送AT+CWJAP可以看一看wifi是否真的连接上

使用特权

评论回复
8
neeringstu|  楼主 | 2016-11-9 20:47 | 只看该作者
4AT+CIPMUX=1  启动多连接
5AT+CIPSERVER=1,8080  打开服务器端口为8080
6AT+CIFSR  看一下你模块现在分得的ip是多少,因为只要模块连网就会重新分配ip地址。这也是网络助手里面远程主机栏要填写的ip地址



通信啥的就不多说了。
用模块做客户端
1 连接路由器AT+CWJAP="TP-LINK_A52","1234567890"
2  AT+CIPMUX=0 单连接
3  AT+CIPSTART="TCP","192.168.1.101",8080
后面就是发送数据,如果出现一直连接不上关闭电脑防火墙



多连接就不演示了,
AT+CIPSTART=0,"TCP","192.168.1.101",8080或
AT+CIPSTART=1,"TCP","192.168.1.101",8080或
AT+CIPSTART=2,"TCP","192.168.1.101",8080或
AT+CIPSTART=3,"TCP","192.168.1.101",8080或
AT+CIPSTART=4,"TCP","192.168.1.101",8080或
发送数据
AT+CIPSEND=0,20或
AT+CIPSEND=1,20或
AT+CIPSEND=2,20或
AT+CIPSEND=3,20或
AT+CIPSEND=4,20

使用特权

评论回复
9
g169321| | 2016-11-9 21:25 | 只看该作者
不错,通信速度最大是多少KB?

使用特权

评论回复
10
dongnanxibei| | 2016-11-9 23:34 | 只看该作者
够详细的,如果波特率不对,确实会出现乱码跑太快也不行,太快容易出错,一般用9600或者115200就OK。

使用特权

评论回复
11
稳稳の幸福| | 2016-11-9 23:42 | 只看该作者
文中介绍的,这个方法是出厂时候就内置了一个固件了吧,直接通过这个固件提供的接口操作串口就行了

使用特权

评论回复
12
tt朝花夕拾| | 2017-3-9 14:56 | 只看该作者
楼主,请问;
AT+CIPSERVER=1,8888
22 AT+CIPSERVER=1,8888
11 no change
4 OK
我用esp8266 的芯片, 芯片上电后第一次发送 AT+CIPSERVER=1,8888 会提示ERROR;而再发送一次就返回OK了可能是什么原因么?

使用特权

评论回复
13
gejigeji521| | 2017-3-12 14:32 | 只看该作者
问一个问题啊。
就是AT指令连接到网络时间服务器后,怎么操作得到时间。
比如连接到time.windows.com的123端口后,接下来怎么弄。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

235

帖子

0

粉丝