项目简介
本项目使用 ESP8266 和 继电器模块,通过 Wi-Fi 实现对 笔记本电脑 和 台式机 的远程开机和强制关机控制。与传统的 WOL(Wake-on-LAN) 唤醒方式不同,本项目无需依赖电脑的硬件特性(如 PCIe 或网络唤醒功能)。你只需通过简单的网页界面,就能实现对电脑电源的单独控制,方便且独立。
起因
想把闲置的笔记本放在另外一地,使用那边的公网,那边常年空置,停电无法开机,bios里没有WOL和来电自启,pikvm也不划算,也无法用pcie开机卡。
成本
- 1路3.3vDC继电器—–2元
- ESP8622 NodeMCU 开发板—–7元
- 共计9元
过程
需要用电烙铁在开机引脚上飞两根线,用绿油保护,不然容易掉。大部分笔记本电脑都可以这样做,自己做不到可以去找手机店or电脑维修店老板操作

功能亮点
- 远程开机
点击网页上的按钮即可远程启动电脑,而无需依赖 PCIe 插槽或其他硬件功能。 - 强制关机
模拟长按电源键 8 秒的操作,适用于无法使用软件关机或需要强制断电的场景。 - 适用于笔记本电脑和台式机
无需特殊硬件支持(如 PCIe 插槽或 WOL),任何支持标准电源按钮的电脑均可使用。 - 独立控制
不需要依赖主板或操作系统支持,使用继电器直接控制电源开关,安全性更高,操作独立。 - Wi-Fi 控制
只需确保 ESP8266 和控制设备处于同一 Wi-Fi 网络,无需额外的软件安装。 - 用户认证
网页操作需要用户名和密码进行认证,确保只有授权用户才能控制电脑电源。 - 实时状态反馈
使用板载 LED 指示当前 Wi-Fi 连接和操作状态。
硬件需求
- ESP8266 开发板
推荐使用 NodeMCU 或类似的开发板。 - 继电器模块
用于连接到电脑的电源按钮,控制电源开关。 - 连接线
用于将 ESP8266 和继电器模块连接。

软件需求
- Arduino IDE
用于编写和上传代码到 ESP8266。 - 所需库
ESP8266WiFi.h
:管理 Wi-Fi 连接。ESP8266WebServer.h
:创建简单的网页服务器。
- 公网(FRP)
- 直接放在公网不安全,建议使用VPN访问
接线说明
- ESP8266 到继电器模块:
ESP8266 继电器
GPIO5 ---------
-
---> INGND --------
-
---
---> GND3.3V/5V -----------> VCC
- 继电器模块到电脑电源按钮:
继电器 电脑开机接口
COM ------------> Power Button Pin 1
NO -------
-
-----> Power Button Pin 2
注意:继电器模块支持 5V 供电,如果使用 ESP8266 的 3.3V 输出供电,请确认继电器支持 3.3V 输入。
代码实现
本项目的核心代码展示了如何使用 ESP8266 控制继电器模块,并通过网页进行操作。
代码功能概览
- 网页界面:通过 HTML 和 CSS 提供两个按钮,分别用于开机和强制关机。
- 用户认证:通过输入用户名和密码保护网页,确保只有授权用户才能执行操作。
- LED 状态反馈:板载 LED 显示 Wi-Fi 连接状态和操作反馈。
- 非阻塞逻辑:利用
millis()
控制继电器的触发时间,避免阻塞程序执行。
完整代码:GitHub 仓库。

使用方法
- 配置代码
在代码中填写 Wi-Fi 名称(ssid
)、密码(password
)和用户认证信息(httpUsername
和httpPassword
)。 - 上传代码
使用 Arduino IDE 将代码上传到 ESP8266。 - 查看 IP 地址
上传完成后,在串口监视器中查看 ESP8266 分配的 IP 地址(例如:192.168.0.2
)。 - 访问网页
在浏览器中输入 IP 地址,进行用户认证后即可控制电脑电源。 - 测试功能
- 开机:点击“开机”按钮,电脑将启动。
- 强制关机:点击“强制关机”按钮,电脑将强制关机。
状态指示灯说明
- 快速闪烁:Wi-Fi 未连接。
- 三次闪烁:执行操作
- 熄灭:操作完成或 Wi-Fi 连接成功。
注意事项
- 供电要求
- 确保继电器模块的电压和 ESP8266 的电压兼容(支持 3.3V 或 5V)。
- 安全性
- 由于网页界面是通过局域网访问,建议不要使用不安全的公共 Wi-Fi 网络。
- 继电器选型
- 确保继电器模块能够承受电脑电源按钮的电流和电压。
总结
通过本项目,你可以轻松实现对 笔记本电脑 和 台式机 的远程电源控制,避免依赖 PCIe 或 WOL 唤醒功能,提供了一种独立、安全且简便的电源管理方式。适用于智能家居或 DIY 项目,是学习物联网(IoT)控制的好例子。