見出し画像

Klipper を2台のプリンタに接続する

Ender3の設定はそこそこに、Tonxy X5SA Proも接続してみることにしました。
Klipperは複数のインスタンスを作れるみたいなので、2個作ってそれぞれに接続できるようにしてみました。
忘備録を兼ねて記事を書きます。
多分、いじりすぎて壊して再インストールするハメになるから記録は大事です。

これは2個のインスタンスを導入したあとの画面です。

Fluidd はインストールした記憶がないのですが、なぜかエラーになってたので改めてインストールしてみました。

ようやくこれらのアプリの意味が少しづつわかってきました。
ちゃんとサイトの英文を読めばわかるんでしょうけど、読むのがしんどいし、「とりあえずやってみよう」という思考なのであとから知識がついてきてします。だから失敗は多い。

登場してくるアプリはだいたいこんな感じの役割分担です。
Klipper プリンターと接続してプリンターを制御してる。gcodeを生成してるのはこっちかな。よくわからない。
Moonraker Klipperに指令を送るWebAPI。Klipperとの通信はなんだろう?パイプかな?
Mainsail 外部のブラウザとのやり取りをする フロントエンドのWEBアプリ
Fluidd これもフロントエンドWEB UIです。Mainsailと絵面が違う。好きな方を選べばよい。
KlipperScreen タッチパネル用のフロントエンドアプリ。タブレットの画面で入出力を行う。

タブレットPCなのでACアダプターを引っこ抜いてもしばらくは印刷できます。
残量が気になったときは、このコマンドで表示できました。

boyon@klipper-deb11:~$ upower -i /org/freedesktop/UPower/devices/battery_BATC|grep per
   percentage:          96%

これをMainsailとかKlipperScreenの中に組み込めたらよいのですけどね。
よくわからんし、仮にできてもバージョンアップすると消えるだろうなぁ。
とりあえずbashに書いてすぐ見れるようにしました。

まずは既に導入済みのアプリをアンインストール

導入済みのKlipperとMoonrakerはインスタンスを追加することはできないみたいでした。
一度削除して再度インストールすると個数を入力できます。
1個の場合とn個の場合でディレクトリ構成が変わります。
1個のときは klipper_config の直下にファイルができてたのですが
2個にしたらprinter_x というサブフォルダができてました。

KlipperScreen.conf は1個のままです。サブフォルダにも置いてよいらしいがうまくいかなかった。

moonrakerはWebサービスなのでインスタンスごとにポート番号を持ちます。1つ目は7125、2つ目は7126 でした。
それぞれのprinter.cfg を定義します。
X5SA Pro用をgithubからもってきて、昨日作ったEnder3用の設定をぱくってきました。
(とりあえず忘備録なので詳細は別途ということで)

USBのIDは kiauhのメニューで確認できることに気づきました。
AdvancedメニューのGet MCU ID です。

これらを設定すると、すんなり繋がりました。
Mainsail の場合は選択画面がでてきます。
名前は後から付けました。最初は IPアドレス:ポート番号で表示されてます。

iPhoneからアクセスしてみたところ、プリンタ登録をするところから始まりました。どうもブラウザ単位で初期登録をやんないといけないみたい。
X5SAはレベルセンサーがついてるのでベッドの高さが可視化されます。
いやぁ~便利~。
しかし歪みがひどすぎる(笑)
でもそのまま使いました。

X5SAのほうが機能が多いので、各種設定項目が増えています。

おれは本体側にフィラメントセンサーを付けてないんですが、表示上はONになってます。なんで印刷できるんだろう。効いてないじゃん。

レベリングやZ-offsetの設定がよくわかりません。
とりあえず印刷開始時に無理やり合わせました。
ちゃんと操作を覚えないといけませんなぁ。

Mainsail よりも Fluidd のほうが使いやすい部分があります。
どっちがいいとも言い切れないので、好きな方を使おう。

Fluiddのsystem画面

KlipperScreen はちょっと悩みました。
2つのプリンタの設定方法がわかりませんでした。


#~# --- Do not edit below this line. This section is auto generated --- #~#

#~#
#~# [main]
#~# screen_blanking = 900
#~# font_size = small
#~# confirm_estop = True
#~#
#~# [printer X5SA Pro]
#~# moonraker_host: 127.0.0.1
#~# moonraker_port: 7126
#~# moonraker_api_key: False
#~# z_babystep_values: 0.01, 0.05

#~# [printer Ender3]
#~# moonraker_host: 127.0.0.1
#~# moonraker_port: 7125
#~# moonraker_api_key: False


ここに無理やり2つのプリンタを書くと、選べるようになります。
でも、タブレット側で設定変更をすると中身がぶっ飛びました。
#~# よりも上の方に書くのが正しいようです。

[printer X5SA Pro]
moonraker_host: 127.0.0.1
moonraker_port: 7126
moonraker_api_key: False
z_babystep_values: 0.01, 0.05

[printer Ender3]
moonraker_host: 127.0.0.1
moonraker_port: 7125
moonraker_api_key: False

#~# --- Do not edit below this line. This section is auto generated --- #~#

#~#
#~# [main]
#~# screen_blanking = 900
#~# font_size = small
#~# confirm_estop = True
#~#

昔、Windowsアプリを組むときにiniファイルに設定情報の読み書きをやってたんですが、テキストに直接手描きする分とアプリが書き込むのが混ざって扱いづらかった記憶があります。上下で分けて下をアプリの更新エリアにするというやりかたもあるんですね。

仕上がってきたぜー。

この記事が気に入ったらサポートをしてみませんか?