PCを電源ボタン押さずに念力(ラズパイ)で起動させてみた

Linux
スポンサーリンク

はじめに

前回の記事から引き続きラズパイ回となります。

久しぶりに Raspberry Pi をセットアップしたら超楽になっていた
はじめに これまで何度も Raspberry Pi をセットアップしてきたのですが、久しぶりに行おうとしたら圧倒的に楽になっていたので、紹介もかねて記事にしました。 今回は、なんと次のような制約でセットアップを進めていきます。 Raspbe...

実は前々からやりたいことがありまして、それは外から家のパソコンを使うということ。今回は、そのためにローカルでパソコンの電源のオンとオフを行えるようにしましたので紹介します。

なお電源のオフはWindowsのリモートデスクトップで電源のオフが行えるため、今回は、前回用意したラズパイZero​を用いて、ネットワーク上からパソコンを起動させるという方法を説明していきます。

ローカルでパソコン遠隔起動

遠隔で起動させる方法

パソコンを遠隔で起動させる場合に最も有名なのが、WoL(Wake-on-LAN)があります。方法は、BIOSとOSで事前にLANのデバイスにWoLを設定しておき、対象のMACアドレスへマジックパケットを送信することで電源起動させるという方法です。ただしこの方法は無線LANを使用しているパソコンには利用できません。

無線LANが接続されているパソコンには、WoWLAN(Wake on Wireless LAN)という方法があります。ただし、この方法はパソコンをスリープ状態にしておく必要があるなど、制約があるようです。

今回は、ラズパイのGPIOを用いて、パソコンの電源をオンにしたいと思います。

ラズパイのGPIOで電源をつけるには

パソコンの電源ボタンを押すという操作を電気で行うことで電源を付けます。

パソコンの電源ボタンはマザーボードのシステムパネルヘッダーの電源端子に接続されているため、ここをショート(メーク)させれば電源をONにすることができます。

TUF GAMING H670-PRO WIFI D4 のデータシートから引用

メークする仕組みを作る

メークする電気回路を作る場合は、リレーという部品を用います。リレーにはいくつか種類があるのですが、稼働電力が小さい、稼働時の音がない、シンプルな回路構成ができる、フォトMOSFETのTLP241Aを用います。

TLP241Aについては、過去の私のブログで登場しているので、使い方はそこもご確認ください。TLP241Aは本当に使いやすくてオススメです!

セカンドライフとリアルをIoTで繋げる
はじめに こんにちはー! なたでです! これまで、セカンドライフとIoTを駆使して、色々チャレンジしてきました。 これまでは、基本的にセカンドライフから、家のネットワーク機器へアクセスして音を鳴らす、あるいはスイッチを付けて、電気毛布をオン...

ラズパイとパソコンと接続する

ラズパイは、GPIO17を接続します。端子については、WHだろうと他のラズパイと互換性をもっています。

あとは、勝手に外れないように、マスキングテープで補強します。

パソコン側は、PCケースの電源ボタンも使えるように電線を並列に接続します。

GPIOを操作するスクリプトを用意する

GPIOを操作するスクリプトは私が以前作った「GPIO.sh」を使うとよいです。

このGPIO.shがあれば、次のように簡単にGPIOを操作できます。

# 出力ポートでHを出力(今回はメーク出力になる)
./GPIO.sh 17 output high
# 1秒待つ
sleep 1
# 出力ポートでLを出力
./GPIO.sh 17 output low

この「GPIO.sh」を操作するための「PowerSwitch.sh」のようなものを作成して、次のように設定できるようにしておくと良いです。

​以下は、実際に作った「on.sh」です。

​#!/bin/sh

# 二重起動防止
pid=$$
filepath="${0}"
if [ $pid != `pgrep -fo "/bin/sh ${filepath}"` ]; then
	return 1
fi

# シェルスクリプトがある場所をカレントディレクトリにする
cd `dirname $0`

./PowerSwitch.sh on
sleep 1
./PowerSwitch.sh off​

完成!

実際にどのように起動するかを紹介します。

おわりに

これで家の中からではありますが、遠隔でパソコンを起動できるようになりました!

今後は、さらに家の外から室内のパソコンにアクセスするといった方法を準備していきたいと思います。

コメント

タイトルとURLをコピーしました