巻頭特集記念リレーブログ【5月9日分】になります。愛美mana_catです。最近の出来事としては、4才の息子が「アキバのせんごくに行きたい」と話すようになりました。電子パーツのお店を巡るのが好きなようで、小さな部品を見て目をキラキラさせております。両親の影響を受けて成長しているんだなと感じております。Airを使ってリモート電源制御の仕組みを作ってみました。以前紹介したIoTクリスマスツリーと同様に、家族で楽しみながら作ってみましたよ。きっかけは失敗からこのブログを読んでいる読者の中でも、外出先から自宅PCにSSHでログインする人が少なからずいらっしゃると思います。その際、接続先の自宅マシンを誤ってシャットダウンしてしまい、「ぎゃーー!」と悲鳴を上げた方はいらっしゃるはずです(多分)。して帰宅するまで操作できずに悶々と過ごしてしまう、なんてことありましたよね。我が家では実家帰省中にやらかしてしまい、32コアのPCをリモートで再起動できずに電気代が飛行機代ぐらいになってしまった超痛い経験があります。今年も実家に帰省するので、電気代を無駄にしないよう今のうちに対策を練っておくことにしました。自宅のパソコンにIPMIが搭載されたマザーボードを採用すれば解決するのは分かっていいるものの、マザーボードの価格も高価で、一般家庭では気軽に買える代物ではありませんし、買えたとしても選択肢も多くはありません。よって、IPMIは一般家庭には敷居が高いです。LAN(WOL)というのもあるようですが、電源の状態も確認したいニーズには応えられません。リモート電源制御の作り方それでは、お待ちかねの手順を紹介します。Airを利用しますのでパソコン側はインターネットにつながっていなくてもOKです。L-02C※ラズパイのモデルはZero,ラズパイ2,そして最近発売されたラズパイ3でも構いませんが、差し込むGPIOのピンの場所が変わりますのでプログラム側で少し修正が必要です。接続場所マザーボードの電源スイッチ、リセットスイッチを取り付けるピンヘッダー部分に、今回作る基板を接続します。PiのGPIOから小型リレーを制御し、プログラマブルな電源スイッチを作ります。PiのGPIOは3.3Vなので、小型リレーも3V付近で動作するものを選びましょう。3V」というパーツを用意しました。この小型リレーを使うことで制御ピンに3Vの電圧がかかった時に、小型リレー内部のコイルが動作し、回路がショートし電流が流れます。2つのGPIOピンを別々の小型リレーに繋いで、それぞれにプログラムから1秒程度ON/OFFすることで3Vの電圧がかかって回路がショートすることで疑似的に電源スイッチが押されたように認識されます。この時にON/OFFにするまでの間隔を1秒程度にすると電源ON、5秒程度にすると電源長押しになります。パソコン側のOSがシャットダウン時にハングアップした場合など、電源長押しができた方がよい場合もあるでしょう。リセットスイッチも2個目の小型リレーを使って同じ仕組みで回路を作ります。して、電源状態を確認するために電源LEDを監視します。電源LEDはマザーボードによって3.3Vや5Vの電圧がかかる場合もあるようなので、直接GPIOピンに接続せず、前段に3極レギュレーターを入れて3.3Vに降圧してから使っています。ちなみに自宅のパソコンは電源LEDに3.3Vが流れていました。ダイオードは極性を±逆に差し込んだ場合の対策として入れてあります。上の写真は完成した電源スイッチとリセットスイッチです。10pinのピンソケットがついています。これがラズパイのGPIO部分に差し込まれます。Fritzingで書いた回路図が上の図となります。※ご指摘があったリレーに対する還流ダイオードを回路図に加えました。プログラムからGPIOのピンをINPUTモードに切り替えて、電源ON時に値を取得して1が返ってくると成功です!電源OFF時には0が返ってきます。Airに繋がっている状態でPCに接続をし、最終テストを実施します。経由で電源ON/OFFできるプログラムを夫が作りました。電源スイッチによく使われる2ピンのメスーメスのケーブルがなかなか売っていなくて、電源LEDの詰め合わせ3個セット(50cm)のLED部分を切り落としてハウジングして2ピン化しました。12:00)読者の方からアドバイスを頂きました。ラズパイから直接リレー操作するのはGPIOが影響を受ける危険性があるので、トランジスタとダイオードを使用した方が良いかと思われます。電源LED確認用にレギュレータを使う点についても、マザーボード本体への負荷が大きくなるので抵抗で分圧する、フォトカプラを使う方法が安全という御意見をいただきました。こちらは確認ができ次第エントリーを修正致します。→ご指摘があったリレーに対する還流ダイオードを回路図に加えました。ご連絡ありがとうございました。Pythonのコードで動かす前回の続きです。引っ越し等で更新が遅くなりました。はてなブログPro3人の子どもを育てながら自宅IoTとカメラを楽しむブログ。(2)月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。