OctoPrint用Raspberry Piの電源をPSUから取るのも問題なさそう。 pic.twitter.com/mtb8ujgc8e
— ebith (@ebith) 2019年4月1日
OctoPrintはRaspberry Piなどを使って3Dプリンタの制御や監視を行うシステム。
ブラウザから3Dプリンタを操作できるようになり、カメラを繋げば監視もできる。
Curaから印刷するが実際の作業はOctoPrintに任せることのできるOctoPrint ConnectionをCuraのMarketplaceからインストールしておくと便利。
更にスマートプラグを使うことでコンセントの一本化をしつつ自宅サーバからOctoPrintとスマートプラグを順番にシャットダウンすることで遠隔での電源オフを可能にする。
買い物メモ
- Raspberry Pi 3 B+
- USB2.0ケーブル(A-Bタイプ)50cm
- TP-Link スマートプラグ HS105
- 2.1mmΦDC分岐ケーブル
- 2.1mm標準DCジャック⇔スクリュー端子台 * 2
- 2.1mm標準DCプラグ⇔スクリュー端子台
- OKL-T/6-W12N-C使用 小型高効率DCDCコンバーター可変電源キット(降圧)
- テープLED 白色 18LED 30cm
- Y型 圧着端子 1.25-4
- 適当なケーブルやジャンパワイヤ
電源取り出し
PSUの空いている端子から12Vをとって分岐し片方を5Vに降圧してOctoPrint(Raspberry Pi 3 B+)と照明(12V テープLED)の電源を用意する。
手軽に済ませたかったので分岐ケーブルで2つに分けた。
片方に5V降圧DC-DCコンバータを繋ぎ、もう片方はそのまま12Vで使う。
PSUの端子台へ接続する圧着端子は1.25-4が使える。
せっかく分岐したのだが部屋の照明がスマート化済みで必要ならそっちを付ければ良いということで結局テープLEDは付けなかった。
もし付けるならオンオフをどうするかということになる。
適当な物理スイッチを挟むのかMOSFETなどでRaspberry Piから制御するのか。
電源制御
電源を切るときはOctoPrintをシャットダウンしてから、点けるときはスマートプラグを直接操作するスクリプトを書いた。
OctoPrintとスマートプラグをオンオフするスクリプト
APIキーはOctoPrintの設定からコピーできる。
スマートプラグはルータのDHCP固定割当でIPを固定しておく。
これをRaspberry Pi 3 B+でスマートリモコンを作る - おいら屋ファクトリー経由で呼び出すようにした。
ブラウザやAmazon Echoから3Dプリンタの電源を操作できるようになる。
OctoPrint
OctoPrintはRaspbianにインストール済みのイメージが提供されているのでセットアップは簡単。
OctoPrint.org - Download & Setup OctoPrintに詳しく書かれている。
今後の作業のためにRaspbian Stretch Liteのセットアップ - おいら屋ファクトリーを見ていつもの環境も整えておいた。
インストールしたプラグイン
OctorantでDiscordへ通知が飛ぶ時に部屋が暗いと様子がわからないので暗いときは30秒だけ明かりをつけるOctoPrint用スクリプトを書いた。