KlipperとTP-Link スマートプラグで、プリント終了後に自動で電源を切ったり、遠隔で入れたりする方法メモ
3Dプリンタで印刷が終了したら、KlipperからTP-Linkのスマートプラグを使って電源を切れるようにする方法。
遠隔で事前に電源を入れてベッドを温めておくことも可能になる。
Klipperは、tp-linkのスマートプラグによる電源管理に対応している。他にCurrently GPIO (relays), Tasmota (via http) 等をサポートしているがよく知らない。
ココに書いてある。
1.tp-linkスマートプラグ
使ったのはこれ
https://www.amazon.co.jp/gp/product/B078HSBNMT/
2.moonraker.conf の編集
moonraker.confの一番下に以下を追記
***.***.***.*** の部分は、それぞれのスマートプラグが接続されているIPアドレスに変更すること。
IPアドレスの調べ方はいろいろあるんだと思うが、スマホのKasaアプリで該当するスマートコンセントの端末情報を見ると「MACアドレス」が参照できるので、ルータの接続状況画面から該当MACアドレスを探す事で知ることが出来る。(他に方法あるのかもしれないけど、今思いつくのはこれだけ)
またDHCP接続だとアドレスが変わる可能性があるので、ルータの設定でIPアドレスは固定にしておいた方が良い。
[power device_name]の部分は[power ENDER3]の様に変更可能。
変更した場合4項にあるプルダウンメニューに表示される名称が変わる
[power device_name]
type: tplink_smartplug
off_when_shutdown: true
restart_delay: 1.
address: ***.***.***.***
port: 9999
<参考:KASAの端末情報画面>
3.終了G-Codeの編集
Klipperのstatusが"Shut down"状態になると、moonraker.confで設定したデバイスがOFFになるので印刷終了時のGコードに以下を追記しておく事で自動で電源を切ることが出来る
出力終了後にノズルが冷えてから電源を切りたいのだが、現時点(2021年4月)では、M104 の RパラメータをKlipperがサポートしていないので、
〇〇度まで下がるのを待つことが出来ないため、苦肉の策としてG4コマンドで10分ウェイトを入れてから切る様にする。
使い方:G4 P<milliseconds>
G4 P600000 ← 10分になる。
後のM104 R50はコメントアウトしておく。
(将来Rパラメータが使える様になったら戻そう)
※終了時Gコードの例(実際に私が使っているもの)
M104 S0 ; turn off extruder
M140 S0 ; turn off bed
G91 ; use relative coordinates
G1 Z5 F5000 ; lift nozzle by 5mm
G90 ; use absolute coordinates
G28 X0 ; home X axis
G1 Y180 ; move Y axis to end position
M84 ; disable motors
G4 P600000 ; Stop here for 10 minutes to cool the nozzle.
;M109 R50 ;Wait until the temperature of the extruder reaches 50°C
M104 S0 ; turn off extruder
M107 ; turn off fan
M112 ;Shutdown(for power off tp-link smart plug)
最後のM112でシャットダウンさせるとtp-linkの電源がOFFになるので少しエコです。
但し、原因不明だが5%ぐらいの確立でM112を投げても電源が落ちない事が発生している。持っている全ての3DPで発生しているので、今後のアップデートで改善されるのかもしれない。
4.Klipperから電源オンオフ
成功すると、右上プルダウンメニューに「Power Device」があらわれる。
このスイッチをクリックすることで、電源のオン、オフが可能になるので
スライサ調整中に遠隔で電源を入れておき、あらかじめベッド温度を昇温させておく事が可能になる。
もちろん、電源オフもここから実行可能。
もし気に入って頂けたのであればサポートお願いします。 今後の励みになります!