Prusa i3 MK3Sで印刷を始めて2ヶ月近く経ちますが、ほぼ毎日20時間以上は稼働している状態です。そのため、1000時間以上は印刷しているワケです。(この記事を執筆していた当時)

Prusa i3 MK3Sを愛用してる いつもの匠 です。
愛用する Prusa i3 MK3Sには、総利用時間1000時間超、修理パーツだけで10万円以上かけました。
日夜ずーっと印刷を続ける中で、とにかく沢山の成功失敗を繰り返しました。その中で、かなり面白くてハマっている OctoPrint というオプションデバイスについて紹介したいと思います。
3Dプリンタをネットワークから管理したい
3Dプリンタを利用していると、次のようなことを感じ始めます。



印刷が完了したり、エラーになったら通知して欲しい



わざわざ覗き込まなくても状況を把握したい



SDカード経由じゃなく、ネットワーク経由でGcodeファイルを渡したい



印刷している様子を動画撮影してみたい などなど
3Dプリンタを使いこんでいくと、こんな要望はあるあるです。世の中にはこれらの予防を解決する縦断の1つとして、OctPrint(オクトプリント)が開発されました。
OctoPrint を使い始めよう
次のソフトウェアを利用することで、先程の要望に応えることが可能です。
このソフトウェアは、Raspberry Pi 向けのOSです。この OctoPrint を組み込んだ Raspberry Pi 向け OS のこと、あるいはこのOSをインストールしたRaspberry Pi機そのものを OctoPi と呼んだりします。(正式名称ではなく愛称)
なお、Windows や Linux, Mac でも構成できるようですが、これらを長時間の印刷の間にずーっと付き合わせおくのは電気代の無駄です。そんな理由かは分かりませんが、Raspberry Pi での利用がオススメされています。
OctoPrint に必要な物
この OctoPrint を構成するには、Raspberry Pi でキチンと構築する必要があります。
- Raspberry Pi 4 (3以前だと能力不足になることも)
- マイクロSDカード(32GBは最低ライン、できれば耐久性の高いものを)
- ヒートシンク(稼働時間が長く、負荷も高いので)
- ラズパイカメラ(目視での監視は重要)
- 5V/3A (15W) のUSB-C電源アダプター
ケースは3Dプリンタで印刷する方が良いので、購入しなくて問題ありません。(後述)
なお、マイクロSDカードと通常のSDカードはサイズが違うので、持ってるつもりで持ってない!みたいな事態が起こらないよう、ご注意くださいませ。
OctoPi のインストール
この OctoPi のインストール自体は、非常に簡単です。以下の「Setting up OctoPi」に手順が記載されています。


英語が苦手な人は、Google Chrome や Microsoft Edge の翻訳機能を活用してください。また、下記の動画を見ながら実施しても良いでしょう。英語ですが、字幕の自動翻訳を駆使すれば問題ないでしょう。
インストールが終わって、一旦 Wi-Fi 経由で下記に接続できるようになったらインストールは終了です。
OctoPrint機 の設置
OctoPrintをインストールしたRaspberry Piは、3Dプリンタ本体とUSBケーブルで直接接続します。


電源は本体と別に確保しなければならないという点は要注意です。USB-Cケーブルで、別途電源を確保する必要があるため、ケーブルの取り回しやコンセントの確保、必要な電圧の確保など意外と気にすべき点があります。


この電源がくせもので、キチンとした電力供給が無いとすぐにハング(停止)しますので、注意が必要です。安くてワット数の小さいUSB電源だと、出力中に停止してしまって公開します。



何度も停止して、印刷が異常終了して痛い目にあったよ
もう1つ重要なポイントとして、監視カメラの問題があります。設置場所はカメラケーブルの長さに依存しますので、長いケーブルを利用すべきです。長いケーブルを準備できれば、正面など監視しやすい場所から撮影できて便利です。



カメラケーブルの費用をケチってね…結局もう一本買う羽目になったよ…
筆者がZ軸横に備え付けた結果は以下でした。


もちろん、カメラをヒートベッドに備え付けることも可能です。いくつか該当する3Dデータが公開されていますから探して見ると良いでしょう。しかし、ヒートベッドが動く度に上下動く不安定さから、筆者はヒートベッドへの備え付けは断念しました。



正直、床にミニ三脚で置いた方が無難だったよ
ここまで準備が整えば、OctoPrintを実際に使用することができます。
OctoPrint で出力する方法
OctoPrint経由で出力できるようになれば、3DプリンタにSDカードを抜き差しする手間が劇的に減ります。その手順を紹介します。以下のOctoPrint操作画面で操作します。


日本語化する
使い始める前に日本語化しておきましょう。なお、海外の情報との摺り合わせが簡単ですから、英語が読める人は英語のまま使った方が良いです。
右上のスパナアイコンをクリックすれば、設定画面が開きます。


「Appearance」を選択して、「Default Language」から「日本語 [ja, Japanese]」を選択して、「Save」ボタンを押下します。この後、ブラウザをリロードするだけで、簡単に操作画面が日本語化できます。


OctoPrintと3Dプリンタを接続する
初期状態のOctoPrint (Raspberry Pi) は、3Dプリンタと接続されていません。この状態のままでは、OctoPrint経由で3Dプリンタは操作できません。
まずは、OctoPrint操作画面のうち、左上の「設定」パネルで「接続」ボタンをクリックします。


ボタンクリック後に無事接続されると、「切断」ボタンに変更されます。この状態になれば、接続成功です。これで OctoPi 管理画面から3Dプリンタを操作できるようになりました。


OctoPrint経由で出力(印刷)する
予め用意したGcodeファイル(3Dプリンタで印刷できるファイル形式)をアップロードします。


アップロードボタンを押下して、ダイアログからGcodeを選択すればアップロードできます。


アップロードしたファイルがファイル一覧に現れたら、右のプリンタアイコンをクリックします。


ステータスペインで「ステータス」が「造形中」になったら、印刷開始です。もし「造形中」にならない場合は、「造形」ボタンを押下すれば開始します。これで印刷が完了するまでひたすら待つだけです。


右側のペインで温度状態が確認できますので、キチンと温度が上がっているか確認することができて便利です。もっと細かく印刷温度も調整できますが、最初は利用することはないと思います。
これで印刷開始~印刷完了のステータス管理が、このOctoPiコンソールに接続さえできれば、どこからでもできるようになりました。離れた部屋に配置しても、3Dプリンタの状態を把握して操作できます。



利便性がめちゃくちゃ上がるよ!
OctoPrintで印刷結果や異常を通知しよう
初期状態のままでは、印刷完了や異常が発生したとしてても、OctPrintの管理コンソールを確認しないと分かりません。頻繁に確認できれば良いですが、けっこう忘れがちです。



たくさん印刷したいのに、つい忘れてしまうんだよね。次の印刷を始めるまでに、無駄な空き時間を作ってしまって勿体ないなって…
そこでOctPrintには、印刷開始/完了/エラーという状態になったら、ユーザー通知できるプラグインを追加してみましょう。
Slack通知プラグイン「OctoSlack」
3DプリンターのOctoPrintから、印刷状態やプリンター接続状態をSlackに通知できるプラグインです。
Slackだけでなく、Mattermost、Discordなど幅広く通知できる便利なプラグインでもあります。 (2021年から開発停止中)
- 印刷ステータスのモニタリング
- Slackコマンドでの印刷キャンセル/一時停止/再開
- スナップショット画像のS3、Imgur等へのアップロード対応
Slack、Mattermost、Pushbullet、Pushover、Rocket.Chat、Discord、Matrix、Microsoft Teams
(LINE/電子メールには非対応、WebHook URL対応なら何でも通知可能)
インストール方法
OctoPrintの設定画面(Settings)を開きます。左のメニューから「プラグインマネージャー」を選択して、右ペインで「プラグイン追加…」をクリックします。


「プラグインの追加」ダイアログで、検索フォームに「Octoslack」と入力します。


表示された「Octoslack」の行について、右の「インストール」ボタンをクリックします。少し待てばプラグインのインストールが完了します。
通知設定
設定画面(OctoPrint Settings)に「Octoslack」メニューが現れ、通知内容を設定できるようになります。


英語で分かりにくいですが、下記の選択肢で通知先のサービスを選択できます。


筆者は Pushbulletユーザーですから、 iPhone/Apple Watchに通知もできるPushbulletを選択しました。Pushbulletの場合、Pushbulletサービスから取得してきたAccess Tokenを入力して、通知先のチャンネルを指定します。


次ぐに通知内容の設定では、どの場合に通知するかなどを選択します。標準では全てのパターンで通知されますが、下記のみ通知するよう設定しました。
- Print started(印刷開始)
- Print failed(印刷失敗)
- Print cancelled(印刷キャンセル)
- Print finished(印刷完了)
- OctoPrint error(異常発生)
次の設定項目「Snapshots」(スナップショット)は、3Dプリンタ特有です。ここで印刷開始時や完了時の状態をカメラで撮影して、その結果を通知に含める、あるいは指定したクラウドストレージに保存できます。
例えば、筆者の場合は Pushbullet を選択しました。


その結果、印刷完了する都度、以下の画像が送られてきます。


これで無事に印刷完了したことを、OctoPrint操作画面を見ずに確認できます。ちなみに、異常終了した場合は、こんな哀しい写真が送られてきます。





スマホでサクッと完了状態が分かるのは便利すぎる!
使いこなせば手放せなくなる便利なプラグインです。
OctoPrintで撮影する
3Dプリンタで印刷している様子をカメラで監視できる機能は、ホントに便利で必要不可欠です。毎回わざわざ3Dプリンタを覗き込まずに済みますし、スマホで確認できるようにしておけば手放せなくなります。
この3Dプリンタ監視を実現するには、WebカメラかRaspberry Pi 専用カメラとOctoPrint(Raspberry Pi)を私用します。


印刷経過を監視する
このカメラの設置位置が大事です。好きな場所に設置できますが、見える位置によってできることが変わります。例えば、次のカメラアームを印刷して、設置してみると良いです。
これらのカメラアームには、それぞれに長所短所があります。
カメラアーム種類 | 長所 | 短所 |
---|---|---|
プリンタ備え付け | 最も安定して設置できる 撮影角度の自由度が高い | 印刷タイミングによって印刷物と距離が異なってしまう 印刷の振動でズレ安い |
ヒートベッド備え付け | 印刷物と常に同じ距離で撮影可能 | アームが安定して設置しにくい 印刷の振動でズレやすい 印刷物と距離が近すぎる |
Z軸モーター備え付け | 印刷物の高さに合わせて印刷可能 振動でズレにくい Z軸モーターへのねじ止めで安定する | 印刷角度が微妙 印刷物の高さが低いとキレイに撮影できない 最も自然な3Dプリンタ部品に見える |
見下ろし位置備え付け | 高さに関係なく、安定して撮影可能 印刷物との距離が一定 | 印刷物が小さかったり、ヘッドの位置によって、ヘッドが邪魔で印刷物が見えない |
独立スタンド | 撮影角度の自由度が高い 振動の影響を受けない | スタンドが必要 設置場所を安定させにくい |
筆者は、最初に以下のアームを採用しました。
全体像は印刷できないケースもあります。しかし、Z軸の高さに合わせて印刷できるし、印刷毎に振動を気にする必要ないためです。



後日談だけど、結局はミニ三脚で設置した方が安定するってことに気付いたんだよね…
カメラを設置したら、OctoPrintの設定画面について下記を有効にします。左のメニューから「Webカメラとタイムラプス」を選択して、「Webカメラサポートを有効にする」にチェックを入れて保存します。


その後、以下のようにカメラで撮影できるになり、OctoPrintの操作画面にカメラ撮影した結果が表示されるようになります。


これでリモートから印刷状況を、リアルタイムで監視することができるようになりました。



3Dプリンタの状態とは関係なく、常時撮影できるよ
ただし、カメラで監視している間は電気が暗くなると見えなくなります。ライトをつけたままにするか、暗視カメラを利用する必要がある点は要注意です。
印刷経過をタイムラプス録画する
OctoPrintを使えば、印刷経過をタイムラプスで撮影できます。



単なる趣味目的だけでなく、どこで失敗したかを振り返るのにも役立つよ
タイムラプス録画は、OctoPrintの設定画面で下記の項目を有効にします。


「タイムラプス機能を有効にする」チェックボックスにチェックを入れるだけです。これで印刷するたびに、毎回自動でタイムラプス録画します。


「タイムラプス」タブから録画したデータを選択でき、成功/失敗に関わらずに保存されます。初期設定では640×480の低画質での撮影になります。



フルHDや4Kで撮影したいなら、別のプラグインが必要だよ
録画後の動画変換(ffmpeg)には高い負荷がかかるります。そのため、Raspberry Pi ZEROやRaspberry Pi 2などでは厳しいです。Raspberry Pi 3または Raspberry Pi4を利用すれば、快適に録画できます。
OctoPrintで3Dプリンタは飛躍的にアップグレードできる
本記事では、3DプリンタにOctoPrintを追加する方法を紹介しました。OctoPrintを3Dプリンタに追加するだけで、やれることが広がって更に楽しくなります。
OctoPrintを使うなら、以下の記事もぜひ参考にしてください。必ず役に立ちます!



