当前位置: 首页 > news >正文

从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上送到我们的服务器

+++

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

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

http://www.dtcms.com/a/109602.html

相关文章:

  • Oracle数据库数据编程SQL<6.2 数据字典表之间的关联关系>
  • C++的智能指针weak_ptr和普通指针的区别
  • 第五课:高清修复和放大算法
  • MySQL安装教程(详细版)
  • Linux应用编程(文件IO)
  • 移远RG200U-CN模组WAKEUP_IN引脚
  • SAP ABAP AVL单元格颜色
  • 问题解决:glog中的LOG(INFO)与VLOG无法打印
  • 每日一题(小白)分析娱乐篇10
  • DDD与MVC扩展能力对比
  • Agent TARS与Manus的正面竞争
  • THUNLP_Multimodal_Excercise
  • Java - WebSocket配置及使用
  • Dart 语法
  • 【Tauri2】013——前端Window Event与创建Window
  • 搭建环境-opencv-qt
  • 震源车:震源激发平板模态分析
  • 使用python实现视频播放器(支持拖动播放位置跳转)
  • 第二十六章:Seaborn库实现统计数据可视化
  • 2025年机动车授权签字人考试判断题分享
  • 2025年渗透测试面试题总结- 某汽车厂商-安全工程师扩展(题目+回答)
  • 量子计算与经典计算的融合与未来
  • AI赋能——让人工智能助力工作提质增效
  • CVPR2024 | 构建时序动作检测模型对时序干扰的鲁棒性基准
  • 近日八股——计算机网络
  • 使用pycharm社区版调试DIFY后端python代码
  • 破解 N 皇后 II:位运算的高效艺术
  • 4月3日工作日志
  • CVSS-通用漏洞评分系统版本 4.0:规范文档
  • 代码随想录|动态规划|18完全背包理论基础