BA4RDK

欢迎来到我的博客

博客园 首页 新随笔 联系 订阅 管理

之前做过关于ESP8266的WIFI项目
现在很久没有用过WIFI做项目了,最近又淘了一个ESP8266的板子
我想着从头梳理一下如何使用这块芯片

ESP8266 是乐鑫科技(Espressif,上海公司) 在 2014 年推出的芯片
把「处理器 + WiFi 无线模块」两颗芯片的功能,塞进了一颗几块钱的芯片里。
这就是它当年引爆物联网的原因——之前做 WiFi 设备要么贵、要么复杂,它让成本降到几块钱。

ESP8266现在售卖的基本分为一下这些型号 本质核心都是ESP8266EX 使用不同模组封装

  │ 模组   │ ESP-01        │ 小黑板,8 个引脚 │ 最小最便宜,只引出 2 个可用 GPIO          
  │ 模组   │ ESP-12E / 12F │ 带金属屏蔽罩     │ 引出 GPIO 多,最常见           

我们最常见的就是使用AT指令来控制ESP8266(用单片机+ESP8266来实现联网功能)

  AT = Attention(注意),这套东西不是 ESP8266 发明的,而是来自上世纪 80 年代的 Hayes 调制解调器(modem)。
  当年电脑要上网,得先通过串口给「猫」(modem)下命令拨号。人们规定了一套规则:每条命令都以 AT 开头,意思是「猫,注意,听我命令」。比如 ATD(Dial,拨号)、ATH(Hang up,挂断)。
  这套「AT 命令」成了行业标准,一直用到现在。ESP8266 的 AT 固件就是照着这个老传统设计的——把 WiFi 芯片当成一台「无线猫」,用文本命令遥控它。

第一步:烧写AT固件
`固件的下载地址:docs.ai-thinker.com/esp8266/
打开网页下拉找到 3. 固件相关 可以看到有很多型号

如果使用的是4M版本 下载 ⭐1112号 固件 --> ESP-12E / 12F
如果使用的是1M版本 下载 471号 固件 --> ESP-01

下载好固件后我们需要一个烧录软件 下载并安装 Flash 下载工具
https://docs.espressif.com/projects/esp-test-tools/zh_CN/latest/esp8266/production_stage/tools/flash_download_tool.html

ESP8266连接电脑
如果你有ESP8266 CH340C下载烧录器,可以插入电脑直接连接
image

如果没有的话 使用USB转TTL模块 将ESP8266的RX TX引脚分别交叉连接到模块的RX TX上

RX -> TX
TX -> RX
GND -> GND

引出ESP9266的GPIO0(模式选择)端和RESET(复位)端

GPIO0-低电平  ->  下载模式
GPIO0-高电平  ->  正常模式

打开烧录软件
选择ESP8266 / Develop
image
按照这个设置SPIFlashConfig 波特率选择115200
image
点击第一行后面的...选择适合自己ESP8266的固件 地址就填写0X0 选好之后会变绿
image

先擦除 后烧录
不管擦除还是烧录都得先进入下载模式
进入下载模式方式:ESP8266上电时一瞬间 检测GPIO0引脚电平 若低电平则进入下载模式
因此将GPIO0引脚先置低然后 上电/复位 即可进入下载模式(只需要上电那一瞬间检测到低电平就行 后面无所谓)

1.点击ERASE 等待擦除成功 显示完成后即可
2.点击START 等待下载完成即可

如果你成功了 你太棒了!!!!!!!!!!!!!

第二步:发送AT指令

将GPIO0置高 重新上电 进入正常模式

打开串口 选择波特率 115200
先尝试像ESP8266发送AT
记住 一定要记住!!每次发送指令 指令后必须加回车换行!!!!! 不然无法发送成功
image
发送后 ESP8266会返回发送的指令 + OK 说明通讯正常

第三步:发送AT指令 -> 连接wifi

  发送: AT+CWMODE=1\r\n          # 设为 STA 客户端模式
  回应: OK

  发送: AT+RST\r\n               # 软件复位
  回应: 略

  发送: AT+CIPMUX=0\r\n          # 单连接模式
  回应: OK

  发送: AT+CWJAP="WiFiID","密码"\r\n   # 连路由器
  回应: WIFI CONNECTED
        WIFI GOT IP
        OK

  WIFI GOT IP 是重点,说明已经拿到内网 IP。

第四步:发送AT指令 -> 连接天气服务器

在发送之前我得先得到天气服务器的地址
这里我推荐 心知天气 可提供免费的天气数据服务
打开www.seniverse.com官网 机进行注册 就能够免费申请api密钥 进入控制台即可看到api密钥

  发送: AT+CIPSTART="TCP","api.seniverse.com",80\r\n #连接心知天气到服务器
  回应: CONNECT
        OK

  发送: AT+CIPMODE=1\r\n
  回应: OK

  发送: AT+CIPSEND\r\n #进入透传模式
  回应: OK
        >

第五步 获取天气服数据

心知天气 给我们提供了各种天气服务
打开https://seniverse.yuque.com/hyper_data/api_v3
即可看到各种数据的接口

我们以免费的实时天气接口为例子

接口地址  
https://api.seniverse.com/v3/weather/now.json?key=your_api_key&location=beijing&language=zh-Hans&unit=c
your_api_key -> 改成你的api密钥
beijing -> 获取该城市的天气

回到串口
发送: GET https://api.seniverse.com/v3/weather/now.json?key=your_api_key&location=beijing&language=zh-Hans&unit=c\r\n
回应: JSON格式天气数据

屏幕截图 2026-08-13 235531

这里就获取到了天气数据 惊不惊喜!
我们可以通过上位机 来更形象的来解析数据
这里我简单写了一个天气获取的上位机 演示一下

屏幕截图 2026-08-13 235739

这就是ESP8266的获取天气数据的教程 我们可以举一反三 获取其他提供api接口服务的数据

完蛋了 已经快通宵了 我明天 还得去健身!!!我得去睡觉了 !!
嘻嘻嘻嘻 感谢看到这里!早点休息!

posted on 2026-08-14 00:01  BA4RDK  阅读(45)  评论(0)    收藏  举报