ESP-01S 通过手机点亮led灯

手机控制ESP8266 LED亮灭(零基础10分钟搞定)

核心思路:让ESP8266作为WiFi热点 (或连接家里路由器),手机通过浏览器/小程序发送指令,ESP8266接收指令后控制LED。

我给你最简化的方案(不用装APP,浏览器直接控制),全程基于Arduino IDE,代码复制即用。


第一步:核心准备(沿用之前的硬件)

  • ESP8266开发板(NodeMCU/ESP-12E)
  • USB线+电脑(已装Arduino IDE和ESP8266库)
  • 手机(连WiFi)

第二步:编写代码(5分钟)

清空Arduino IDE原有代码,粘贴以下代码(只需改2处:WiFi名称+密码):

arduino 复制代码
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>

// *************************
// 改这里:你的WiFi名称和密码(家里路由器/手机热点)
const char* ssid = "你的WiFi名称";
const char* password = "你的WiFi密码";
// *************************

ESP8266WebServer server(80); // 搭建Web服务器,端口80
const int ledPin = 2; // ESP8266板载LED引脚(不用改)

// LED亮的处理函数
void handleLEDOn() {
  digitalWrite(ledPin, LOW); // 板载LED低电平亮
  server.send(200, "text/plain", "LED已点亮 ✅");
}

// LED灭的处理函数
void handleLEDOff() {
  digitalWrite(ledPin, HIGH); // 板载LED高电平灭
  server.send(200, "text/plain", "LED已熄灭 ❌");
}

void setup() {
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, HIGH); // 初始状态灭
  
  // 连接WiFi
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
  }
  
  // 打印ESP8266的IP地址(关键!手机要访问这个IP)
  Serial.begin(115200);
  Serial.println("WiFi已连接,ESP8266的IP地址:");
  Serial.println(WiFi.localIP()); // 比如:192.168.1.100

  // 配置网页路由(手机访问的地址)
  server.on("/on", handleLEDOn);    // 访问 /on 亮灯
  server.on("/off", handleLEDOff);  // 访问 /off 灭灯
  server.begin(); // 启动服务器
}

void loop() {
  server.handleClient(); // 监听手机指令
}

第三步:上传代码并查看ESP8266的IP(2分钟)

  1. 点击IDE「√」验证代码(确保无报错);
  2. 点击「→」上传代码到ESP8266;
  3. 上传完成后,点击IDE右上角「串口监视器」(📞图标),波特率选「115200」;
  4. 等待串口打印出「WiFi已连接,ESP8266的IP地址:xxx.xxx.xxx.xxx」(比如192.168.1.100),记下来这个IP!

第四步:手机控制(3分钟)

  1. 手机连接和ESP8266同一个WiFi(就是代码里填的那个WiFi);
  2. 打开手机浏览器(微信/支付宝/Chrome都可以),在地址栏输入:
    • 亮灯:http://ESP8266的IP地址/on(比如http://192.168.1.100/on
    • 灭灯:http://ESP8266的IP地址/off(比如http://192.168.1.100/off
  3. 回车后,浏览器会显示「LED已点亮/熄灭」,同时开发板上的LED立刻响应!


进阶:做个可视化控制页面(可选,更友好)

如果不想输网址,把代码里的setup()中「配置网页路由」部分替换成下面这段,手机访问ESP8266的IP地址会出现按钮:

cpp 复制代码
// 替换原有server.on("/on"... 这部分)
server.on("/", []() {
  String html = "<html><body>";
  html += "<h1>ESP8266 LED控制</h1>";
  html += "<button style='font-size:20px;padding:20px;' onclick='location.href=\"/on\"'>点亮LED</button>";
  html += "<button style='font-size:20px;padding:20px;' onclick='location.href=\"/off\"'>熄灭LED</button>";
  html += "</body></html>";
  server.send(200, "text/html", html);
});
server.on("/on", handleLEDOn);
server.on("/off", handleLEDOff);

上传后,手机访问ESP8266的IP地址,直接点按钮就能控制,不用输网址!


试验成功,但是响应有点慢啊

避坑关键

  1. WiFi必须一致:手机和ESP8266要连同一个WiFi,否则访问不到;
  2. IP地址要正确:串口打印的IP可能会变,每次重启ESP8266后最好查一下;
  3. 板载LED引脚:ESP8266板载LED是GPIO2,低电平亮(LOW=亮,HIGH=灭),外接LED需改引脚和电平。

总结

  1. 核心逻辑:ESP8266连WiFi→搭建Web服务器→手机浏览器发指令→ESP8266控制LED;
  2. 关键步骤:改WiFi密码→上传代码→查ESP8266的IP→手机访问IP/on/off;
  3. 全程10分钟搞定,不用装任何APP,浏览器直接控制。

如果想要「手机远程控制(不在家也能控)」或「微信小程序控制」的方案,我可以直接给你对应的代码和步骤。

相关推荐
大鹅办公31 分钟前
苹果手机忘记锁屏密码怎么办?2026年5种方法实测(含保数据方案)
经验分享·智能手机·苹果手机
智造工厂21 小时前
领盾LEDEN-L1数模对讲+热成像+气体检测工业智能防爆巡检终端,全方位赋能工业巡检现场!
智能手机
wujian831121 小时前
【 文心手机版生成的表格怎么复制下来 】?这个问题,[ AI 导出鸭 ] 给出了完全不同的答案
人工智能·ai·chatgpt·智能手机·ai导出鸭
极客猴子1 天前
能提取抖音视频文案的APP推荐:短视频文案工具合集
人工智能·智能手机·音视频·语音识别
wujian83112 天前
【腾讯元宝手机版生成的表格怎么复制下来】?试试 [ AI 导出鸭 ] 的“格式网关”
人工智能·ai·chatgpt·智能手机·ai导出鸭
wujian83112 天前
豆包导出word手机,就用AI导出鸭:一站式批量导出方案深度解析
人工智能·ai·chatgpt·智能手机·word·ai导出鸭
拿本唠嗑AI研究2 天前
从电脑到手机:DeepSeek Harness Windows安装与手机互动教程(避坑完全版)
人工智能·windows·智能手机·deepseek·harness
随风而飘1863 天前
安立(Anritsu)MT8820C无线综合测试仪(手机综测仪)
网络·功能测试·测试工具·5g·智能手机
yangmu32033 天前
手机系统制作:从底层逻辑到前沿重构
智能手机·重构
思维新观察3 天前
拉美手机市场遇冷:内存短缺叠加经济压力,市场格局加速重构
智能手机·重构·电脑