上个博客通过一个连接互联网的例子来理解了AT指令的作用(过程中可能少了AT+CWMODE=1)
这次首先延续上个博客再拓展更多的编程方法。
AP模式
ESP8266 AT 仅支持建立一个 TCP 服务器器,且必须使能多连接,即允许连接多个 TCP client。
1, AT+CWMODE_DEF=2
设置为AP模式
2, AT+CIPMUX=1
使能多连接
3, AT+CIPSERVER=1,8080
建⽴立 TCP 服务器器
1—— 建立服务器 , 8080——端口号
STA模式
1,AT+CWMODE_DEF=1
注:工作在单station模组,设置参数保存到flash
2,AT+CWJAP_DEF=“ssid”,“pw”
注连接路由器,保存到flash
3,AT+CIFSR
注:查询 ESP8266 设备的IP地址和MAC
4,AT+CIPSTART=“TCP”,“192.168.99.217”,6001
注连接TCP服务器,本实验用网络调试助手进行测试
5,AT+CIPSEND=5
方式一:发送指定数据长度的数据(Data:test1),见下图
6,AT+CIPMODE=1
方式二:使能透传模式
7,AT+CIPSEND
开始透传发送
8,发送:+++
退出透传发送三个连续的+++,不要勾选新行(\r\n),见下图。此时,TCP 连接仍然是保持
9,退出成功,即返回AT指令模式
10,AT+CIPMODE=0
退出透传模式11,AT+CIPCLOSE
断开 TCP 连接
AP和STA模式摘自——ESP8266在Station和AP模式下常用AT指令
STA+AP模式
注:这个部分内容来着——使用AT指令配置ESP8266开启透传模式
作者:致远电子工作室
1、首先恢复出厂设置
指令为AT+RESTORE
2、设置应用模式
指令为AT+CWMODE=3
注释:1为Station,2为AP,3为AP兼Station 模式
3、重启模块
指令为AT+RST
4、查看附近无线网络
指令为AT+CWLAP
5、加入AP
指令为AT+CWJAP=“SSID”,“PWD”
6、获取本地IP地址
指令为AT+CIFSR
7、开启透传模式
指令为AT+CIPMODE=1
8、连接到服务器
指令为AT+CIPSTART=“TCP”,“服务器IP地址”,端口
9、开启透传
指令为AT+CIPSEND
10、收到的数据如下
退出透传模式的办法是发送+++(后面不要加回车)即可退出。
透传模式:对于透传模有些不理解,后来查询到了一个比较形象的解释
问题:什么是透传?
一般是指我们上层的数据以buf的形式经过底层模块去传送,底层只保证将这段buf传出去,而不去关心buf中具体是什么样的数据,不用去解析buf中的具体内容。
具体一点,以两个QQ客户端聊天为例
QQ的UI层定义了表示聊天信息的结构体(结构体中包含文字内容、文字颜色、文字字体及文字大小等信息),当QQ客户端发送信息时将信息填充到结构体中,然后再将结构体“压到”buf中,交给底层去传送,底层不知道buf中存放的是什么内容,也不用关心是什么内容,只要将buf发送给对端QQ就可以了。当对端QQ收到buf后,将buf中的内容转化成结构体,然后UI层去解析这个结构体就能得到具体的聊天信息了,从而将聊天信息显示到界面去。
网络透传:假设有数据s要通过一个网络,这个网络的入口为a,出口为b,数据s到达a处,由a负责对s进行封装,比如s是ip数据,a就用二层格式进行封装,在整个网络中,都是利用二层进行传输,到了出口b,在把封装解开,还原成s本来的ip结构。对于s来说,通过这个网络,没有改变它的任何结构和数据,因此对于s,这个通过的网络是“透明”的,这就是透传。
摘自——接口测试学习。
作者:lzx1216405192
其他wifi模块at指令
其他学习资料:ESP8266 WIFI模块AT指令汇总
作者:尘埃世界