主要介绍:WIFI模块在PC上做为客户端、服务器,在STM32上做服务器的通讯。
1. 安信可公司物联网模块:
ESP8266系列Wi-Fi模块一共有01~14十多款模块
2.ESP-01S尺寸、管脚定义
3.ESP-01S和ESP-01区别
ESP8266-01简称ESP-01,
ESP8266-01S简称ESP-01S
3.1 外观区别:
- ESP8266-01S天线区域右下角只有一个指示灯,ESP8266-01天线区域右下角有两个指示灯。
- ESP8266-01S背面有引脚说明,ESP8266-01背面有没有引脚说明。
3.2 电路区别:
ESP8266-01S内部电路相对ESP8266-01做了优化,根据官方提供的模组选型表,我们可以知道:
- 指示灯的管脚,由ESP-01的TXD0变成了ESP-01S的GPIO2;
- ESP-01S模块的IO0、RST、EN管脚上增加了上拉电阻。
控制板WIFI接口:
ESP-01S的应用电路简化了,省掉了两个上拉电阻,ESP-01S是官方用来替换ESP-01的。
4.AT指令:
命令 | 描述 |
基本命令 | |
AT | 测试 AT 启动 |
AT+GMR | 查看版本信息 |
AT+CWMODE | 选择 WIFI 应用模式 |
AT+RST | 重启模块 |
客户端模式 | |
AT+CWLAP | 列出当前可用路由器接入点 |
AT+CWJAP | 加入接入点 |
AT+CWQAP | 退出接入点 |
AT+CIPSTART | 建立 TCP, 连接服务器 |
AT+CIPCLOSE | 关闭 TCP |
AT+CIFSR | 获取本地 IP 地址 |
AT+CIPMODE | 设置模块传输模式 |
AT+CIPSEND | 发送数据 |
服务器模式: | |
AT+ CWSAP | 查询和设置 AP(server) 模式下的WIFI名称、密码、加密方式 |
AT+ CWLIF | 查看已接入设备的 IP地址 |
AT+CIPMUX | 启动多连接 |
AT+CIPSERVER | 配置为服务器默认端口333 |
AT+CIPSTO | 设置服务器超时时间 |
AT+ CIPSTATUS | 获得连接状态 |
5.AT指令使用示例:
将WIFI模块用USB-TTL接入电脑,装上驱动,安装串口调试助手和网络调试助手,本过程使用野火多功能调试助手。
5.1 WIFI模块作为客户端(透传)
- 串口调试助手设置串口参数,见下图1
- AT :测试AT开发模式启动
- AT+GMR :查看固件版本信息
- AT+CWMODE=1:设置WIFI应用模式 1Station模式 2 AP模式 3 AP兼Station模式,AP指作为接入点,station指作为客户端站
- AT+RST:重启
- AT+CWLAP:列出可用的接入点
- AT+CWJAP="TP-LINK_6FFA","123456789":加入接入点
- AT+CIFSR :获取本机IP地址
- PC连接路由,网络调试助手使用电脑IP地址创建一服务器,IP设置见下图2;
- AT+CIPSTART="TCP","192.168.101.110",8080 :与服务器建立TCP连接
- AT+CIPMODE=1:设置透传模式(即可以一直发送,不然还得用AT+CIPSEND=4设置发送字节数;作为服务器模式时,不能用透传模式)
- AT+CIPSEND :开始透传,串口调试助手发送数据,网络调试助手发送数据
- 接收数据格式:串调:+IPD,n:xxxxxxxxxx 接收到 的数据 长度为 n 个字节 ,xxxxx 为数据;网调:[Tcp client 192.168.1.108 2872] 123,TCP模式,客户端IP地址,端口号,123是数据;
- 结束透传:有输入3个+号退出透传的方案,我没有实现,我直接断电模块,过几分钟可重新设置;
5.2 WIFI模块作为客户端(单次连接)
- AT+CWMODE=1 :设置WIFI应用模式 1Station模式 2 AP模式 3 AP兼Station模式,AP指作为接入点,station指作为客户端站
- AT+RST:重启
- AT+CWJAP="TP-LINK_6FFA","123456789":加入接入点
- PC连接路由,网络调试助手使用电脑IP地址创建一服务器,IP设置见上图2;
- AT+CIPSTART="TCP","192.168.101.110",8080 :与服务器建立TCP连接
- AT+CIPSEND=4 :串调发送四个字节数据,输入要发送的四个字节内容, 无需回车。若发送的字节数目超过了指令设定长度 n,则会响应 busy,并发送数据的前 n 个字节,完成后响应 SEND OK 。网调可任意发送过来。
5.3 WIFI模块作为server
- AT+CWMODE=2 :设置WIFI应用模式 1 Station模式 2 AP模式 3 AP兼Station模式,AP指作为接入点,station指作为客户端站
- AT+RST:重启
- AT+CWSAP? :查询显示AP模式下的参数,+CWSAP:"ESP_664843","123456789",11,3,4,0
- AT+CWSAP="ESP_664843","123456789",11,3 :修改接入点名称、密码和3是加密方式。11是通道号,修改了需要重启,未用到没深究。
<ecn> | 加密方式 | 0 | OPEN,设置成open,即使设置了密码也不起作用 |
1 | WEP | ||
2 | WPA_PSK | ||
3 | WPA2_PSK | ||
4 | WPA_WPA2_PSK |
- AT+CIPMUX=1:启动多连接
- AT+CIPSERVER=1:建立server,默认端口333,试验过,改不了。
- AT+CIPSTO=300:设置服务器超时时间0~28800,单位为s,超过时间会将客户端踢掉。
- AT+CIFSR :获取本机IP地址,以便设置网络助手,见下图1,2,分 AP模式 、 AP兼Station模式两种显示。
- 首先PC要连接到WIFI模块热点,PC上网络调试助手作为客户端连入AP,设置见下图3
- AT+CWLIF:查看已接入的设备,见下图4
- AT+CIPSEND=4:(命令报error,串调不能发送,网调可发送)
- 接收数据:串调可以从网调助手接收数据,网调助手不能接收串调数据。
6.STM32程序,暂时未成功啊
\n 是换行,英文是New line。
\r 是回车,英文是Carriage return。
\r 与 \n 合起来就是回车换行的意思,回车是将光标移到当前行的行首;换行是将光标移到当前行的下一行,但还是同一列,不会回到行首。
AT+CWSAP?
AT+CWSAP="ESP_664843","123456789",11,0,4,0
AT+CWSAP="ESP_664843","123456789",11,3
在AP服务器模式下,设置WIFI模块接入点名称,密码,11是通道号,不知道什么用,
| | | |
| | ||
| | ||
| | ||
| |
AP |
AT+CWMODE=2 |
AT+RST |
AT+CWSAP="ESP_664843","123456789",11,3 |
AT+CIPMUX=1 |
AT+CIPSERVER=1 |
7. 其它:
- 开发模式:AT指令控制和源代码API函数开发;
- 工作模式:STA+AP 、STA、AP模式;
- 模块分类:AT类(这种模块精简实用,只引出UART口)和IO类(除了引出UART还引出可用IO口);
- 工作条件:电压3.3V 接收电流70MA 发射瞬间电流240mA;
- I/O:9个标准IO和UART一个,9个中的三个IO口可做PWM输出;
- 每条指令后面要加回车才会执行,否者你输入什么它返回什么而不去执行此命令