Prusa i3 MK3Sで印刷を始めて2ヶ月近く経ちますが、ほぼ毎日20時間以上は稼働している状態です。
そのため、1000時間以上は印刷しているワケです。
日夜ずーっと印刷を続ける中で、とにかく沢山の成功失敗を繰り返しました。
その中で、かなり面白くてハマっている OctoPi というオプションデバイスについて紹介したいと思います。

3Dプリンタをネットワークから管理したい
3Dプリンタを利用していると、次のようなことを感じ始めます。
- 印刷が完了したり、エラーになったら通知して欲しい
- わざわざ覗き込まなくても状況を把握したい
- SDカード経由じゃなく、ネットワーク経由でGcodeファイルを渡したい
- 印刷している様子を動画撮影してみたい などなど
こういった要望に応える方法が、実は用意されています。
OctoPrint / OctoPi を使い始めよう
次のソフトウェアを利用することで、先程の要望に応えることが可能です。
このソフトウェアは、Raspberry Pi 向けのOSです。
この OctoPrint を組み込んだ Raspberry Pi 向け OS のこと、あるいはこのOSをインストールしたRaspberry Pi機そのものを OctoPi と呼びます。
なお、Windows や Linux, Mac でも構成できるようですが、これらを長時間の印刷の間にずーっと付き合わせおくのはちょっと微妙ですよね。
そのため、Raspberry Pi がオススメされていますし、当方も OctoPi にしました。
OctoPi に必要な物
この OctoPi を構成するには、Raspberry Pi 機としてそれなりにキチンと構成する必要があります。今ちょっと価格が高騰してますが…
- Raspberry Pi 4 (3以前だと能力不足になることも)
- マイクロSDカード(32GBは最低ライン、できれば耐久性の高いものを)
- ヒートシンク(稼働時間が長く、負荷も高いので)
- ラズパイカメラ(目視での監視は重要)
ケースは3Dプリンタで印刷する方が良いので、買わないことをオススメします。(後述)
なお、マイクロSDカードと通常のSDカードはサイズが違うので、持ってるつもりで持ってない!みたいなことがないようにご注意を。
OctoPi のインストール
この OctoPi のインストール自体は、非常に簡単です。
こちらの「Setting up OctoPi」に手順が記載されています。

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

そして、注意したいのは電源は本体と別に確保しなければならないというところです。USB-Cケーブルで、別途電源を確保してあげる必要があります。

この電源がくせもので、キチンとした電力供給が無いとすぐにハングしますので、注意が必要です。スマホとかの安くて小さいUSB電源とかだと、大抵アウトです。
これ、印刷中にハングすると印刷が異常終了するので、細心の注意が必要なポイントといえます。
また、先にご紹介した通りに 3Dプリンタに備え付けてあげることを推奨します。

こちらは下記のように備え付けられるケースが既に公開されているので、そちらを印刷して使用するのが無難です。
ただし、備え付ける位置によってはケーブルが邪魔になったりするので、その当たりを考慮したケースを選択するのが良いでしょう。当方の位置は、意外と邪魔…
あと、カメラをどうするか問題があります。カメラケーブルの長さに依存するのですが、長いケーブルを利用すれば正面から撮影も可能です。
実際に備え付けると、こんな感じです。これは横ですが。

ちなみに、カメラをヒートベッドに備え付けることも可能です。いくつか公開されていますから探して見ると良いです。しかし、動く度に上下動く不安定さから、当方は備え付けることは諦めました。
備え付けた方が土台の前後に左右されず、安定した形で撮影できて良いのですけどね。
ここまで準備が整えば、OctoPiを実際に使用することができます。
OctoPi で印刷しよう

この画面で基本的な操作は行っていきます。
日本語化
右上のスパナアイコンをクリックすれば、設定画面が開きます。

「Appearance」を選択して、「Default Language」から「日本語 [ja, Japanese]」を選択して、「Save」ボタンを押下します。
この後ブラウザをリロードすると、画面が日本語化されます。

接続
この状態では、OctoPi (Raspberry Pi) は3Dプリンタと接続されていなくて、操作できない状態です。そのため、次のように左上の「設定」パネルで設定した状態で接続ボタンを押下する必要があります。

接続ボタンを押下して接続されると、「切断」ボタンに変更すれば成功です。

これで OctoPi 管理画面から3Dプリンタを操作できるようになりました。
印刷
予め用意したGcodeファイル(3Dプリンタで印刷できるファイル形式)をアップロードします。

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

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

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

右側のペインで温度状態が確認できますので、キチンと温度が上がっているか確認することができて便利です。
もっと細かく印刷温度も調整できますが、最初は利用することはないと思います。
これで印刷開始~印刷完了のステータス管理が、このOctoPiコンソールに接続さえできれば、どこからでもできるようになりました。
押し入れや離れに配置しておいても、状態がある程度管理できます。
OctoPi を印刷結果を通知しよう
ただ、このままでは印刷が完了しても、管理コンソールを見ないと分かりません。
そこで、印刷開始/完了/エラーになったら通知してくれる機能を追加できるプラグインを追加します。
先程の設定画面からプラグインを追加します。

左のメニューから「プラグインマネージャー」を選択して、右ペインで「プラグイン追加…」を押下します。

「プラグインの追加」ダイアログで、検索フォームに「Octoslack」と入力します。
表示された選択肢から、右の「インストール」ボタンをクリックします。そうすると少し待てばプラグインのインストールが完了します。
ここでインストールしたプラグインはこちらです。

プリンタと印刷物を Slack、Mattermost、Pushbullet、Pushover、Rocket.Chat、Discord、Riot/Matrix、またはMicrosoft Teamsで監視するための OctoPrint プラグイン。
Octoslack
こちらを使えば、何かのイベントを通知することが可能です。海外製なので、LINEに対応していないのが残念ですが、WebHook URLに通知が飛ばせるのでカスタマイズ次第ということです。
こちらをプラグインの設定画面から設定します。

下記の選択肢で通知先のサービスを選択できます。

この中から自分が使いたいサービスを選択します。当方は Pushbullet ユーザーであって iPhone/Apple Watch通知もできるため、Pushbulletを選択しました。

次の設定箇所では、それぞれのサービスに連携するための設定をします。
Pushbulletの場合、Pushbulletサービスから取得してきたAccess Tokenを入力して、通知先のチャンネルを指定します。
この辺は各サービスで大きな差があるわけではないため、英語ですが表示されている手順に従って行えば、すんなり設定できるはず。
これ以降は通知内容の設定になります。どの場合に通知するかなどを選択します。個人的には、下記以外は通知するとうるさいので外しました。
- Print started
- Print failed
- Print cancelled
- Print finished
- OctoPrint error
この辺は、使いながら調整した方が良さそうです。
また、通知内容の中でも特に注目したいのが、次の設定項目「Snapshots」です。

ここで印刷開始時や完了時の状態をカメラで撮影して、通知することが可能です。
例えば、印刷完了するとこんな感じで送られてきます。

これで無事に印刷完了したことを確認できて、非常に安心です。絵文字に対応していないところが Pushbullet のイケてないところですが。ひとりSlackより使いやすいのでつい…
ちなみに、エラーになるとこんな感じ。

エラーで無残な状態になっていることがわかります(涙)
またエラーメッセージと写真から、だいたい何が起こっているかがわかります。
ただ、あくまで完了通知としては、これ以上は求めなくて良いだろうとは思います。
OctoPi で撮影しよう
印刷経過を監視する
そもそも印刷している様子をカメラで捉えられると、非常に便利です。
毎回わざわざ3Dプリンタを覗き込まずにすみますし、タブレットなどを監視モニターとして配置しておくと離れた場所から常に状況把握できて安心です。
これにはWebカメラ、もしくは先に紹介したRaspberry Pi 用カメラを、それぞれの方法でOctoPi本体に接続します。

このカメラの設置位置が非常に曲者です。
様々な場所に設置可能ですが、それによって見える位置が変わってきます。そのため、次のようなカメラアームを印刷して、設置すると良いでしょう。



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

こうすることでカメラでの撮影ができるになり、下記のように見えます。

左のメニューから「Webカメラとタイムラプス」を選択して、「Webカメラサポートを有効にする」にチェックを入れて保存します。
カメラの設置方向に合わせて、下記のいずれかにチェックを入れることで正位置に見えるように調整することも可能です。
- Webカメラの映像を水平に反転
- Webカメラの映像を垂直に反転
- Webカメラの映像を反時計回りに90度回転
これでリモートから印刷状況を、リアルタイムで監視することができるようになりました。
これで3Dプリンタの場所を離れても安心です。
ちなみに、3Dプリンタの状態とは関係なく撮影できるので、最悪燃えてる時も把握できます。(いや、そんな最悪は嫌ですが)
なお、監視している間は電気が暗くなると見えなくなるので、ライトをつけたままにするか、暗視カメラを利用するか、考えておく必要があるのも注意です。
印刷経過を録画する
ここからは完全に趣味の領域に入ってきますが、印刷経過をタイムラプスで撮影することも可能です。
設定画面で、下記の項目を有効にします。

「タイムラプス機能を有効にする」チェックボックスにチェックを入れる以外は、特に設定不要です。これで毎回印刷するときに、自動でタイムラプス録画を行ってくれます。

「タイムラプス」タブから録画したデータを選択できます。失敗した時も保存されるので、ちょっと無駄だなとは思いますけどね。
見ているとだんだんハマってきます。不思議なもので。
デフォルトでは640×480の低画質でしか撮影できませんが、うまく調整すればフルHDや4Kで印刷することも可能です。その方法はまた別途。
なお、録画後の動画変換(ffmpeg)に高い負荷がかかるため、Raspberry Pi ZEROや古いRaspberry Piでは利用するのが難しいみたいです。せっかく撮影したのに、処理でこけて台無し…というのは痛いですからね。
そのため、当方は最新のRaspberry Pi 4を利用しており、快適に録画できています。
OctoPi は3Dプリンタを楽しくアップグレードする
以上で紹介した通り、3DプリンタにOctoPiをアドオンすると、かなりやれることが広がってきて非常に楽しくなります。やる気になればタッチパネルを実装することも可能だそうです。

正直なところ、OctoPiでリモート管理できるようになるとタッチパネルは必要ないのですが、こんな感じで色々拡張できるのが良いですよね。
しかも、必要なパーツは3Dプリンタで印刷すれば良いわけです。
また、下記のページで様々なプラグインが公開されているので、片っ端からインストールしてみると更にさらに楽しくなります。
ぜひ一緒に楽しい3Dプリンタ+OctoPiライフを送りましょう。

ITエンジニア歴18年の3Dプリンタブロガー。
3Dプリンタで作った物をSNS投稿するのが趣味。自らが便利だなと感じたことは、誰かにシェアせずにはいられない性格。このサイトに掲載した情報が少しでもお役に立てば幸い。 ええ(English OK)