目录
ESP8266编程指令前导——三种工作模式
ESP8266编程指令
工作确认指令(用于非穿透模式下)
设置工作模式:AT+CWMODE=X
两个重要的复位
硬复位AT+RESTORE
软复位AT+RST
加入Wifi AT+CWJAP
开始一次TCP通信
进入和退出穿透模式
进入
ESP8266是由上海乐鑫信息科技(Espressif Systems)设计开发的一款高度集成的Wi-Fi系统级芯片(SoC),而市场上常见的ESP8266模块则是深圳安信可公司基于该芯片开发的完整解决方案(增加了必要的外围电路、串口Flash和板载天线等)。这款芯片首次将Wi-Fi连接功能以极低成本带入大众视野,彻底改变了物联网设备的开发方式。(上述事情是我从手册里CV的)
简单的说,如果我们只是关心器件的编程特性的话,我们要看的实际上就是
让我们看到我们的器件的引脚。笔者的板子上,有6个引脚,其中GND和VCC是没啥好说的,这两个引脚是供电使用的。我们需要注意的是,RXD和TXD这两个引脚,需要我们介入一个串口进行通信。你可以我们的USB转TTL模块,测试我们的ESP8266是否工作正常。办法就跟板子之间或者是板子和上位机之间的通信原理完全一致:USB转TTL的TX段接我们的ESP8266的RXD段,RX段接我们的ESP8266的TXD段。然后,笔者的ESP8266可以耐压5V,所以看清楚了,别把自己的ESP8266烧坏了。
下面我们就来看看ESP8266的交互问题,关于ESP8266的内部器件特性,留给我们的关心的问题是如何跟ESP8266交互。好在我们的器件都已经封装好了,需要做的事情也就是使用串口发送我们想要的信息即可。
ESP8266编程指令前导——三种工作模式
我们必须要说明ESP8266的工作模式,不然的话,我们真的没有办法完成我们的工作
-
STA(Station)模式:在此模式下,ESP8266作为客户端设备连接到现有的无线网络(如家庭路由器)。这种配置使得设备能够通过互联网被远程访问和控制,是大多数物联网应用的理想选择。STA模式的典型应用场景包括智能家居设备、远程传感器节点等需要接入互联网的设备。
-
AP(Access Point)模式:在此配置下,ESP8266自身充当无线接入点,创建独立的无线网络。其他设备(如智能手机、笔记本电脑)可以直接连接到该模块,形成局域网通信。AP模式适用于需要快速建立设备间直接通信的场景,如配置工具、本地控制面板等。模块支持多种安全机制,包括WEP、WPA-PSK和WPA2-PSK加密,确保通信安全。
-
STA+AP混合模式:这种配置允许ESP8266同时作为STA客户端和AP热点运行,实现了互联网访问与本地控制的无缝结合2。在这种模式下,设备既可以通过路由器接入互联网,又能直接与附近设备通信,提供了极高的操作灵活性。混合模式特别适合需要多种控制方式的智能设备,如既支持手机APP远程控制又支持本地按键操作的智能插座。
对于STA模式下,我们还有穿透模式和非穿透模式一说,默认的情况下,我们会是非穿透模式,设置好我们的TCP连接对象后,就可以进入穿透模式,让ESP8266直接转发我们发给他的数据,这样就实现了远程跟我们的服务器沟通的效果。
现在,理论知识差不多就这些,我们的思路差不多是这样的:
获取天气或者是时钟信息,需要我们进入STA模式,连接好我们手机的WiFi(你需要注意的是,ESP8266只可以连接2.4G频段的WIFI,我的电脑的热点他不认,但是各位看官都先尝试一下,不认的话,手机的热点他是一定认的)后,我们设置沟通的网站对象(TCP和端口号),然后进入穿透模式跟我们的目标网站进行通信。拿到的数据进行json分析后展示出来
ESP8266编程指令
工作确认指令(用于非穿透模式下)
现在,你可以先暂时先将我们的ESP8266跟我们的USB转TTL连接起来,然后,打开串口(波特率115200),现在,你可以尝试发送指令检查我们的设备工作是否正常。
办法是,打开你的串口调试助手,端口号记得选择USB-TTL的端口后,波特率设置为115200,然后其他设置为默认。随后,发送AT指令。
AT OK
出现这个,就表明我们的ESP8266的工作是一切正常的。
设置工作模式:AT+CWMODE=X
AT+CWMODE
是 ESP8266 Wi-Fi 模块中用于设置 Wi-Fi 工作模式的核心 AT 指令。该指令决定了模块如何与其他 Wi-Fi 网络和设备进行交互,是 ESP8266 网络配置的基础。基本上我们做ESP8266的应用层的东西,起手都会设置工作模式
模式值 | 工作模式 | 描述 |
---|---|---|
1 | Station (STA) | 作为客户端连接到现有 Wi-Fi 网络(如家庭路由器) |
2 | SoftAP (AP) | 作为接入点创建自己的 Wi-Fi 网络,允许其他设备连接 |
3 | STA+AP | 同时工作在 Station 和 SoftAP 模式,兼具两种模式的特性 |
试一下这个:这个时候我们就会设置为工作模式了
AT+CWMODE=1 OK
两个重要的复位
硬复位AT+RESTORE
AT+RESTORE
是 ESP8266 Wi-Fi 模块中用于恢复出厂设置的 AT 指令。该指令会将模块的所有参数重置为出厂默认值,清除用户配置的所有网络参数和其他设置。
AT+RESTORE ready
这个事情需要查手册来解决,我的是Ready,一些的可能是OK
软复位AT+RST
AT+RST
是 ESP8266 Wi-Fi 模块中用于软件重启模块的 AT 指令。该指令会重新初始化模块,但不改变任何用户配置参数,相当于给模块发送了一个"软复位"信号。
AT+RST OK
特性 | AT+RST (重启) | AT+RESTORE (恢复出厂设置) |
---|---|---|
参数保持 | 保留所有用户配置 | 清除所有用户配置 |
执行速度 | 较快(3-5秒) | 较慢(可能需要更长时间) |
波特率 | 保持不变 | 通常恢复为115200 |
网络配置 | 自动尝试重新连接 | 需要完全重新配置 |
使用频率 | 可频繁使用 | 应谨慎使用 |
加入Wifi AT+CWJAP
AT+CWJAP
是 ESP8266 Wi-Fi 模块中用于连接/配置无线接入点(AP)的核心 AT 指令。该指令允许模块以 Station (STA) 模式连接到指定的 Wi-Fi 网络。
AT+CWJAP="<ssid>","<password>"
注意,<ssid>
和<password>
替换成你手机热点的WIFI名称和密码
开始一次TCP通信
AT+CIPSTART
是 ESP8266 Wi-Fi 模块中用于建立 TCP/UDP/SSL 连接的核心 AT 指令。该指令允许模块作为客户端连接到指定的服务器,支持多种协议类型,是网络通信的基础。
我们这里只需要掌握TCP通信的请求即可
AT+CIPSTART="TCP", "<Target>", "<Port>"
Target换成目标的网站,Port换成通信的端口号,我们这里一般是80(HTTP),或者是443(HTTPS)
进入和退出穿透模式
进入
AT+CIPMODE=1
我们进入穿透模式很简单,就是AT+CIPMODE=1,进入穿透模式之后,我们需要做的预备动作就是准备好发送数据,
AT+CIPSEND
发送结束后,我们的串口就会输出就会有>
,这个时候,任何的request都会直接被转发到ESP8266上送到我们的服务器
+++
注意,不要带回车换行,否则会失败!,退出我们的穿透模式
上面几个就是我们会用到的指令!