公司台式机用于做开发,为了节能非工作时间段通常会睡眠或关机,但经常需要远程到公司台式机处理一部分事务,所以尝试给此台式机设置远程网络唤醒。
经过测试,无论睡眠状态还是关机状态均可以远程网络唤醒。
一、主板配置
主板型号如下:
高级电源管理设置如下:
启动项设置如下:
二、Windows10配置
2.1 关闭快速启动
控制面板硬件和声音电源选项系统设置页面配置如下:
2.2 网络控制器
打开设备管理器,并打开网卡属性页面。
三、远程唤醒
下载WakeMeOnLan,根据MAC地址唤醒即可。
四、脚本唤醒
wol.py内容如下:
#!/usr/bin/env python #coding=utf-8 import socket, sys import struct def to_hex_int(s): return int(s.upper(), 16) dest = ('192.168.1.255', 9) if len(sys.argv) < 2: print("usage: %s <MAC Address to wakeup>" % sys.argv[0]) sys.exit() mac = sys.argv[1] spliter = "" if mac.count(":") == 5: spliter = ":" if mac.count("-") == 5: spliter = "-" if spliter == "": print("MAC address should be like XX:XX:XX:XX:XX:XX / XX-XX-XX-XX-XX-XX") sys.exit() parts = mac.split(spliter) a1 = to_hex_int(parts[0]) a2 = to_hex_int(parts[1]) a3 = to_hex_int(parts[2]) a4 = to_hex_int(parts[3]) a5 = to_hex_int(parts[4]) a6 = to_hex_int(parts[5]) addr = [a1, a2, a3, a4, a5, a6] packet = chr(255) + chr(255) + chr(255) + chr(255) + chr(255) + chr(255) for n in range(0,16): for a in addr: packet = packet + chr(a) packet = packet + chr(0) + chr(0) + chr(0) + chr(0) + chr(0) + chr(0) s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.setsockopt(socket.SOL_SOCKET,socket.SO_BROADCAST,1) s.sendto(packet,dest) print("WOL packet %d bytes sent !" % len(packet))
下载连接:wol
使用方式:
python wol.py 40-B0-76-7F-4A-0D
Web版远程唤醒链接:http://wol.dev.tianheng-uestc.com/