OCTOPRINTでリモート3Dプリントする

振り返ってみると2020年の記事が一個しかなかった。そもそもWordpressが好きになれないというのが大きな問題のような気もする。とりあえず2021年最初の記事では3Dプリンタをリモート制御してくれるWebアプリ OCTOPRINTを使ってみます。

なぜOctoPrint?

うちにある3Dプリンタはネットワークプリントに対応していません。(最近はWifi機能の搭載されたマイコンが安いからWifi機能が搭載された3Dプリンタも増えてるのかな?)

OctoPrintにはOctoPiというRaspberry PI用のRaspbian派生ディストリビューションがあります。そもそもRaspberry PIで動かすのがオーソドックスな使い方で、Raspberry PI以外で使ってるのはあまり見たことがないような。。。

OctoPiを搭載したRaspberry PIを3DプリンタにUSB接続しておくと、パソコンからOctoPiのWebアプリに対して印刷データを送ることでリモート印刷することができるようになるので、3Dプリントのトライ&エラーの繰り返しが楽になるはず。

今までSDカード抜き差し繰り替えするのがかなり面倒だった。。。一時期は東芝のFlashAirで簡易無線化してたのだけど、いつからかFlashAirがPCから見えなくなってしまったので、それ以来SDカード抜き差し方式に戻ってしまっていた。

セットアップする

OctoPrintの公式サイトからOctoPiのディスクイメージがダウンロードできるのでそれをいつものEtcherでマイクロSDカードに書き込む。ちなみにRaspberry PI公式サイトを見ると、いつのまにかEtcherじゃなくて専用のRaspberry Pi Imagerというソフトが用意されている。

EtcherでOctoPiのイメージを書き込んだら、マイクロSDカードの中にあるoctopi-wpa-supplicant.txtを開いてWifiに接続できるようにSSIDとパスフレーズを書き込む。このマイクロSDカードをRaspberry PIに差し込んで電源を入れてしばらく待つと、pi@octopi.localでssh接続できる。初期パスワードはいつものraspberry。ホスト名がraspberrypiではなくてoctopiであることに注意する。ついでにRaspberry PIのCSIポートにラズパイカメラを接続しておく。

いちおうpasswdでパスワード変更と、sudo apt update && sudo apt full-upgrade -y && sudo apt cleanで最新OSに更新しておく。(この手順ではOctoPrintは更新されてなかったみたい。この後でOctoPrintのWebUIを触ってたら更新通知がでてきてUI上から更新できた。)

あとはブラウザからhttp://octopi.localに接続するとOctoPiのセットアップがはじまるのでそれなりに設定値を入れておく。(忘備録:Original Prusa i3MK3の印刷範囲は250x210x210)

設置する

3Dプリンタの近くにRaspberry PIを置いて、USBケーブルで接続する。ただこのとき必要なのはTypeBのケーブル。ミニBでもマイクロBでもないごついやつ。最近TypeBなんて使う機会がないのでケーブルが手元になくて焦った。道具箱を漁ったらShigezoneで買ったタイプBケーブルが見つかった。たしかArduino UNO互換機とセットで買ったやつ。

OctoPrintの画面
OctoPrintの画面画面

Connectを押すとつながったぽい。Controlタブを開くとカメラの映像が表示されてヘッドのXYZを操作できた。

お試し印刷してみる

せっかくなのでタイムラプス撮影を有効にして何か印刷してみる。印刷データはプリンタにさしてあるSDカードにUploadするかRaspberry PIにUploadするかを選べるみたい。

OctoPrintのgががmがめがめn画面画面

ブラウザからUploadしたら印刷始まった。ヘッドとベッドの温度がグラフで表示されてかっこいい。

印刷中の様子が撮影される

最後に

ずっと前からやってみたいと思ってたのでとりあえず動くようになったのでよかった。

(プリンタを組み立てた時からOctoPrintは試してみたかった。実はOriginal Prusa i3MK3Sは制御基板に直接Raspberry PI ZeroをぶっさしてOctoPrintで制御できるらしいので、それを試そうと思って、組み立て時に制御基板ケースにZERO用の穴をあけておいたのだけど、ZEROだと処理速度がいまいちという情報を見かけたので、結局USB接続の3Bでやってしまった)

あとはRaspberry PIからプリンタの電源ON/OFF操作できるようにしたいのと、カメラとRaspberry PIの設置位置をちゃんと整えたい。そもそも温度維持のためのケースももうちょっときっちりしたい。今はスタイロフォームをガムテープで張り合わせてるけどペロペロはがれてきがちなので、接着するか、なにか別の方法でかっちり固定するかしたい。