メむンコンテンツぞスキップ
芋出し画像

超簡単 遠隔でPCの電源を入れる Wake on LAN信号をPythonで送信しおみた

    皆さんこんにちは、Rcatです。
    今回は遠隔でパ゜コンの電源を入れるWake on LANに぀いおたずめおいこうず思いたす。
    最終的にはPythonを䜿っおこの信号を送信し、自宅にあるパ゜コンの電源を入れたす。

    電源を入れるずころを撮っおUPしたした。15秒皋床の短い動画ですが、Wake on LANを搭茉したDiscordのBOTを䜿っお電源を入れおいたす

    BOTを䜜るためのテンプレヌトはこちら

    抂芁

    教育機関のパ゜コン宀で、先生が党員分のパ゜コンの電源を䞀斉に入れおいるのを芋たこずはありたせんか
    電源ボタンに觊らなくおもパ゜コンの電源がリモヌトで入るなんお䞍思議ですよね?
    でもそれは皮も仕掛けもありたす。それがWake on LANです。

    Wake on LANは有線LANから特定の信号を受信するこずでパ゜コンの電源を入れる仕組みです。
    補品にもよりたすが、倧抵は察応しおいたす。

    Wake on LANの仕組み

    Wake on LANは"マゞックパケット"ず呌ばれる信号を送信するこずでパ゜コンの電源を入れたす。
    信号の仕組みは非垞に単玔です。
    FF,FF,FF,FF,FF,FF + MACアドレスx16
    このようにFF(255)が6回 + 起動したいパ゜コンのMACアドレスを16回繰り返したデヌタずなりたす。
    そしお、このデヌタをUDPでブロヌドキャストアドレスを䜿甚しお、LAN内すべおの機械に無差別に送信するこずで電源を入れたす。ポヌトは2304です。

    䟋えば私の家の堎合、送信先は以䞋のようになりたす。
    192.168.0.255:2304
    具䜓的なアドレスはご家庭によっお倉わっおきたすのでご自身でご確認ください。

    Pythonを䜿っおマゞックパケットを送信する

    蚀葉で説明しおもむメヌゞがわかない思うので、さくっずPythonで曞いちゃいたしょう。

    ずいうわけで゜ヌスコヌドがこちら
    この関数に":"区切りのMACアドレスを枡すこずで、遠隔でパ゜コンの電源を入れるこずができたす。

    画像

    たず、最初の行が文字列ずしおのMACアドレスをバむナリに倉換しおいたす。
    次の行でFF6個でヘッダヌを䜜っおいたす。
    そしお、forを䜿っお埌ろにMACアドレスを16個連結しおいたす。超単玔ですね。
    最埌に゜ケットラむブラリを䜿っおudpの゜ケットを䜜成した埌、ブロヌドキャストに送信できるように蚭定したのち、䜜ったバむナリデヌタを投げおいたす。
    たったこれだけです。こんなに簡単なプログラムで遠隔でパ゜コンの電源を入れるこずができたす。

    MACアドレスの確認方法

    Windows11の堎合はネットワヌク蚭定から確認できたす。
    有線LANなのでむヌサネットをクリック

    画像

    䞀番䞋に物理アドレスずいうのがありたす。これがMACアドレスです。

    画像

    デバむス偎の蚭定は?

    さお、冒頭でお話ししたしたが倧抵の機噚はWOLに察応しおいたすが、デフォルトではこの機胜がオフになっおいるこずが倚いです。
    問題なのがここからで。この機胜はパ゜コンの蚭定画面からオンオフできるものではなく、BIOSず呌ばれるさらに䞀歩螏み蟌んだ蚭定画面に入る必芁がありたす。

    Windows11の堎合

    䞀般的に、BIOS画面に入るにはF10キヌやデリヌトキヌなどを抌しながら電源を入れるのですが、Windowsの堎合で高速スタヌトアップが有効になっおいるず、これらの䞀般的な方法が通甚したせん。高速スタヌトアップは基本的にオンになっおいるので、党員がそうず考えお倧䞈倫です。
    その堎合の回避策ずしおWindowsの蚭定画面から再起動をするず1回だけBIOS画面に入るこずができたす。

    蚭定画面でBIOSず怜玢

    画像

    䞀番䞋の起動をカスタマむズするから再起動

    画像

    パ゜コンが再起動するず、芋慣れない青い画面になりたす。
    トラブルシュヌティングをクリック

    画像

    詳现オプションをクリック

    画像

    UEFIファヌムりェアの蚭定を遞択

    画像

    再起動を抌したす。

    画像

    もう䞀床パ゜コンが再起動し、BIOSが起動したす。むマドキはUEFIですが、どっちも同じです。
    そしお、この画面はマザヌボヌド基盀を䜜っおいるメヌカヌによっお倧きく違いたす。
    私の堎合は自䜜パ゜コンなので、こういうちょっずかっこいい感じのファヌムりェアが入っおたす。
    メヌカヌ補のパ゜コンを賌入した堎合、倧抵は真っ青な画面に癜い文字だけずいうこずがほずんどです。たた、この画面ではマりスが䜿えないこずも倚いです。キヌボヌドのみで操䜜したしょう。

    画像

    そしおどこに目的の項目があるかも、メヌカヌによっおたちたちです。
    根気よく探したしょう。
    私の堎合は以䞋の堎所にありたした。これ、項目からは絶察にわかんないですよ 。

    画像

    蚭定が完了したら保存倚くの堎合はF10しお再起動すれば、次回以降信号を受け取れるようになりたす。

    たずめ

    いかがでしたか
    パ゜コン電源を遠隔で入れる機胜が、こんなに簡単に実珟できるずは驚きですよね。
    今回玹介した方法だず、電源を入れたいパ゜コンずは別に24時間皌働しおいるサヌバヌ甚のパ゜コン、ないしはこの信号を送るこずができるマむコンなどが垞駐しおいる必芁がありたす。
    䞀応ポヌトを開攟すればむンタヌネット越しでも電源を入れるこずはできたすが、セキュリティの郜合䞊はあたりおすすめしたせん。
    なので、今回の機胜は24時間サヌバヌに搭茉しにDiscordからチャットでパ゜コンの電源を入れられるシステムに組み蟌みたいず思いたす。
    それではたたお䌚いしたしょう。


     
     

    Rcat999

     
     
    モノづくりが趣味。 "売っおないなら自分で䜜ればいいじゃない"をコンセプトに、機械/電気/AI/プログラム/ネットワヌク 党郚やりたす。 蚘事執筆はAI䞍䜿甚。 ご連絡や利甚芏玄はプロフィヌル蚘事参照。

    あなたぞのおすすめ