おはようございます!マネジメントオフィスいまむらの今村敦剛です。
VPNAzure+SoftEtherとマイクロソフトのリモートデスクトップでリモート接続をしています。これまでPC電源の遠隔制御ができていなかったのですが、SwitchBotボットを使って「擬似Wake on LAN」みたいなことができました😊
夏場の熱でPC(サーバ)の調子がおかしいのではないか
当社はVPNAzure+SoftEtherとマイクロソフト謹製のRemote Desktopでシンクライアントシステムを構築していますが、その仕組みは下記のとおりです。Softetherというフリーソフトで、オフィスのメインPCをVPNサーバにして、Windows標準機能のリモートデスクトップで外出先から接続しにいくという、ごく普通の使い方ですね。なお、VPN構築の目的は、外出先の端末のローカルに重要な情報を保存せずに済ませるためです。
この仕組み、安価だし、大した技術力もないぼくでも構築できるので、とても満足しているのですが、デメリット?があるんですよね。それはリモートデスクトップ接続先のPCをつけっぱなしにしないといけないことです。宿泊を伴う出張中は数日つけっぱなしにすることもザラです。そういう使い方をすることを想定し、風量のあるファンやグリスも厳選してPCを構成したんですけど、やっぱり夏場の熱量には耐えられないようで、よく固まったりブルースクリーンが出たりしました。(冬場はそんなことはまったくなかった)
もっと風量のあるファンに取り替えるという選択肢もあったんですけど、対処療法だなあという気がして、Wake On LANでPC電源の遠隔制御をしようと思ったのです。しかしいろいろ調べてみると、Wake On LANは非常に厄介だということがわかりました。ぼくの技術力では手におえそうにない……ということでいろいろ調べてみると、SwitchBotボットというスマートデバイスを使って「擬似Wake on LAN」みたいなことができることを知ったわけです。
SwitchBotボットでPCの電源を遠隔で物理的に押す
SwitchBotボットとは、物理ボタン(壁の照明スイッチや炊飯器、コーヒーメーカー、空気清浄機などの機器のボタン)を押す機構のついたIoT機器です。
一般的なIoT機器はテレビやエアコンのリモコンの赤外線を読み取るだけの機能しかありませんが、このSwitchBotボットは物理ボタンを押してくれるというユニークなものです。当社のオフィスでも、証明のスイッチをオンオフするのに導入実績がありました。
これを使ってどう「擬似Wake on LAN」を実現するかを、イメージ図で説明します。まずはスマホアプリでPC電源オンの指示を出すと、どういう仕組みなのかはよくわかりませんが、社内ネットワークに接続されたハブミニというデバイスを通じて、PCの電源周りに取り付けたスイッチボットを動かしてくれます。おそらくハブミニはSwitchBot Cloudというメーカーが用意したクラウドにVPNでセッションを貼り、そこでスマホアプリ側からの要求をポーリングしているんじゃないかと思います(自信はない)。ルーター設定しなくても、しかもルータのWAN側に固定IPがなくても制御ができますからね。
(ということで、ハブミニがないと遠隔での電源操作ができません。注意してくださいね)
というわけでこの仕組みを使ってPCの電源をいれると、OSが立ち上がった時点でSoftEtherのサーバー管理マネージャーも立ち上がります(システム起動時に自動的に VPN Server の動作が開始されるのがデフォルトのよう)。その後、外出先のクライアントからVPNセッションを貼り、リモートデスクトップを起動すれば、遠隔で電源オン→VPN接続→リモートデスクトップまでができるという寸法です。(実際これでうまくいきました)
SwitchBotボットの開封とPCへの取り付け
まずはSwitchBotボットの開封から。
同梱物です。
本体の大きさは4cm強といったところ。仕様を見ると厚みも2.4cmあるので、まずまずの存在感があります。
これが取り付けをするPC(VPNサーバー兼リモートデスクトップ先)。電源ボタンを押せる位置にSwitchBotボットを取り付けるわけですが……
まずは位置決めから。まずまずの存在感があります。見た目は決して美しいとはいえませんね。このPCの電源ボタンの位置が、たまたま他のボタン等と干渉しないところだったからよかったものの、ケースの種類によっては取り付けができないものもあるかもしれません。事前に調べておくことが欠かせませんね。
そして絶縁フィルムを剥がします。これで電源が入る?状態になります。
絶縁フィルムを剥がして、SwitchBotボットを両面テープで貼り付けたところ。まあ、あまり目にしないところとは言え、存在感があるなあ。
側面からみた感じです。SwitchBotボットを取り付けても、指で電源ボタンを押せるくらいの余白があります。
スイッチボットアプリの設定
詳しい設定方法は割愛しますが、この後でハブミニとスイッチボットをアプリで連携してあげないといけません。(ハブミニがないと、外部からの遠隔操作ができません。ハブミニなしでは、室内でのBluetoothによる操作しかできません)
スイッチボットは、押す時間の設定ができるのですが、ぼくは「オンのときは1秒」「オフのときは10秒」という設定をしました。
モードをカスタムモードにすれば、オンのときの挙動とオフのときの挙動をわけて設定することができるんですよね。
これがオンのときの設定。
そしてこれがオフのときの設定。
「オンのときは1秒」でいいのはわかると思いますが、「オフのときは10秒」という設定にしたのは、もし外出中にPC(VPNサーバー兼リモートデスクトップ先)が固まった時に、電源ボタン長押しで強制終了するためです。これでPCになにかあっても、なんとかする手立てが残されました(強制終了後にセーフモードで立ち上がるようなことがあれば、その時点で詰みですけどね)。
このあたりはPC(VPNサーバー兼リモートデスクトップ先)が固まらないと検証ができないので、とりあえず秒数は10秒にしています。まあ、ぼくのPCだと4秒くらいで強制終了しますけどね。
基本的にはリモートデスクトップで通常通りシャットダウンをして、電源の遠隔制御は「オン」だけという運用になると思います。
SwitchBotボットで電源を入れてからVPN接続するまで、ぼくの環境では1分強
ところで、遠隔で電源を入れてもすぐにVPN接続はできません。OSが立ち上げる時間があるからですね。OSが立ち上がってPINコード等の認証画面になっても、すぐにVPN Serverは動作しません。だいたい、スイッチボットで電源を入れてからVPN接続するまで、ぼくの環境では1分強でした。このあたりは、PCのスペックや、インストールしているアプリなどの環境に依存するはずですね。
電池切れのリスクは運用でカバーする
この仕組みで不安なのは、SwitchBotボットの電池切れのリスクがあることです。電池はCR2リチウム電池(3V)が使用されており、バッテリー寿命はAmazonの製品紹介サイトによると600日とのこと。
ただ、600日ギリギリまで使うのはちょっと怖いので、1年に1回交換するようにしたほうが無難かなと思っています。といっても年1回だと忘れてしまうので、Googleカレンダーで毎年11月1日に電池交換をリマインドするように設定しました。
さあ、これでうまくいきますかね?😊