0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[備忘録] Rasberry PiでWebからWindowsをWOLできるようにする

Last updated at Posted at 2025-01-12

この記事の内容

  • WindowsのWOL(Wake on Lan)をしたい人のための記事です
  • ラズパイを用いますが,ラズパイ自体をWOLするものではありません
  • WOLするWindows機は物理マシンです

あらすじ

  • 自宅(下宿)のデスクトップWindowsを,リモートデスクトップで使う時以外はスリープしておきたい
  • Wake on Lanという仕組みがあるが,それをCLIではなくブラウザとかからボタン押すだけで実現したい
  • ちょうどサービスはあったので,それを運用するためのセッティングがすこーし必要
  • ラズパイをいじった後などに設定するたび忘れているので,備忘録を残しておく

使用するもの

セッティング

tailscaleの導入

既に導入済み.ちなみに導入方法はDocumentや他サイトにわかりやすくまとめられているのでそちらを参照すれば良い.(参考:https://zenn.dev/xin9le/articles/98c82f4998e22f)

Wakeonlan-serverの設定

基本的には,READMEに従って設定をすれば良い.ただし,requirements.txtで指定されているuWSGIのバージョンが古く,エラーが出るので2.0.27に変更する.

requirements.txt
click==8.0.1
Flask==2.0.1
itsdangerous==2.0.1
Jinja2==3.0.1
MarkupSafe==2.0.1
uWSGI==2.0.28 <-ここを変更
wakeonlan==2.0.1
Werkzeug==2.0.1

以下に,nginxの設定例を示す.

wakeonlan-server.setting
server {
    listen 80 default_server;

    location / {
        include uwsgi_params;
        uwsgi_pass unix:/home/pi/wakeonlan-server/wol.sock;
    }
}

よくあるエラーとしては,sockにアクセス権限がなく,bad gatewayになることがあるので,権限はchmodなどで変更しておく.

あとは,参考サイトにあるように,受け取ったMACアドレスが内部でおかしなことになりエラーとなるので,Windows機のMACアドレスを確認してwol.pyの'addr`に直書きすることで対処した.これは落とし穴だが,Windowsの設定で確認できるMACアドレスはハイフン区切りだが,サーバーで処理するMACアドレスはコロン区切りでなければならない.

最後に,サービスを自動起動させるようにするため,systemctl enable wakeonlan-serverを実行しておく.

まとめ

これでhttp://[TailscaleのIP]/wolにアクセスすれば,マジックパケットを飛ばせるようになった.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?