欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > 从0开始的构建的天气预报小时钟(基于STM32F407ZGT6,ESP8266 + SSD1309)——第1章 简单的介绍一下ESP8266和他的编程指令

从0开始的构建的天气预报小时钟(基于STM32F407ZGT6,ESP8266 + SSD1309)——第1章 简单的介绍一下ESP8266和他的编程指令

2025/4/4 7:37:29 来源:https://blog.csdn.net/charlie114514191/article/details/146986583  浏览:    关键词:从0开始的构建的天气预报小时钟(基于STM32F407ZGT6,ESP8266 + SSD1309)——第1章 简单的介绍一下ESP8266和他的编程指令

目录

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的应用层的东西,起手都会设置工作模式

模式值工作模式描述
1Station (STA)作为客户端连接到现有 Wi-Fi 网络(如家庭路由器)
2SoftAP (AP)作为接入点创建自己的 Wi-Fi 网络,允许其他设备连接
3STA+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上送到我们的服务器

+++

注意,不要带回车换行,否则会失败!,退出我们的穿透模式

上面几个就是我们会用到的指令!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词