はじめに
GWに格安3Dプリンタ、Ender-3 Proを購入しました。事前の想像以上に綺麗に出力できるので満足しています。ただ、プリンタが結構大きく、稼働時の音がそこそこあり、印刷が数時間に及ぶため普段使わない部屋に設置したところ、
- 印刷の途中経過がわからない
- 数時間後に失敗(だいたい一層目が、、、)
- 仕方ないので印刷開始後、しばらく目視確認。。。
- →悲しい
- 数時間後に失敗(だいたい一層目が、、、)
- データの運搬がマイクロSDカード
- 往復するのが結構面倒
- 近いうちに紛失する
- 操作パネルが、それほど使いやすくない
と、どうにかならないかと思案していたら、OctoPrintという3Dプリンタの管理アプリを発見。RaspberryPi用のイメージ(OctoPi)が公開されていて、手持ちのラズパイもあったので、早速試してみました。
- 「Please note that the Raspberry Pi Zero W is not recommended 」とあるけど、手持ちのZeroで動くか確認
- カメラモジュールもあるので、遠隔監視と印刷のタイムラプス映像をみて楽しむ
結果、Raspberry Pi Zero Wで目立った問題もなく、結構快適な環境ができました。いか、作業メモです。
アプリケーション
- OS
pi@octpizero:~ $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
- OctoPrint: 1.3.11
- mjpg-streamer
機材
- 3Dプリンタ:Ender-3 Pro
- raspberry pi zero w
- SD:8GB
- 上記カメラモジュール
- USBケーブル
- A - Mini B <- 手持ちを探すのが大変だった。。。
- A - Micro変換 上記とZeroの接続用
- A - Micro Zeroの電源用
- 印刷した、ラズパイのマウンタ
お約束
この記事は、私の環境での結果です。大きく物が壊れることはないと思いますが、お試しの際はご注意を。
インストール
最初にOctoPi(試したバージョンは、0.16.0)を試したのですが、手持ちのカメラモジュールを認識できませんでした。さっさと試したかったので、原因究明はやめて、カメラモジュールの動作実績のあるRaspbian Stretch LiteにOctoPrintをインストールすることにしました。
OSインストールで変更した点
モニタを使う予定はないので、GPUのメモリ割り当てを最小に変更。boot.txtの末尾に gpu_mem=16
を追記。
OctoPrintのインストール
基本的に、公式の手順通りで、動きます。変更したのは、
- octoprintの起動をsystemdに変更したくらいです。
cat /etc/systemd/system/octo.service
[Unit]
Description=OctoPrint service
[Service]
User=pi
ExecStart=/home/pi/OctoPrint/venv/bin/octoprint
[Install]
WantedBy=multi-user.target
初回起動時、Web画面が表示されるまで 結構な時間(10分以上) かかりました。ゆっくり待ちましょう。
初回起動時に、Wizardで初期設定を行います。
画面キャプチャ撮り忘れた。
プリンタ設定
先人の知恵があったので、そのまま流用。
スライサーとの連携
スライサーはCura(3.6.0)を使っています。プラグインを導入すると、スライサーから印刷できるようになるので、設定します。
OctoPrintAPIキー取得
設定アイコン→APIでAPI Keyを取得する。
Curaにプラグインを導入する
Marketplace → プラグインから「OctoPrint Connection」を導入。
を押すと、「Connect Octoprint」が追加されているので、rasberry piのIPなどのホスト情報、API Keyを登録。
私の環境では、「Store G-code on the printer SD Card」を有効にすると接続に失敗したので設定を外した。(SDカードの利用をやめたかったので、特に調査もしなかった。。。)
すると、スライス処理が終わると、、
OSの負荷は高いけど、許容範囲かな。印刷の失敗もないし、印刷動画配信も結構滑らかなのでよしとします。
印刷後、FFMPEGでゴリゴリエンコードしてタイムラプス動画を生成。今は印刷しないでね、と警告が表示されます。動画を見るにはメニューからダウンロードします。ちなみに、32MBの動画は印刷時間5時間くらいの動画です。
#使ってみて
- スライサーから直接印刷できるのは便利
- プレヒートで事前に加熱できるから、スライスする前にプレヒートしておけばすぐ印刷できる
- 一層目がちゃんと出てなかったら、その場で中止できるのが便利
- raspberry pi zeroで問題なく動いた(ように見える)。
- 一週間ほど使いましたが、raspberry pi zeroの性能で印刷が失敗していない(気づいていないだけかも)
- 印刷時間も、遅くなった気はしない(もともと時間がかかるので、気にならないだけかも)
これから
OctoPrintは結構色々なAPIが公開されているので、
- 印刷が終わったら携帯に通知
- Homebridgeと連動してAppleHomeに状態と印刷状況の表示
- ラズパイに照度センサつけて、夜の印刷している時だけLED照明つける(暗くて確認できないから)
など、やってみたいと思います。
ちょっとした問題点
プリンタの主電源を切っても、ラズパイのUSBから給電されるらしく、プリンタの液晶がつきっぱなしになります。ほぼ、プリンタ本体の操作は行わなくなったのですが、高さ調整はプリンタのメニューから、
- ホーム位置に移動
- モータ制御解除
- 手で調整
を行う必要があるので、モニターは外せない。。。何かいい方法はないだろうか。。