esp8266是乐鑫推出的价格比较便宜且集成MCU的WIFI芯片,但是大家在实际开发过程遇到了许多问题,本文就以本人使用8266的过程来给大家演示。 一.配置wifi模式 1.Station模式 :station是AP client模式,无线网卡作为接受点的模式(接受) 2.AP模式 :AP是基站的意思,就是发射台的意思,无线路由器(发送) 3.AP兼Station模式 用:AT+CWMODE=x 来配置(x = 1,2,3) 如:AT+CWMODE=2 或者: unsigned char LYMS[13]={0x41,0x54,0x2B,0x43,0x57,0x4D,0x4F,0x44,0x45,0x3D,0x32,0x0D,0x0A}; (对应的ASCII码) 响应:OK --------------------------------------------------------------------------- 二.设置AP模式下的参数 设置指令 :AT+ CWSAP= <ssid>,<pwd>,<chl>, <ecn> 指令只有在 AP模式开启后有效
<ssid>字符串参数,接入点名称(路由器发送的无线信号的名字) <pwd>字符串参数,密码最长 64 字节ASCII <chl>通道号
< ecn > 0 OPEN ;开放不加密
1 WEP ;加密
2 WPA_PSK
3 WPA2_PSK
4 WPA_WPA2_PSK (需做进一步了解) 如:AT+CWSAP="ESP8266","0123456789",11,0 或者
unsigned char SZLY[38]={0x41,0x54,0x2B,0x43,0x57, 0x53,0x41,0x50,0x3D,0x22,0x45,0x53,0x50,
0x38,0x32,0x36,0x36,0x22,0x2C,0x22,0x30,0x31,0x32,0x33,0x34,0x35,
0x36,0x37,0x38,0x39,0x22,0x2C,0x31,0x31,0x2C,0x33,0x0D,0x0A}; 响应:OK ERROR 1.ESP8266为搜索到的wifi名字 --------------------------------------------------------------------------- 三.重新启动 AT+RST unsigned char RST[8]={0x41,0x54,0x2B,0x52,0x53,0x54,0x0D,0x0A}; 响应:OK 注意:一定要等到返回 ready(建议单检测ready) --------------------------------------------------------------------------- 四.启动多连接 AT+CIPMUX=0;单路连接 AT+CIPMUX=1;多路连接 响应
如果格式正确且连接成功,返回
OK
否则返回
ERROR 如:AT+CIPMUX=1
unsigned char SZDLJ[13]={0x41,0x54,0x2B,0x43,0x49,0x50,0x4D,0x55,0x58,0x3D,0x31,0x0D,0x0A}; 如果连接已经存在,返回
ALREAY CONNECT
--------------------------------------------------------------------------- 五.配置为服务器 AT+ CIPSERVER=<mode>[,<port>] 参数说明
<mode>0 关闭 server模式
1 开启 server模式
<port>端口号,缺省值为 333 响应
OK
关闭 server需要重启 说明
开启 server后自动建立 server 监听
当有 client接入会自动按顺序占用一个连接
AT+ CIPMUX=1 时才能开启服务器
如:AT+CIPSERVER=1,5000 开启TCP服务端口 unsigned char KQFU[21]={0x41,0x54,0x2B,0x43,0x49,0x50,0x53,0x45, 0x52,0x56,0x45,0x52,0x3D,0x31,0x2C,0x35,0x30,0x30,0x30,0x0D,0x0A}; 注意:此时软件就可以进行连接了,连接成功返回 Link,断开返回:Unlink --------------------------------------------------------------------------- 六.发送数据 多路连接时 (+CIPMUX=1) AT+CIPSEND=<id>,<length> <id>需要用于传输连接的 id号 <length>数字参数,表明发送数据的长度,最大长度为2048 如: AT+CIPSEND= 发送的数据 unsigned char FSSJ[11]={0x41,0x54,0x2B,0x43,0x49,0x50,0x53,0x45,0x4E,0x44,0x3D}; --------------------------------------------------------------------------- 七.列出当前可用 AP (检测附近家庭wifi) AT+CWLAP 列出当前可用 AP
执行指令
AT+CWLAP
响应
终端返回 AP列表
+ CWLAP: <ecn>,<ssid>,<rssi>
OK
ERROR
参数说明
< ecn >0 OPEN
1 WEP
2 WPA_PSK
3 WPA2_PSK
4 WPA_WPA2_PSK
<ssid>字符串参数,接入点名称
<rssi>信号强度 如:AT+CWLAP 返回:
busy p...
busy p...
busy p... busy p... busy p...
+CWLAP4,"FAST_666",-84,"28:2c:b2:29:40:fe",1)
+CWLAP4,"zhangjie1",-84,"14:75:90:79:75:77",6)
+CWLAP2,"Tenda_3E6650",-59,"c8:3a:35:3e:66:50",11)
+CWLAP4,"Demon999",-80,"50:bd:5f:15:ed:29",11)
+CWLAP4,"FAST_666666",-84,"e4:d3:32:a9:87:06",11) OK --------------------------------------------------------------------------- 八.加入 AP (连接家庭wifi) 查询命令 AT+ CWJAP? 响应 返回当前选择的AP+ CWJAP:<ssid> OK
设置指令 AT+ CWJAP =<ssid>,< pwd > 响应
OK
ERROR
参数说明
<ssid>字符串参数,接入点名称
<pwd>字符串参数,密码最长 64 字节ASCII 如: AT+CWJAP="Tenda_3E6650","12345678"
busy p... busy p... busy p... busy p... OK
AT+CWJAP="CPJ","123456asd"
busy p... busy p... busy p... busy p... OK
--------------------------------------------------------------------------- 九.TCP/UDP以及本身IP的设置在自身固件中设置 ①.AT指令连接 5.2.2 AT+CIPSTART 建立 TCP 连接或注册 UDP 端口号
AT+CIPSTART 建立 TCP连接或注册 UDP 端口号
测试指令
AT+CIPSTART=?
响应
1) 设置 AT+CIPMUX=0
+CIPSTART<type>取值列表),(<IP address>范
围),(<port>范围)
+CIPSTART<type>取值列表),(<domain name>范
围),(<port>范围)
OK
2) 设置 AT+CIPMUX=1
+CIPSTARTid),(<type>取值列表),(<IP address>范
围),(<port>范围)
+CIPSTART: (id), (<type>取值列表),(<domain name>范
围),(<port>范围)
参数说明
见设置命令
设置命令
1)单路连接
(+CIPMUX=0)
AT+CIPSTART=
<type>,<addr>,<port>
1)多路连接
(+CIPMUX=1)
AT+CIPSTART=
<id><type>,<addr>,
响应
如果格式正确且连接成功,返回
OK
否则返回
ERROR
如果连接已经存在,返回
ALREAY CONNECT
参数说明
<id> 0-4 连接的 id 号 ② 知识点补充:无线AP模式 什么是无线AP : 无线AP,即Access Point,也就是无线接入点。简单来说无线AP相当于一个无线集线器(HUB),它主要是提供无线工作站对有线局域网和有线局域网对无线工作站的访问,在访问接入点覆盖范围内的无线工作站可以通过它进行相互通信。通俗的讲,无线AP是无线网和有线网之间沟通的桥梁。由于无线AP的覆盖范围是一个向外扩散的圆形区域,因此,应当尽量把无线AP放置在无线网络的中心位置,而且各无线客户端与无线AP的直线距离最好不要超过太长,以避免因通讯信号衰减过多而导致通信失败。但无线AP不具备路由功能,也就是说它是不能带用户上网的。 目前的无线AP可分为两类:单纯型AP和扩展型AP。 单纯型AP由于缺少了路由功能,相当于无线交换机,仅仅是提供一个无线信号发射的功能。它的工作原理是将网络信号通过双绞线传送过来,经过无线AP的编译,将电信号转换成为无线电讯号发送出来,形成无线网络的覆盖。根据不同的功率,网络覆盖程度也是不同的,一般无线AP的最大覆盖距离可达400米。 扩展型AP就是常说的无线路由器。无线路由器,就是带有无线覆盖功能的路由器,它主要应用于用户上网和无线覆盖。通过路由功能,可以实现家庭无线网络中的Internet连接共享,也能实现ADSL和小区宽带的无线共享接入 。
刷固件时接线:
8266模块 USB转TTL
VCC 3.3V
GND GND
RX TX
TX RX
CH_PD 3.3V
GPIO0 GND
|