ESP8266使用小结

来源:互联网 发布:华夏免费版数据库 编辑:程序博客网 时间:2024/06/06 20:14
使用esp8266模块第一步得连入wifi,建立一个局域网,这是通信的大前提

连入局域网有两种方式,

1是esp8266作为AP模式,让其他设备连进来
2是作为station模式,去连入已有的wifi

一:设置为ap模式:


0.AT+RST    //复位

1.AT+CWMODE=2 or AT+CWMODE=3
//2是AP模式,3是AP兼容station模式

2.AT+RST    //复位使之生效

//模块配置路由器名称和密码
3.AT+CWSAP=<ssid>,<pwd>,<chl>,<ecn>
<ssid>字符串参数,接入点名称
<pwd>字符串参数,密码最长为64字节ascii
<chl>通道号
<ecn>加密方式
0    open
1    wep
2    wpa_psk
3    wpa2_psk
4    wpa_wpa2_psk

只要简单的4个步骤就可以创建一个路由器,当有设备连接进来时,可通过命令
AT+CWLIF
查看已接入设备的IP,如果想查看自己的IP可通过命令
AT+CIFSR
来查看。

如果有多个设备要连接,则得要设置位多连接模式
(设置为服务器模式要开启多路连接模式)
AT+CIPMUX=<mode>
0    单路连接模式
1    多路连接模式

设置超时断开(服务器超时时间)
AT+CIOSTO=<time>
说明:<time>:服务器超时时间,0~2880,单位为s
如果在time时间内无任何动作,则会断开连接




二:设置位station模式:


0.AT+RST    //复位重启模块

1.AT+CWMODE=1 or AT+CWMODE=3    //设置为statin模式

2.AT+CWLAP        //查看当前无线路由器列表,可省略

3.AT+CWJAP=<ssid>,< pwd >        //加入当前无线网络
说明:<ssid>:字符串参数,接入点名称
<pwd>:字符串参数,密码,最长64字节ASCII

4.AT+CIFSR    //查看有没有正确连上,如果有,返回本模块IP




当正确连入局域网后,可以创建服务端和客户端来通信


一:服务端(SERVER)


0.AT+CIPMUX=1        //开启多路连接方式

1.AT+CIPSERVER=<mode>[,<port>]
说明:<mode>:0-关闭server模式,1-开启server模式
      <port>:端口号,缺省值为333

AT+ CIPMUX=1时才能开启服务器;关闭server模式需要重启

2.AT+CIPSTO=2880        //设置服务器超时时间

3.AT+CIPSTATUS            //查看当前客户端连接
指令:AT+CIPSTATUS
响应:STATUS:<stat>
+ CIPSTATUS:<id>,<type>,<addr>,<port>,<tetype>
     
      OK
说明:<id>:连接的id号0-4
<type>:字符串参数,类型TCP或UDP
<addr>:字符串参数,IP地址
<port>:端口号
<tetype>: 0-本模块做client的连接,1-本模块做server的连接



4.向某个已连接客户端发送信息

1)单路连接时(+CIPMUX=0),指令为:
AT+CIPSEND=<length>

2)多路连接时(+CIPMUX=1) ,指令为:
AT+CIPSEND= <id>,<length>

响应:收到此命令后先换行返回”>”,然后开始接收串口数据
当数据长度满length时发送数据。
如果未建立连接或连接被断开,返回ERROR
如果数据发送成功,返回 SEND OK
说明:<id>:需要用于传输连接的id号
<length>:数字参数,表明发送数据的长度,最大长度为2048


二:客户端(CLIENT)

0.AT+CIPSERVER=0    //关闭服务端模式,开启客户端模式

1.AT+CIPMUX=1    //开启多连接模式,本模块可以连接多个服务端

2.建立连接
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>:远程服务器端口号


3.向服务器发送数据

1)单路连接时(+CIPMUX=0),指令为:AT+CIPSEND=<length>

2)多路连接时(+CIPMUX=1) ,指令为: AT+CIPSEND= <id>,<length>

响应:收到此命令后先换行返回”>”,然后开始接收串口数据
当数据长度满length时发送数据。
如果未建立连接或连接被断开,返回ERROR
如果数据发送成功,返回 SEND OK
说明:<id>:需要用于传输连接的id号
<length>:数字参数,表明发送数据的长度,最大长度为2048
原创粉丝点击