树莓派折腾记(三)-- 远程启动 Windows 电脑

Trust your own strengths.——《指环王1:护花使者》

相信自己的力量。

PS: 阅读这篇文章前请确认你的主板支持网络唤醒功能!!!

前言

  最近搞了下 Selenium 自动化,需要将代码打包成可执行程序,搜索了一番发现 Pyinstaller 还挺好用,在我电脑上打包执行没什么问题。但是在进一步折腾的过程中发现,这玩意不太跨平台呀!我上班使用的电脑是 Mac M1 的,打包的可执行程序只能在我自己电脑上运行,搜索了一下发现,什么系统及架构打包的程序,只能在同样的系统及架构上运行,这就好尴尬了。

解决方案

  研究了一下,发现可以用 etherwake 这个软件,在知晓目标机器的 MAC 地址的情况下,发送魔术封包(Magic Packet)就可以远程唤醒机器。很早之前我的树莓派就通过有公网 IP 的服务器做了内网穿透,家里的 Windows 台式机和树莓派在同一局域网内。那么只要把家中的电脑搞定相关配置,就可以远程通过树莓派唤醒 Windows,然后再由远程控制软件操作 Windows。

Windows 设置

  我的 Windows 台式机主板是某硕的 TUF GAMING B660M-PLUS D4(不同主板的设置不同,具体可度娘),在按下电源键后,狂点 DEL键 或 F2 键进入 BIOS,然后按 F7 进入高级,点击高级,往下滑找到高级电源管理(APM),点击进入

  将由 PCI-E 设备唤醒设置为 Enabled,然后按 F10 保存重启电脑进入系统

  打开设备管理器,找到你的有线网卡,右键点击属性,点击高级

  将关机 网络唤醒以及魔术封包唤醒开启

  点击电源管理,勾选允许此设备唤醒计算机

  打开控制面板,找到电源选项,点击选择电源按钮的功能

  取消勾选启用快速启动(推荐)

树莓派设置

  树莓派只需安装 etherwake 即可,我的树莓派系统是 Ubuntu,其他系统请自行度娘

1
sudo apt install etherwake

  命令的格式为:sudo etherwake -i 本机网卡名称(树莓派) 目标MAC地址(Windows)

1
sudo etherwake -i eth0 AA:FF:99:77:AA:66

  如果以上顺利的话,你就可以通过树莓派远程开启你的电脑了。对了,不要忘记打开电源哦!