分享

ESP8266笔记 ---- 常用AT指令

 金刚光 2023-01-13 发布于辽宁

人生就是一列开往坟墓的列车,路途上会有很多站,很难有人可以自始至终陪着走完。当陪你的人要下车时,即使不舍也该心存感激,然后挥手道别。
宫崎骏《千与千寻》

一般来说,ESP8266 模块默认的波特率是115200,指令以\r\n结尾,所以本文的所有指令都要使用\r\n,后面就不重复了。
还有,发送AT命令后,返回OK即认为设置成功。

一、测试指令

AT(这里应该输入 AT\r\n,为了不繁琐,后面就省略了\r\n,应用时一定要自己加)
返回 OK,说明模块正常。

二、开启/关闭回显(关系到模块是否回发发送的内容)

ATE1 – 打开回显
ATE0 – 关闭回显

三、设置 WIFI 模式

3.1、AP 模式(可以理解为热点,别的设备可以连接)

首先,设置为AP 模式: AT+CWMODE=2
配置热点信息: AT+CWSAP="Eureka1024","123456789",1,3 ---- 热点名为 Eureka1024,密码为 123456789,使用通道 1,加密方式为 WPA2_PSK。

这时候别的设备就可以连接该模块了,以下是连接信息:

+STA_CONNECTED:"04:b1:67:07:ce:bc"   //连接到的设备的 MAC 地址+DIST_STA_IP:"04:b1:67:07:ce:bc","192.168.4.2" //后面的IP地址是ESP8266模块给连接设备分配的IP地址12

设备断开连接后,会有断开连接的提示:

+STA_DISCONNECTED:"04:b1:67:07:ce:bc"1

3.2、Station 模式(最常用的模式,用来连接热点,从而接入外部网络)

  • 设置为Station 模式:AT+CWMODE=1 。
    连接到指定路由器:
    AT+CWJAP_DEF="PiWiFi","12345678" 。//wifi名wifi密码
    在这里插入图片描述

  • 获取 IP 地址:AT+CIPSTA?
    在这里插入图片描述
    如果遇到同名的热点,可以通过增加 MAC地址 (下面命令的最后一串字符) 的方式,比如

    AT+CWJAP_DEF="PiWiFi","12345678","db:d7:18:d5:a7:54"
    • 1

  • 设置模块开机自动连接热点:AT+CWAUTOCONN=1,模块上电后就会自动连接之前连接过的路由器(存储过名字和密码)。

  • 扫描附近的 AP 热点信息:AT+CWLAP,包括的信息有(热点名,热点 MAC 地址,加密方式等),由于串口助手显示中文乱码,所以显示很奇怪,不过还好,都不用打码了,哈哈。
    在这里插入图片描述

  • 断开连接:AT+CWQAP
    在这里插入图片描述

四、 简单的网络通信

4.1、简单的实现连接

打开网络调试助手,选择 TCP Server,会自动生成本地主机地址和本地主机端口号,点击打开,如下图所示:
在这里插入图片描述

接着使用串口助手对 ESP8266 模块进行操作。(前提是模块已经连接 wifi 成功)
首先,建立 TCP 连接,(可能会失败,可以按这个来设置ESP8266 TCP ERROR CLOSED的常见原因及解决办法,连手机的热点就可以,连电脑生成的热点就失败,不知道为啥,最好多试几次)
串口助手输入如下指令:
AT+CIPSTART="TCP","192.168.0.107",8080
连接成功:
在这里插入图片描述
之后,使用键入指令: AT+CIPSEND=10,其中10指的是这次发送数据的长度。
串口助手界面显示 >,然后发送数据即可:
在这里插入图片描述
这是网络调试助手会接收到数据:
在这里插入图片描述
此时再通过 TCP Server 发送“hello,boy”,
在这里插入图片描述
串口接收端会打印 Client 收到的数据,结果如下图:
在这里插入图片描述

4.2、透传模式

前面在使用 TCP 进行数据发送时,在每次发送数据之前都要指定发送数据的长度,这样很不方便进行数据的处理。

使用透传模式可以解决这个问题。

使用 AT+CIPMODE=1 指令开启透传模式,开启透传模式后只需要在第一次发送数据时使用 AT+CIPSEND 指令来告诉 ESP8266 开始透传发送,随后我们直接发送想要的数据即可,如下操作所示:
在这里插入图片描述
此时你会看到接收到的数据:
在这里插入图片描述
若要结束透传模式,要有两个步骤:
1、发送 +++ 这三个字符,值得注意的是该命令没有换行符,不然后失败。
2、接着发送 AT+CIPMODE=0 命令即可退出透传模式,即回到正常的模式。

4.3、使用 SmartConfig 为设备配网

未成功,后补充

4.4、获取网络时间

先使用 AT+CIPSNTPCFG=1,8 来设置时区,这里设置的是 东八区
然后使用 AT+CIPSNTPTIME? 来获取网络时间,如下所示:
在这里插入图片描述

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多