どうも前回はネットワーク構築でやらかしたITシステム素人系,IoT担当のmath03です.
なんだかんだでネットワーク構築ができ,様々な機器を動かせる準備ができたので,今度は
①PCの電源ON/OFF操作をできるようにすること
②その他の機器をリレーやモーターなどで制御すること
を目指して色々とトライしてみました.
まず①PCの電源操作については,常に起動しているVPNサーバーを起点として,他のPCの電源を操作することにしました.
方法としては,シャットダウン状態のPCに対して,マジックパケットというデータを送り込むことで電源を入れることができます.昔,遠隔操作に興味があった時に知識として得たのですが,詳しい内容は不明だったので早速具体的な方法を調査.
どうやら,BIOS/UEFIの設定とOSの設定が必要ということで,ちゃちゃっと設定.
調べる過程で,マジックパケットをボタン一つで送ってくれるソフトnWOLを発見したので,早速VPNサーバーになってるPCにインストールしました.ソフトはこんな感じです.
これで画像の電源ボタンを押すと電源がONできる(Wake On LAN/WOL)ようになったのと,登録したネットワーク上の機器の電源ON/OFF状態も監視できるようになりました!すごい便利!
次に②その他の機器をリレーやモーターなどで制御する場合,マイコンを使う必要があります.
まずは汎用的に使えるものとして,スイッチの電源を物理的にON/OFFする”Switchbot”のようなものを作りたい! と思い,PCから送信された情報を,無線でマイコンが受け取り,サーボモータを動かすような方法を調べました.
すると,NodeMCU(マイコン),SG90(サーボモータ)を組み合わせると1000円程度と非常に安価にスイッチ制御できる! ということが分かったので,早速購入.
- 非常に安価
- Wifi通信が可能
- Arduino IDEが利用可能
次に通信方法をどうするかということで調査を行ったところ,
以下の特徴を持つMQTTという方式を導入することにしました.
- 多数相手への通信が可能(1⇔多,多⇔多)
- 通信が不安定な環境でも安定した処理が可能
- 通信データ量が小さい 等
今回は,①についてすべて内部ネットワーク上で動作するか確認しました.
まず,BrokerをRaspberry pi上に作りました.方法はMosquittoというアプリをインストールするだけです.
次に,マイコン側に情報を送信するための方法が必要になります.調べたところ,MQTTBoxを使い,値を入力するとサーボモータが動くようになるそうです.
操作状況はこんな感じです.方法はOsoyooという会社が公開している内容を参考にしました.
ただ,MQTTBoxは実験には良さそうだけど,ぱっと見で使いにくそうだし,Webアプリか携帯アプリで分かりやすく操作できるとよいなぁ.と思い,そこでふと"○○を使えばできるんじゃないか"と思い出したところで,今回の話は終わり.
次は簡単にWebアプリを作って,モータの操作した内容を報告しようと思います.
※お金があって時間をかけずに,色々とリモート化をしたい人は,switchbotを使うとよいと思います.単に電源スイッチのON/OFFだけでなく,スマートスピーカーなどの遠隔操作もできるようになります.
EmoticonEmoticon