ネットワーク遮断されHIVEOSのアプリでも再起動できない時に、強制的に外部からiphoneを通してマザーボードを再起動する方法を検討しました。
詳細については今後記事にしていきます。
HIVEOSだけじゃなくて、いろんなスイッチ(以下SW)を使いたい場合に活用できるかと思います。
ご参考までに。
1.背景
HIVEOSは非常に便利で、外部からアプリで現在の各リグの状況を確認できたり、OSアップデート、電源OFF、再起動等できます。しかし、それが可能なのは各リグがネットワークにつながっている場合のみです。
例として、上記画像の『Rig2』は何かしらが原因でのネットワークに繋がってません。したがって、マイニングもできていませんし、アプリで再起動もできない状態です。
そして、この症状結構頻繁に発生します。私だけかもですが、、、
通信が途切れる原因は不明。フリーズかなんかしているのかな?
この症状は、概ねリグを電源SWで強制的に再起動することで解消しますが、
もし、外出中ならば電源SWを押すことができません!(今までは妻に押してもらうこともしばしば)
そこで、
リグ電源を出先から再起動する方法を考えることにしました。
(もうすぐPoW終わるのに、、、)
2.再起動の方法
①マザーボードの電源SWについて
リグのマザーボード電源をONにするには、主電源の接続とは別に電源SWが必要です。
この電源SWを短絡させることで電源ON状態にしたり、長押しすることで強制的電源OFFにすることがきでます。
※主電源をON/OFFするだけでは強制再起動にはならないので注意。強制OFFにはなるけど。
短絡する方法ですが、、、
マザーボードのパワースイッチピン(赤枠部)に、
こんな感じのタクトスイッチを取り付けるだけです。
※タクトスイッチは押した時だけ短絡するスイッチのことです。
回路図にすると下のような感じ。タクトSWを押すとマザーボードの『SW+』と『SWー』が短絡(接続)され、電源ONや、強制電源OFFできる。
強制電源OFFはこのタクトSWを長押しすればできる。
なので、ボタンを長押しするのと同じように短絡する仕組みを作ればOK。
※強制電源OFFは本当はやらない方がいい。特にハードディスクを使っている場合。
②マザーボード電源SWを電気信号で短絡させる方法
SWを短絡させる方法としては以下の2通りあると思います。
①機械的にタクトSWを長押しできる仕組みを作る
②電気的にタクトSWの代わりになるような回路と仕組みを作る
①だと機械構造を作る必要があるし、その機械も電気的に制御してやらないといけない。①は②+機械を作るようなものです。
②で考えます。今回はフォトカプラというデバイスを使います。リレーみたいなものです。
フォトカプラを使えば、IoT機器等からの信号でSWのON/OFFができます。
今回はマザーボードのSWが微小電流を使うのでフォトカプラが使えます。
測定したら1mA未満でした。テスターレベルでの測定ですけど。
フォトカプラの説明については以下を参照。
③出先から再起動の信号を送る方法
方法は色々あるようですが、一番簡単そうな『Beebotte』、『Raspberry pi(以下ラズパイ)』、『iPhone』を使って通信することにしました。
参考にしたのは以下のページです。やり方はほぼ同じですが、若干違います。
コードは同じくpythonで作成しました。
その他、ラズパイのWEBサーバー化というやり方もあるそうですが、難易度が高いのとセキュリティの問題があるので手を出したくありませんでした。笑
3.結果
以下のショートカットボタン(RIG1_REBOOT,RIG2_REBOOT)をiPhoneで作成。
押してみると、、、
下の回路を通じてマザーボードを再起動することができました。
ジャンパー線が汚く見にくくてすみません。。。
回路の詳細やコード等の詳細は別途載せます。
4.課題
- ラズパイ起動時にソフトが立ち上がるようにできていない
- ラズパイ立ち上がり時にフォトカプラのSWが数秒ONになり、
マザーボードの電源を落としてしまう - ラズパイがフリーズ、もしくは電源が落ちたら使えない
2.に関して、HIVEOS限定だが、もし落ちてもdiscordでスマホに通知が来るようになっていれば、今回作成したソフトで起動すれば良い。discordのボット登録については以下ページを参照のこと。
以上。ひとまず概要でした。
コメント