見出し画像

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/

画像1

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の端末情報画面>

画像4

3.終了G-Codeの編集

 Klipperのstatusが"Shut down"状態になると、moonraker.confで設定したデバイスがOFFになるので印刷終了時のGコードに以下を追記しておく事で自動で電源を切ることが出来る
  出力終了後にノズルが冷えてから電源を切りたいのだが、現時点(2021年4月)では、M104 の RパラメータをKlipperがサポートしていないので、

画像2

〇〇度まで下がるのを待つことが出来ないため、苦肉の策として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」があらわれる。
このスイッチをクリックすることで、電源のオン、オフが可能になるので
スライサ調整中に遠隔で電源を入れておき、あらかじめベッド温度を昇温させておく事が可能になる。
もちろん、電源オフもここから実行可能。

画像3


もし気に入って頂けたのであればサポートお願いします。 今後の励みになります!