STM32与ESP8266-01S模块集成指南

调试相关AT指令

发送AT指令时,需要勾选发送新行,代码中为\r\n(\r:回车\n:换行)

默认波特率为115200

1、AT 测试AT启动

2、AT+RST 重启模块

3、AT+RESTORE 恢复出厂设置

恢复出厂设置后,通信波特率为115200

4、AT+UART=9600,8,1,0,0设置波特率

9600:波特率、8:数据位、1:停止位、0:无校验位、0:不使用流控

5、ATEx 关闭/开启回显

ATE1 开启回显、ATE0 关闭回显

6、AT+CIPSTATUS 查询网络连接信息

stat:接口状态

  • 2:已连接AP,获得IP地址
  • 3:已建立TCP或UDP传输
  • 4:断开网络连接
  • 5:未连接AP
  • +CIPSTATUS:连接号,协议,远端IP,远端端口号,本地端口号,模式

  • 连接号:在多链接时存在
  • 协议:TCP、UDP
  • 模式:0代表ESP8266为客户端,1代表ESP8266为服务器
  • 单链接TCP Client

    单链接TCP Client就是用ESP8266建立一个TCP协议的客户端

    相关AT指令

     1、AT+CWMODE Wi-Fi模式

    AT+CWMODE_CUR? 查询当前的Wi-Fi模式

    AT+CWMODE_CUR=x 设置当前的Wi-Fi模式

    x可取1,2,3,1代表STA(客户端),2代表AP(路由器),3代表两种都可以

    设置Wi-Fi模式有两种后缀:CUR代表复位后设置不保存,DEF代表复位后设置保存

    2、AT+CWJAP  设置要连接的AP的信息

    AT+CWJAP_CUR?  查询当前设置的要连接的AP的信息

    AT+CWJAP_CUR=<ssid>,<pwd>,[<bssid>],[,<pci_en>]  设置要连接的AP的信息

    ssid:要连接的wifi名称

    pwd:wifi的密码

    后两个为可选参数,不设置 

    3、AT+CIFSR   查询ESP8266设备的IP地址

    APIP:ESP8266作为AP时的地址

    APMAC:ESP8266作为AP时的MAC地址

    STAIP:ESP8266作为STA时的地址(由连接的AP分配)

    STAMAC:ESP8266作为STA时的MAC地址(可以自己设置)

    4、PC机建立服务器

    将PC机与ESP8266连接到相同的热点上。上述ESP8266连接的为OPPO K7,这里PC机也连接到OPPO K7

    在windows下打开命令终端,输入ipconfig查询无线网的IP地址

    之后打开网络调试助手,设置为TCP Server,选择上面查到的IP,设置端口号

    至此,PC端建立服务器完成

    5、AT+CIPSTART  建立连接

    AT+CIPSTART=<type><remote IP><remote port>[,<TCP keep alive>]

    type:连接类型,可为TCP,UDP,SSL

    remote IP:远端IP(4中查询的IP)

    remote port:远端端口号(4中设置的端口号)

    后面参数为可选,不设置

    6、PC向ESP8266发送信息

    直接通过服务端,即可透传

    +IPD的格式为+IPD,数据长度,数据内容

    7、AT+CIPSEND  发送数据

    在单连接中,AT+CIPSEND=x,其中x代表之后要发的数据的长度。

    8、AT+CIPMODE  设置传输模式

    AT+CIPMODE=1 开启透传模式,只有在TCP单连接和UDP固定远端时可使用

    AT+CIPMODE=0 普通传输模式,需要指定发送的数据长度

    9、AT+CIPSEND  开始传输数据,ESP8266与PC进行透明传输

    该指令与步骤7是一个指令,为了方便查找,这里再次列出一次,主要叙述透明传输时的使用

    在透明传输时,每个包最大2048个字节  或者  每个包之间的间隔要为20ms

    退出透传时,发送+++,注意不要勾选发送新行

    退出透传后,之后需间隔1s才可再次发送指令,发送指令需要把发送新行勾选上

     

    10、AT+CIPCLOSE  关闭连接

    设置步骤

    设置步骤中的AT指令顺序,与上述的AT指令顺序一致。 

    1、AT+CWMODE=3        模式设置为STA+AP,无后缀代表复位后设置保存,与DEF后缀一致

    2、AT+CWJAP=“wifi名称”,"wifi密码"

    3、AT+CIFSR

    4、PC连接上ESP8266连接的AP(PC与ESP8266连接同一个热点),建立TCP服务器

    5、AT+CIPSTART

    6、PC向ESP8266发送信息

    备注:这里突然调不通了,改了一下端口号8880,ESP8266重复第5步连接服务器

    7、AT+CIPSEND=7  ESP8266向PC发送信息

    透传步骤

    同样操作上面的1~6步骤后,7步骤不再使用,使用的是一下的透明传输格式

    8、AT+CIPMODE=1 使能透明传输

    9、AT+CIPSEND  开始传输数据,ESP8266与PC进行透明传输

    10、AT+CIPCLOSE  关闭连接

    多链接TCP Server(未调通)

    相关AT指令
     

    3、AT+CIPSERVER    建立TCP服务器

    AT+CIPSERVER=<mode>[,<port>]

  • mode:0关闭服务器,1建立服务器
  • port:端口号,默认333
  • 只有在多链接下才可进行服务器的建立

    创建TCP服务器后,自动进行监听

    当有TCP客户端接入后,自动占用一个连接ID

    设置步骤

     1、AT+CWMODE=3        模式设置为STA+AP,无后缀代表复位后设置保存,与DEF后缀一致

    2、AT+CWJAP=“wifi名称”,"wifi密码"

    3、AT+CIFSR

    4、AT+CIPMUX=1        使能多连接

    5、AT+CIPSERVER=1,8000   建立TCP服务器

    6、PC连接上ESP8266连接的AP(PC与ESP8266连接同一个热点),建立TCP客户端

    7、PC机向ESP8266发送数据

    8、AT+CIPSEND=0,4  ESP8266向PC机发送数据

    9、AT+CIPCLOSE=5 断开全部连接

    固定远端的UDP通信

    相关AT指令

     1、AT+CWMODE Wi-Fi模式

    AT+CWMODE_CUR? 查询当前的Wi-Fi模式

    AT+CWMODE_CUR=x 设置当前的Wi-Fi模式

    x可取1,2,3,1代表STA(客户端),2代表AP(路由器),3代表两种都可以

    设置Wi-Fi模式有两种后缀:CUR代表复位后设置不保存,DEF代表复位后设置保存

    2、AT+CWJAP  设置要连接的AP的信息

    AT+CWJAP_CUR?  查询当前设置的要连接的AP的信息

    AT+CWJAP_CUR=<ssid>,<pwd>,[<bssid>],[,<pci_en>]  设置要连接的AP的信息

    ssid:要连接的wifi名称

    pwd:wifi的密码

    后两个为可选参数,不设置 

    3、AT+CIFSR   查询ESP8266设备的IP地址

    APIP:ESP8266作为AP时的地址

    APMAC:ESP8266作为AP时的MAC地址

    STAIP:ESP8266作为STA时的地址(由连接的AP分配)

    STAMAC:ESP8266作为STA时的MAC地址(可以自己设置)

    4、PC机建立服务器

    将PC机与ESP8266连接到相同的热点上。上述ESP8266连接的为OPPO K7,这里PC机也连接到OPPO K7

    在windows下打开命令终端,输入ipconfig查询无线网的IP地址

    之后打开网络调试助手,设置为UDP,选择上面查到的IP,设置端口号

    5、AT+CIPMUX  设置单连接还是多连接

    AT+CIPMUX=x,x的取值可以为0,1

    0:单连接

    1:多连接

    6、AT+CIPSTART  创建UDP传输,设置是否改变远端

    AT+CIPSTART=4,"UDP","远端IP",远端端口号,本地端口号,0

    4:分配连接号为4,可取0~4,与之后ESP8266向PC发送消息有关

    0:UDP的传输属性,透传必须为0,可取值为0,1,2 含义如下

  • 0:接收到数据后,不改变远端目标
  • 1:接收到数据后,改变1次远端目标
  • 2:接收到数据后,改变远端目标
  • 本地端口号:这里是设置本地的端口号

    7、PC向ESP8266发送信息

    PC设置好目标的IP和目标的端口号,输入数据发送即可。

    目标IP是AT+CIFSR查询出来的STAIP(步骤3)

    端口号是AT+CIPSTART设置的ESP8266的本地端口号(步骤6)

    +IPD的格式为+IPD,esp8266连接号(步骤6),数据长度,数据内容

    8、AT+CIPSEND  ESP8266向PC发送信息

    AT+CIPSEND=4,7

    4:设置的连接号(步骤6)

    7:此次要发送数据的字节数

    9、AT+CIPCLOSE=4 断开连接

    AT+CIPCLOSE=4 断开连接号为4的连接

    若连接号设置为5,则断开全部连接

    10、AT+CIPMODE  设置传输模式

    AT+CIPMODE=1 开启透传模式,只有在TCP单连接和UDP固定远端时可使用

    AT+CIPMODE=0 普通传输模式,需要指定发送的数据长度

    11、AT+CIPSEND  开始传输数据,ESP8266与PC进行透明传输

    该指令与步骤7是一个指令,为了方便查找,这里再次列出一次,主要叙述透明传输时的使用

    在透明传输时,每个包最大2048个字节  或者  每个包之间的间隔要为20ms

    退出透传时,发送+++,注意不要勾选发送新行

    退出透传后,之后需间隔1s才可再次发送指令,发送指令需要把发送新行勾选上

     

    12、AT+CIPCLOSE  关闭连接

    设置步骤

    1、AT+CWMODE=3        模式设置为STA+AP,无后缀代表复位后设置保存,与DEF后缀一致

    2、AT+CWJAP=“wifi名称”,"wifi密码"

    3、AT+CIFSR

    4、PC连接上ESP8266连接的AP(PC与ESP8266连接同一个热点),建立UDP设备

    5、AT+CIPMUX=1

    6、AT+CIPSTART

    7、PC向ESP8266发送信息

    8、AT+CIPSEND=4,7  ESP8266向PC发送信息

    9、AT+CIPCLOSE=4 断开连接

    透传步骤

     同样操作上面的1~6步骤后,7步骤不再使用,使用的是一下的透明传输格式

    5步骤的AT+CIPMUX=1改为AT+CIPMUX=0(单连接)

    6步骤的AT+CIPSTART不用加入连接号,因为是单连接

    10、AT+CIPMODE=1 使能透明传输

    11、AT+CIPSEND  开始传输数据,ESP8266与PC进行透明传输

    12、AT+CIPCLOSE  关闭连接

    远端可变的UDP通信

    相关AT指令

      1、AT+CWMODE Wi-Fi模式

    AT+CWMODE_CUR? 查询当前的Wi-Fi模式

    AT+CWMODE_CUR=x 设置当前的Wi-Fi模式

    x可取1,2,3,1代表STA(客户端),2代表AP(路由器),3代表两种都可以

    设置Wi-Fi模式有两种后缀:CUR代表复位后设置不保存,DEF代表复位后设置保存

    2、AT+CWJAP  设置要连接的AP的信息

    AT+CWJAP_CUR?  查询当前设置的要连接的AP的信息

    AT+CWJAP_CUR=<ssid>,<pwd>,[<bssid>],[,<pci_en>]  设置要连接的AP的信息

    ssid:要连接的wifi名称

    pwd:wifi的密码

    后两个为可选参数,不设置 

    3、AT+CIFSR   查询ESP8266设备的IP地址

    APIP:ESP8266作为AP时的地址

    APMAC:ESP8266作为AP时的MAC地址

    STAIP:ESP8266作为STA时的地址(由连接的AP分配)

    STAMAC:ESP8266作为STA时的MAC地址(可以自己设置)

    4、PC机建立服务器

    将PC机与ESP8266连接到相同的热点上。上述ESP8266连接的为OPPO K7,这里PC机也连接到OPPO K7

    在windows下打开命令终端,输入ipconfig查询无线网的IP地址

    之后打开网络调试助手,设置为UDP,选择上面查到的IP,设置端口号。

    建立两个UDP设备,方便后面的UDP通信调试

    5、AT+CIPMUX  设置单连接还是多连接

    AT+CIPMUX=x,x的取值可以为0,1

    0:单连接

    1:多连接

    6、AT+CIPSTART  创建UDP传输,设置是否改变远端

    AT+CIPSTART="UDP","远端IP",远端端口号,本地端口号,2

    2:UDP的传输属性,远端可变时选择2,可取值为0,1,2 含义如下

  • 0:接收到数据后,不改变远端目标
  • 1:接收到数据后,改变1次远端目标
  • 2:接收到数据后,改变远端目标
  • 本地端口号:这里是设置本地的端口号

    7、AT+CIPSEND  ESP8266向PC发送信息

    AT+CIPSEND=7,"远端IP",远端端口号

    7:数据长度为7

    8、PC向ESP8266发送消息

    设置好目标IP,目标端口号直接就可以发送

    9、AT+CIPCLOSE  关闭连接

    设置步骤

    1、AT+CWMODE=3        模式设置为STA+AP,无后缀代表复位后设置保存,与DEF后缀一致

    2、AT+CWJAP=“wifi名称”,"wifi密码"

    3、AT+CIFSR

    4、PC连接上ESP8266连接的AP(PC与ESP8266连接同一个热点),建立2个UDP设备

    5、AT+CIPMUX=0

    6、AT+CIPSTART

    7、AT+CIPSEND=7,"远端IP",远端端口号  ESP8266向PC发送信息

    8、PC向ESP8266发送消息

    9、AT+CIPCLOSE  关闭连接

    作者:荣世蓥

    物联沃分享整理
    物联沃-IOTWORD物联网 » STM32与ESP8266-01S模块集成指南

    发表回复