在我做的项目中,大部分都需要用到自动开机这一功能。本文介绍一下可用的方案。
1.智能插座通电开机
这个方案需要搭配比如小米智能插座等产品,原理是基于电脑bios设置的"来电状态"控制开关机。
1.1 BIOS设置来电状态为on
关机后,再开机,然后进入bios设置页面。
找到"来电状态",设置为on。
1.2 设置小米智能插座
在米家中,把小米智能插座添加进去,然后配置网络,让智能插座连上WIFI网络。
1.3 控制电脑开关
把电脑的电源插在智能插座上。
然后在米家中控制智能插座关闭,就能看到电脑没有电,自己就关机了。
然后控制智能插座开启,就能看到电脑接通电源后,自己就开机了。
1.4 总结
方案缺点:
- 需要小米智能插座,额外花费几十块钱。
- 必须要有WIFI。
方案优点:
- 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 Lan、Power On By PCI-E、Inter 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调试助手来测试网络唤醒是否有效。
2.5 总结
此方案优点:
- 不需要额外采购硬件。
- 稳定。
缺点:
- 必须要使用网线,且连接在一个局域网内。
实际情况中,局域网内所有设备的唤醒和关闭可以通过局域网内的某一台server连接云服务器来实现内网、外网的连通。