我使用的工具
1. 樹莓派2B
2. 14年Acer筆記本一台
操作步驟
1. 進筆記本BIOS設定,不同電腦進入BIOS方式不同,BIOS的頁面也不同,找到并設定 WAKE ON LAN [Enable]
2. 在樹莓派中建立一個wake_on_lan.py腳本,寫入如下代碼(main函數中的參數換成自己的環境參數):
import socket
import struct
def wake_on_lan(mac, broadcast_ip=None):
if len(mac) == 17:
mac = mac.replace(mac[2], '')
if len(mac) != 12:
raise ValueError("Invalid MAC address")
data = 'FFFFFFFFFFFF%s' %(mac*16)
magic_data = ''
for i in range(0, len(data), 2):
magic_data = ''.join([magic_data, struct.pack('B', int(data[i:i+2], 16))])
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
if not broadcast_ip:
broadcast_ip = '255.255.255.255'
# sock.sendto(magic_data, (broadcast_ip, 0))
sock.sendto(magic_data, (broadcast_ip, 7))
sock.sendto(magic_data, (broadcast_ip, 9))
if __name__ == '__main__':
#傳入PC網卡的MAC
wake_on_lan('C4:54:44:18:17:2E', '192.168.166.255')
exit(0)
3. 筆記本插上網線,保持關機的狀态,在樹莓派上運作以上代碼sudo python wake_on_lan.py筆記本自己就開機了