电脑远程开机唤醒方案

在我做的项目中,大部分都需要用到自动开机这一功能。本文介绍一下可用的方案。

1.智能插座通电开机

这个方案需要搭配比如小米智能插座等产品,原理是基于电脑bios设置的"来电状态"控制开关机。

1.1 BIOS设置来电状态为on

关机后,再开机,然后进入bios设置页面。

找到"来电状态",设置为on。

1.2 设置小米智能插座

在米家中,把小米智能插座添加进去,然后配置网络,让智能插座连上WIFI网络。

1.3 控制电脑开关

把电脑的电源插在智能插座上。

然后在米家中控制智能插座关闭,就能看到电脑没有电,自己就关机了。

然后控制智能插座开启,就能看到电脑接通电源后,自己就开机了。

1.4 总结

方案缺点:

  1. 需要小米智能插座,额外花费几十块钱。
  2. 必须要有WIFI。

方案优点:

  1. anywhere,anytime,只要插座连上网,就能控制电脑开机。

2.网络唤醒

2.1 禁用电源的快速启动

这一步,针对某些电脑才有这个设置,比如笔记本就会有电池,就需要设置这一步。

但台式机普遍是电源直插,没有电池,大部分没有这个选项。最好检查一下自己的电脑有没有这个选项。

1)windows搜索"选择电源计划",并打开。

2)查看右边"首选计划",找到自己电脑勾选的计划,并点击"更改计划设置"。

3)取消勾选"启用快速启动"选项。

4)保存。

2.2 设置网卡驱动程序允许设备唤醒计算机

1)打开"设备管理器"。

2)点击"网络适配器",并展开。找到自己电脑的有线网络适配器。

一般都是上图画圈的这个名称。

 3)右键,点击"属性"。

4)点击"电源管理"选项卡。

5)勾选"允许此设备唤醒计算机"选项。

6)勾选"只允许幻数据包唤醒计算机"选项。

7)取消勾选"允许计算机关闭此设备以节约电源"选项。

8)再点击"高级"选项卡。

9)在"属性"滑动框中找到"关机 网络唤醒",设置""为"开启"。

8)点击"确定"。

2.3 BIOS启用网络唤醒功能

1)关机,再开机,进入BIOS页面。

2)设置"Erp"为"Disabled"。名称可能不一样,只有这个选项关闭后,才会出现下面的网络唤醒选项。

3)找到(Wake On LanPower On By PCI-EInter LAN Controller),设置为"Enable"。因为不同的主板,名称可能不一样。

4)保存BIOS设置,并退出。

如果BIOS没有以上的选项,说明主板不支持网络唤醒。

2.4 局域网内唤醒

唤醒电脑,需要知道被唤醒电脑的MAC地址。

所以打开网络属性,查看一下要被唤醒的电脑MAC地址,复制下来。

 

接着通过UDP广播来发送消息,相当于给本地局域网内所有的在线设备都发送了一条消息过去,这条消息内容是:"MAC地址是xxxxxxx的设备,请开机"。

被唤醒的电脑收到消息后,打开一读消息,就知道了,我要开机。

 

发送的消息格式:FF  *  6 +  MAC地址 * 16 

比如被唤醒的电脑MAC地址是 0A - 0B - 0C - 0D - 0F - 0E  ,那对应发送的指令(16进制发送)为:

FF FF FF FF FF FF 0A 0B 0C 0D 0F 0E 0A 0B 0C 0D 0F 0E 0A 0B 0C 0D 0F 0E 0A 0B 0C 0D 0F 0E 0A 0B 0C 0D 0F 0E 0A 0B 0C 0D 0F 0E 0A 0B 0C 0D 0F 0E 0A 0B 0C 0D 0F 0E 0A 0B 0C 0D 0F 0E 0A 0B 0C 0D 0F 0E 0A 0B 0C 0D 0F 0E 0A 0B 0C 0D 0F 0E 0A 0B 0C 0D 0F 0E 0A 0B 0C 0D 0F 0E 0A 0B 0C 0D 0F 0E 0A 0B 0C 0D 0F 0E  

 

可以使用TCP-UDP调试助手来测试网络唤醒是否有效。

TCP_UDP_Assistant.zip

2.5 总结

此方案优点:

  1. 不需要额外采购硬件。
  2. 稳定。

 

缺点:

  1. 必须要使用网线,且连接在一个局域网内。

实际情况中,局域网内所有设备的唤醒和关闭可以通过局域网内的某一台server连接云服务器来实现内网、外网的连通。