wol远程唤醒本地计算机,并通过siri指令语音控制
文章目录
什么是WOL?
WOL 是 Wake-on-LAN 的缩写,中文通常译为 “局域网唤醒”,是一种通过网络信号远程唤醒处于关机、休眠或待机状态的计算机的技术。它允许用户在不物理操作目标设备的情况下,通过发送特定的网络数据包,让设备从低功耗状态启动。
WOL 的工作原理
-
硬件支持:目标计算机需要具备支持 WOL 的网卡(有线网卡为主,部分无线网卡也支持)和主板,且需在 BIOS/UEFI 中开启 “Wake-on-LAN” 功能。
-
待机状态:计算机关机或休眠时,网卡仍会保持低功耗运行,监听网络中特定的唤醒信号。
-
唤醒数据包:用户通过另一台设备(如电脑、手机)发送一个特殊的 “魔术包”(Magic Packet)。该数据包包含目标计算机网卡的 MAC 地址(以连续 16 次重复的形式组成),无需知道 IP 地址。
- 幻数据包(Magic Packet)
幻数据包最简单的构成是6字节的255(FF FF FF FF FF FF FF),紧接着为目标计算机的48位MAC地址,重复16次,数据包共计102字节。有时数据包内还会紧接着4-6字节的密码信息。这个帧片段可以包含在任何协议中,最常见的是包含在 UDP 中 ,发送端口为 7 或 9.
- 幻数据包(Magic Packet)
| FF FF FF FF FF FF FF | MAC 地址 × 16 | 4-6字节的密码(可空) |
|---|
- 启动过程:网卡接收到匹配自身 MAC 地址的魔术包后,会向主板发送启动信号,触发计算机开机。
WOL 的应用场景
- 远程管理:管理员无需到现场,即可唤醒办公室或机房的电脑进行维护、更新。
- 家庭使用:在家中通过手机唤醒卧室的电脑,远程访问文件或控制媒体播放。
- 服务器唤醒:针对非 24 小时运行的服务器,按需唤醒以节省能源。
使用 WOL 的前提条件
- 目标设备的网卡和主板支持 WOL,并在 BIOS 及操作系统中开启相关设置(如 Windows 中需在网卡属性里勾选 “允许此设备唤醒计算机”)。
- 目标设备需连接有线网络(无线 WOL 兼容性较差,且可能受路由器设置限制)。
- 发送唤醒包的设备与目标设备需在同一局域网(部分路由器支持跨网段唤醒,需额外配置端口转发)。
工作环境
台式机电脑,安装了双系统,BIOS启动顺序为Linux Ubuntu24,然后是windows11.
Ubuntu24开启WOL
- 查看是否开启网络唤醒
sudo ethtool enp4s0 | grep Wake
结果为:
Supports Wake-on: pumbg
Wake-on: d
- 设置
Wake-on为 g 即可开启
nano /etc/systemd/system/wol@.service
[Unit]
Description=Wake-on-LAN for %i
Requires=network.target
After=network.target
[Service]
ExecStart=/sbin/ethtool -s %i wol g
Type=oneshot
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable wol@enp4s0.service
通过WebAPI发送 WOL 唤醒包远程唤醒
WolGoWeb是一款远程唤醒WebAPI工具,主要用于搭建在局域网服务器或NAS中,实现WebAPI唤醒局域网内主机
https://github.com/xiaoxinpro/WolGoWeb
安装
docker-compose up -d
version: '3'
services:
wol-go-web:
image: chishin/wol-go-web:latest
container_name: WolGoWeb
restart: unless-stopped
network_mode: host
environment:
- PORT=9090
- KEY=false
测试
curl http://localhost:9090/wol?mac=xxx
配置内网穿透远程访问
具体参见上期博文:使用frp内网穿透:将本地服务暴露到公网
[[proxies]]
name = "wol"
type = "http"
localPort = 9090
localIP = "192.168.255.254"
subdomain = "wol"
transport.useEncryption = true
transport.useCompression = true
测试
curl http://wol.domain.top:9090/wol?mac=xxx
使用iOS快捷指令唤醒(Siri唤醒)
可以自己创建一个快捷指令访问唤醒的URL即可,也可以直接在iOS浏览器中打开下面的链接修改成你的服务器地址和需要唤醒的MAC地址。
新建快捷指令
搜索URL,添加打开URL
配置快捷指令
- 重命名为打开我的电脑
- 填入打开的URL

使用快捷指令
创建完成快捷指令后可以在快捷指令主页用点击 打开我的电脑 ,或者语音唤醒Siri说出 打开我的电脑 即可完成电脑唤醒。
参考
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)