news 2026/10/11 15:01:35

iPhone + Automate + Wake-on-LAN:无公网IP远程唤醒Windows 11实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
iPhone + Automate + Wake-on-LAN:无公网IP远程唤醒Windows 11实战

一套几乎零硬件成本的远程开机方案,以及一次折腾到第二天才发现的安卓后台运行问题。

很多人都有这样的需求:家里有一台 Windows 台式电脑,平时不想一直开着,但人在外面时,偶尔又需要启动它,远程处理一些文件或者运行程序。

如果只是远程控制,市面上已经有不少成熟的软件。但问题是:电脑已经完全关机了,远程控制软件怎么连接?

最近我就遇到了这个问题。

我的目标其实很简单:人在外地,拿出 iPhone,点击一个按钮,家里的 Windows 11 台式机就能启动。

最初以为很容易,实际折腾下来才发现,麻烦的不是唤醒电脑,而是如何把外地手机发出的指令可靠地送到家里的局域网。

最终,我没有购买远程开机卡,也没有申请公网 IP,而是利用一部闲置的 OPPO A36 手机,配合 Automate 和苹果快捷指令,实现了远程开机。

更有意思的是,第一天测试成功,第二天早上却失效了。问题最后并不在电脑,也不在网络,而在安卓手机的后台管理机制。

下面记录整个过程。

一、先说最终效果

现在的操作非常简单。

我在 iPhone 上创建了一个名为“远程开机”的快捷指令。人在外面时,打开快捷指令,点击运行,手机就会向家里的 OPPO 发送一条云端消息。

OPPO 收到消息后,自动向局域网发送 Wake-on-LAN 唤醒数据包,启动 Windows 台式机。

iPhone 随后显示中文提示,并播放一声提示音。

整个过程不需要打开 OPPO 屏幕,也不需要通过远程控制软件操作 OPPO。

实际测试中,iPhone 使用移动网络、人在其他地方时,已经成功启动家里的电脑。

需要说明的是,目前 iPhone 的提示音表示发送指令的流程已经执行,并不代表系统已经检测确认电脑开机。真正的开机状态反馈还没有加入。

二、我的硬件和网络环境

这次使用的设备并不特殊。

设备实际配置
被控制电脑Windows 11 Pro 台式机
主板微星 PRO H610M-S DDR4
网络连接有线网卡连接路由器
家庭路由器TP-Link TL-RAC1900G
家庭中转手机OPPO A36,Android 11 / ColorOS 11.1
远程控制手机iPhone
安卓自动化工具Automate(LlamaLab)
iPhone 自动化工具苹果快捷指令

这里有一个关键条件:电脑必须通过有线网卡支持 Wake-on-LAN,并且主板 BIOS、电源管理等相关设置正确。

Wake-on-LAN,简称 WOL,是一种通过网络发送特定数据包来唤醒计算机的技术。这个数据包通常称为 Magic Packet(魔术包)。

它并不需要电脑处于正常运行状态,但要求网卡和主板在关机后仍能保留必要的待机供电。

因此,真正开始远程控制之前,我先在家里的局域网完成了测试:电脑通过 Windows 正常关机后,仍然能够被局域网内的手机唤醒。

这一步非常重要。如果局域网唤醒都不成功,后面配置云端消息没有意义。

三、为什么不直接从外网发送WOL?

一开始,我考虑过最直接的方案:通过路由器端口转发,把外网发送的 WOL 数据包转发到家里的局域网。

但检查网络环境后发现,我的家庭宽带没有可直接使用的公网 IPv4 地址。

路由器 WAN 地址位于100.64.0.0/10范围,这是运营商级 NAT(CGNAT)常用的地址范围。

简单来说,家里的路由器并不是直接暴露在公网,而是位于运营商的另一层地址转换之后。

这种情况下,即使在家用路由器上设置了端口转发,外网设备通常也无法直接连接到家里的路由器。

当然,也可以研究 IPv6、内网穿透、VPN、云服务器等方案,但我的需求只是远程开机,没有必要为此搭建一整套复杂系统。

我还考虑过购买专用的远程开机卡,一些产品售价几十元,声称支持通过移动网络远程开机。

不过,既然家里已经有一部闲置安卓手机,为什么不让它承担这项工作?

这就形成了最后采用的技术路线:

外地 iPhone → 云端消息服务 → 家中 OPPO → 局域网 WOL → Windows 台式机

它的核心思想是:不让外网直接访问家庭局域网,而是让一台始终在线的内部设备接收指令,再由它完成局域网操作。

四、为什么选择Automate?

最初我尝试过通过安卓远程控制软件操作 OPPO,再让 OPPO 唤醒电脑。

但这种方法需要登录账号、配置远控权限,有时还要处理安卓系统的屏幕控制限制。

为了完成一个“开机”动作,先远程操作另一部手机,显然有些绕。

后来找到了 Automate。

Automate 是 LlamaLab 开发的一款安卓自动化应用。它采用可视化流程图的方式,把各种操作组织成自动执行的流程。

最关键的是,它支持两个正好符合需求的功能:

  • Cloud message receive:接收云端消息。

  • Wake-on-LAN send:向局域网发送网络唤醒数据包。

这样,OPPO 不需要被远程操作,只需要长期运行一个自动化流程即可。

五、先让OPPO独立唤醒电脑

我没有一开始就配置云端控制,而是先验证 OPPO 能不能独立完成 WOL。

在 Automate 中创建一个最简单的流程:

Flow beginning → Wake-on-LAN send

其中,Wake-on-LAN 的主要参数为:

参数设置
MAC address目标电脑有线网卡的 MAC 地址
Hostname / IP address192.168.101.255
UDP port9
SecureOn留空
Network interface留空

这里的192.168.101.255是我家当前/24局域网使用的广播地址,并不是所有家庭网络都适用。应当根据自己网络的 IP 地址和子网掩码确定。

点击 START 后,电脑成功开机。

这说明电脑 BIOS、网卡、路由器和 OPPO 发送 WOL 的能力都没有问题。

接下来只需要解决一个问题:如何让远在外地的 iPhone 触发 OPPO 执行这个操作?

六、用云端消息连接iPhone和OPPO

Automate 提供了云端消息接收功能,可以让 OPPO 等待来自云端的消息。

在 OPPO 上,我建立了第二个自动化流程,包含四个模块:

  1. Flow beginning

  2. Cloud message receive

  3. Expression true?

  4. Wake-on-LAN send

Cloud message receive 使用 OPPO 已经登录的 Google 账号接收消息,并将收到的消息内容保存到变量message。

接下来使用 Expression true? 判断消息内容是否为预先约定的开机指令。

表达式为:

message = "WAKE_PC"

只有判断结果为 YES 时,才执行 Wake-on-LAN send。

如果收到其他消息,则返回等待状态,不执行开机。

WOL 发送完成后,也返回 Cloud message receive,继续等待下一条消息。

最终的逻辑是:

开始 ↓ 等待云端消息 ↓ 判断 message 是否等于 "WAKE_PC" ├── NO → 返回等待 ↓ YES 发送 Wake-on-LAN ↓ 返回等待

这里特别提醒:WAKE_PC只是一个指令标识,并不是高强度安全认证。实际使用时,还应保护好云端发送凭据,必要时增加发送者验证或更强的身份校验。

七、iPhone不需要安装Automate

iPhone 端使用苹果系统自带的“快捷指令”即可。

我创建了一个名为“远程开机”的快捷指令。

第一步是添加 URL,填写 Automate 的云端消息接口:

https://llamalab.com/automate/cloud/message

第二步添加“获取 URL 内容”,选择 POST 方法,请求体使用 JSON 格式。

在实际配置中,请求体包含三个字段:

{ "secret": "此处填写自己的云端发送凭据", "to": "此处填写接收端Google账号", "payload": "WAKE_PC" }

其中,secret是发送消息所需的凭据,不能直接公开在文章或截图中。它也不是随意填写一个字符串就能使用,必须采用服务实际要求的有效凭据。

to指向 OPPO 接收云端消息所使用的 Google 账号,payload则是约定的开机指令。

设置完成后,iPhone 就能通过 HTTPS 请求向云端发送消息。

测试时,快捷指令返回了:

Message sent

随后查看 OPPO 的 Automate 日志,出现了 Cloud message receive、Expression true? 和 Wake-on-LAN send 的执行记录。

电脑成功开机。

至此,外网远程唤醒的核心功能已经实现。

八、真正的坑:第一天成功,第二天失效

如果文章写到这里,可能只是一篇普通的操作教程。

但第二天发生的事情,才是这次实践最值得记录的部分。

前一天晚上,我在 iPhone 上连续测试,电脑都能成功启动。

于是把 OPPO 放在家里,连接充电器,锁定屏幕,准备第二天在其他地方测试。

第二天早上八点半左右,我在外地通过 iPhone 发送远程开机指令。

快捷指令没有报错,执行正常结束,但电脑没有启动。

开始我怀疑是云端服务出了问题。

后来查看 OPPO 的 Automate 日志,发现一个异常:日志中没有早上八点半的接收记录。

直到九点二十九分左右,打开 OPPO 屏幕后,Automate 才重新出现运行记录,其中包含:

Resumed after restart Cloud message receive

这意味着,问题并不是 WOL 数据包发送失败那么简单。

当时更明显的现象是:OPPO 长时间锁屏后,Automate 没有及时处理远程消息。

解锁手机后,自动化流程恢复工作。

这让我意识到,安卓手机虽然可以充当家庭自动化设备,但手机系统的省电机制,可能成为长期稳定运行的最大障碍。

九、解决OPPO的后台限制

我的 OPPO A36 使用 ColorOS 11.1。

经过检查,发现 Automate 虽然已经在应用内部获得了忽略电池优化的权限,但 ColorOS 还有自己的一套后台运行管理机制。

因此,我进一步修改了以下设置。

1. 关闭耗电异常优化

进入:

设置 → 电池 → 高级设置 → 耗电异常优化 → Automate

原来的选项是“自动优化”。

我把它改成了:

不优化

这样系统就不会因为判断 Automate 后台耗电较高,而自动对它进行优化处理。

2. 允许完全后台行为

进入 Automate 的应用详情,找到相关后台权限设置。

其中有一个关键选项:

允许完全后台行为

原来是关闭状态。

我将它打开,让系统不再对 Automate 的后台行为施加相应限制。

3. 允许应用自启动

在同一个设置页面中,还有:

允许应用自启动

我也将它打开。

这样在手机重启等情况下,Automate 更有机会恢复正常运行。不过,具体流程是否自动恢复,还取决于 Automate 本身的运行和恢复设置。

4. 保持省电模式关闭

OPPO 的普通省电模式和超级省电模式都没有开启。

对于一部专门承担远程开机任务的闲置手机,后台可靠性比节省少量电量更重要。

调整完成后,我重新测试了远程开机功能,结果成功。

需要强调的是,这些设置解决了当时观察到的问题,但还需要通过连续多天的长时间锁屏测试,才能进一步确认长期稳定性。

十、最后优化iPhone快捷指令

核心功能完成后,我又做了一个小优化。

最初,快捷指令运行成功后,只显示英文:

Message sent

虽然能用,但不够直观。

于是,我在“获取 URL 内容”后面添加了“显示通知”操作。

通知标题:

远程开机

通知内容:

远程开机指令已发送,请等待30~60秒。

不过,测试发现即使打开“播放声音”选项,也没有听到预期的提示音。

后来又在快捷指令最后增加了一个独立的“播放声音”操作。

再次测试,iPhone 发出了一声提示音。

现在,快捷指令的执行流程变成:

URL ↓ 获取 URL 内容(POST) ↓ 显示中文通知 ↓ 播放声音

这样,人在外面只需要点击一次快捷指令,就能完成开机指令发送,并获得直观的操作提示。

当然,提示音只是操作反馈,不是电脑开机成功的证明。

十一、这套方案有什么优缺点?

经过这次实践,我认为它比较适合以下场景:

家里有一台支持 WOL 的台式电脑,没有公网 IPv4 地址,又恰好有一部闲置安卓手机。

它的优势比较明显。

首先,基本不需要购买额外硬件。现有电脑、路由器、OPPO 和 iPhone 就能完成整个流程。

其次,不需要配置家庭路由器的公网端口映射,也不需要让外网直接访问家庭内网。

第三,操作足够简单。iPhone 上只有一个快捷指令,OPPO 自动完成后续动作。

但它也有局限。

第一,OPPO 必须保持联网。如果家里的 Wi-Fi 中断,或者手机断电,就无法正常接收远程指令。

第二,安卓后台机制可能影响稳定性。即使关闭相关优化,也不能保证所有机型、所有系统版本都能长期保持相同的后台行为。

第三,WOL 本身不能保证电脑一定启动。如果电脑断电、主板设置改变、网卡待机供电异常,或者局域网广播被阻断,仍然可能失败。

第四,目前还缺少真正的开机成功反馈。iPhone 可以知道发送流程执行了,但还不能直接确认 Windows 已经启动并联网。

另外,如果 OPPO 长期连接充电器,还需要关注电池健康和设备温度,尽量使用质量可靠的充电器,避免手机长期处于高温环境。

十二、下一步:让电脑主动报告“我已经开机”

目前这套方案已经解决了最核心的问题:远程发送开机指令,并成功唤醒电脑。

但从自动化系统的角度看,它还缺少最后一环。

理想的完整流程应该是:

iPhone 发出开机指令 ↓ 云端消息 ↓ OPPO 接收并发送 WOL ↓ Windows 电脑启动 ↓ 电脑联网后发送确认消息 ↓ iPhone 收到“电脑已开机”

实现这一步并不需要重新设计现有架构。

可以考虑在 Windows 中增加一个开机后自动运行的程序,待网络连接建立后,向指定的通知服务发送确认消息。

不过,这属于下一阶段的工作,目前尚未实现。

结语

这次远程开机实践,让我印象最深的不是 WOL,也不是快捷指令,而是一个看起来很不起眼的问题:安卓手机锁屏后,后台程序究竟还能不能可靠运行?

在电脑上,一个程序启动以后,我们通常认为它会继续运行,除非主动关闭或系统出现异常。

但在手机上,情况完全不同。系统会根据电池、应用行为和厂商策略,主动管理后台程序。

对于普通用户来说,这些机制可以延长续航;但对于把旧手机当作家庭自动化设备的人来说,它们可能导致非常隐蔽的故障。

一套自动化方案,在屏幕亮着的时候成功,并不意味着它在无人值守的情况下也能成功。

这或许才是这次折腾最有价值的经验。

至于那部闲置的 OPPO A36,现在终于有了一项新的工作:安静地待在家里,等待远方的 iPhone 发来一条开机指令。


本文记录的是个人实际测试过程,不同主板、路由器和安卓系统版本可能需要调整参数。文中示例地址仅用于说明配置方法,云端访问凭据应自行生成并妥善保管。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/11 15:00:01

喘振与旋转失速机理、Greitzer模型仿真及防喘振控制实践

简介:这份PDF专著面向压缩机与工业控制领域的研究者和工程师,聚焦轴流式与离心式压缩机中的喘振和旋转失速问题,系统阐述了失稳机理、动态建模、仿真验证以及主动控制策略,并进一步讨论了传感器与执行器的选型、主动控制技术在实际…

作者头像 李华
网站建设 2026/10/11 14:58:58

分布式系统统一认证方案:Spring Security OAuth2.0与JWT实践指南

1. 分布式系统认证的核心难题:状态到底放哪儿 先说个很实际的场景。单体应用时代,登录认证非常简单:用户输入账号密码,服务端把登录态写进Session,再往浏览器种一个Cookie,后续请求带着Cookie过来&#xff…

作者头像 李华
网站建设 2026/10/11 14:56:35

双节完成近2000万次服务任务,酒店该重新算“机器人+AI”这笔账了

作者 | Tniniuo编辑 | Sette01.节假日洪峰,酒店老板最怕的不是满房,是满房后接不住的电话酒店这生意,节奏很特别。平日入住率相对平稳,一到节假日,需求却可能瞬间翻倍。酒店人盼着满房,可真正满房时&#x…

作者头像 李华
网站建设 2026/10/11 14:56:01

PCB缺陷检测:6930张增强图像与YOLOv8训练全流程解析

简介:PCB板缺陷检测数据集源自北京大学,面向工业质检与深度学习目标检测场景,可帮助研究者和算法工程师解决线路板表面缺陷样本稀缺、标注成本高的问题。包体共1346个文件,容量约584MB,含445张jpg缺陷图像及对应完整的…

作者头像 李华