主要介绍:WIFI模块在PC上做为客户端、服务器,在STM32上做服务器的通讯。

1. 安信可公司物联网模块:

ESP8266系列Wi-Fi模块一共有01~14十多款模块

 

esp826612f 与sd连接引脚 esp8266-01s引脚_esp826612f 与sd连接引脚

 

 

2.ESP-01S尺寸、管脚定义

esp826612f 与sd连接引脚 esp8266-01s引脚_客户端_02

3.ESP-01S和ESP-01区别

ESP8266-01简称ESP-01,

ESP8266-01S简称ESP-01S

3.1 外观区别:

  • ESP8266-01S天线区域右下角只有一个指示灯,ESP8266-01天线区域右下角有两个指示灯。
  • ESP8266-01S背面有引脚说明,ESP8266-01背面有没有引脚说明。

esp826612f 与sd连接引脚 esp8266-01s引脚_客户端_03

3.2 电路区别:

ESP8266-01S内部电路相对ESP8266-01做了优化,根据官方提供的模组选型表,我们可以知道:

  • 指示灯的管脚,由ESP-01的TXD0变成了ESP-01S的GPIO2;
  • ESP-01S模块的IO0、RST、EN管脚上增加了上拉电阻。

esp826612f 与sd连接引脚 esp8266-01s引脚_esp826612f 与sd连接引脚_04

esp826612f 与sd连接引脚 esp8266-01s引脚_WiFi模块_05


 

控制板WIFI接口:

esp826612f 与sd连接引脚 esp8266-01s引脚_服务器_06

ESP-01S的应用电路简化了,省掉了两个上拉电阻,ESP-01S是官方用来替换ESP-01的。

4.AT指令:

 

esp826612f 与sd连接引脚 esp8266-01s引脚_ESP8266-01S_07

命令

   描述

基本命令

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. 串口调试助手设置串口参数,见下图1
  2. AT :测试AT开发模式启动
  3. AT+GMR :查看固件版本信息
  4. AT+CWMODE=1:设置WIFI应用模式 1Station模式 2 AP模式 3 AP兼Station模式,AP指作为接入点,station指作为客户端站
  5. AT+RST:重启
  6. AT+CWLAP:列出可用的接入点
  7. AT+CWJAP="TP-LINK_6FFA","123456789":加入接入点
  8. AT+CIFSR :获取本机IP地址
  9. PC连接路由,网络调试助手使用电脑IP地址创建一服务器,IP设置见下图2;
  10. AT+CIPSTART="TCP","192.168.101.110",8080    :与服务器建立TCP连接 
  11. AT+CIPMODE=1:设置透传模式(即可以一直发送,不然还得用AT+CIPSEND=4设置发送字节数;作为服务器模式时,不能用透传模式)
  12. AT+CIPSEND :开始透传,串口调试助手发送数据,网络调试助手发送数据
  13. 接收数据格式:串调:+IPD,n:xxxxxxxxxx 接收到 的数据 长度为 n 个字节 ,xxxxx 为数据;网调:[Tcp client 192.168.1.108 2872] 123,TCP模式,客户端IP地址,端口号,123是数据;
  14. 结束透传:有输入3个+号退出透传的方案,我没有实现,我直接断电模块,过几分钟可重新设置;

esp826612f 与sd连接引脚 esp8266-01s引脚_esp826612f 与sd连接引脚_08

esp826612f 与sd连接引脚 esp8266-01s引脚_esp826612f 与sd连接引脚_09

5.2 WIFI模块作为客户端(单次连接)

  1. AT+CWMODE=1 :设置WIFI应用模式 1Station模式 2 AP模式 3 AP兼Station模式,AP指作为接入点,station指作为客户端站
  2. AT+RST:重启
  3. AT+CWJAP="TP-LINK_6FFA","123456789":加入接入点
  4. PC连接路由,网络调试助手使用电脑IP地址创建一服务器,IP设置见上图2;
  5. AT+CIPSTART="TCP","192.168.101.110",8080    :与服务器建立TCP连接 
  6. AT+CIPSEND=4 :串调发送四个字节数据,输入要发送的四个字节内容, 无需回车。若发送的字节数目超过了指令设定长度 n,则会响应 busy,并发送数据的前 n 个字节,完成后响应 SEND OK 。网调可任意发送过来。

5.3 WIFI模块作为server

  1. AT+CWMODE=2 :设置WIFI应用模式 1 Station模式 2 AP模式 3 AP兼Station模式,AP指作为接入点,station指作为客户端站
  2. AT+RST:重启
  3. AT+CWSAP? :查询显示AP模式下的参数,+CWSAP:"ESP_664843","123456789",11,3,4,0
  4. 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 

  1. AT+CIPMUX=1:启动多连接
  2. AT+CIPSERVER=1:建立server,默认端口333,试验过,改不了。
  3. AT+CIPSTO=300:设置服务器超时时间0~28800,单位为s,超过时间会将客户端踢掉。
  4. AT+CIFSR :获取本机IP地址,以便设置网络助手,见下图1,2,分 AP模式 、 AP兼Station模式两种显示。
  5. 首先PC要连接到WIFI模块热点,PC上网络调试助手作为客户端连入AP,设置见下图3
  6. AT+CWLIF:查看已接入的设备,见下图4
  7. AT+CIPSEND=4:(命令报error,串调不能发送,网调可发送)
  8.  接收数据:串调可以从网调助手接收数据,网调助手不能接收串调数据。

esp826612f 与sd连接引脚 esp8266-01s引脚_ESP8266-01S_10

esp826612f 与sd连接引脚 esp8266-01s引脚_客户端_11

esp826612f 与sd连接引脚 esp8266-01s引脚_服务器_12

 

 

 

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输出;
  • 每条指令后面要加回车才会执行,否者你输入什么它返回什么而不去执行此命令