Raspberry pi1台で複数台のKlipper搭載3Dプリンタを制御する方法(KIAUH活用版)

どうして・・・


昨今の半導体不足でなんで今まで買っておかなかったんだ筆頭候補「Raspberry pi」

さらにタイミングの悪いことに「Klipper」の便利さに気づき家にある3Dプリンタを全てKlipper化したい!と思ったところで在庫枯渇状態に・・・(´・ω:;.:...

解決策

raspberry piが1台しかないなら1台で複数台を管理できるようにすればよいのだ!
と、思い立ったまでは良かったのですが、圧倒的Linux力とKlipper力不足で数週間も苦しむ羽目に・・・

注意点として、これが正しい(推奨された)やり方かは分からないです・・・
他にもやり方(DockerでKlipper等をコンテナで動かすなど)はあると思われますが、一応この手順でやれば動かせる(はず)という備忘録的なモノになります。

構成図

(おそらく)こんな感じの構成になっているかと思います。
・同じraspberry pi 上のmoonrakerも待ち受けポートを変えれば区別が可能
・複数USBを接続した際のシリアルポートIDの確認方法
この二つが肝かと思います。

画像1

手順等々

適当にOS(OctoPiとかMailsail OSとか)を入れて頂き、「KIAUH」をインストールします。(省略)

KIAUH https://github.com/th33xitus/kiauh

画像2

KlipperとMoonrakerインストール時にインスタンス数を聞かれるので必要個数を指定してインストールします。(上図はインスタンスを3つインストールした際の表示)
今回はWebインタフェースとして「Fluidd」を選択している。
プリンタにインストールするFirmwareをmake(KIAUHまたは手動)しbinファイルをそれぞれ生成します。
次にKlipperの正規の手順としてはプリンタが繋がっているUSBポートのシリアルポートID(?)を確認する必要がありますが、どうもRaspberry pi4ではKlipper公式に記載されている確認コマンドでは、複数のUSBを接続していても1つのシリアルポートIDしか出てきませんでした。

ls /dev/serial/by-id/*
/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0

そこで、これまたKlipper公式のFAQに載っていた別のコマンドで確認する必要がありました。
https://www.klipper3d.org/FAQ.html#wheres-my-serial-port

ls /dev/serial/by-path/*
/dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.3:1.0-port0
/dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.4:1.0-port0

いまいち原因が分からなかったのですが、Klipper公式の手順では「make flash FLASH_DEVICE=~~」をやる必要があるのですが、どうも上記のコマンドで出てきたIDではエラーが出てうまく完了しませんでした。
ただ、いまのところ問題なく動いてはいます。
あとはbinファイルを対象プリンタにインストールします。
次はFluidd側でプリンタを追加します。
画面上部右側のボタンを押して、出てきたメニューから「Add printer」を押します。

画像3

画像4

URLを登録する画面が出てくるので登録します。
プリンタ1台目(moonraker1)
「http://localhost:7125」または「http://[自身のIPアドレス]:7125」
プリンタ2台目(moonraker2)
「http://localhost:7126」または「http://[自身のIPアドレス]:7126」
※ホスト名やアドレス、ポート番号は環境に合わせて変更ください。
※KIAUH標準ではポート番号は7125から1ずつ加算されて付与されていきます。
これで複数台を管理する準備は完了です。後は各プリンタに合わせてprinter.cfgを修正していただければ利用できるようになるはずです。



余談
雑にほかのプリンタで使っていたprinter.cfgをコピーして仮に入れていたらRaspberry Pi(Klipper)と繋がった直後にノズルが勝手に加熱され始めるというヒヤリハット事例を起こしてしまいました・・・そりゃピンアサインが違うから何が起こるか分からないですよね・・・皆様ご安全に!ヨシッ!

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