Raspberry PiとOctoPiで3DプリンタをWiFi化してみた〜WEBブラウザから印刷するまで
3Dプリンタで印刷するたびにSDカードを抜き差しするのは非常にわずらわしいですよね?3Dプリンタとパソコンは離れているのでUSBケーブルでは届きませんし、どうしたものかと悩んでいたところ、3DプリンタをWiFi化できる方法を発見しました。 それが、Raspberry PiとOctoPiを使った方法です。 この記事では、Raspberry PiにOctoPiというOSを入れて、WEBブラウザでGコードを3Dプリンタへアップロードし、印刷できるようにする方法を解説します。
OctoPiとは
OctoPiとは、WEBブラウザ経由で3Dプリンタを操作可能にする「OctoPrint」というソフトが使用できるラズパイ用のOSです。
GitHub - guysoft/OctoPi: Scripts to build OctoPi, a Raspberry PI distro for controlling 3D printers over the web OctoPrint.org
OctoPrintでは単に3DプリンタへGコードファイルをアップロードできるだけでなく、温度状況や、Webカメラによる録画やタイムラプス、印刷状況の可視化などさまざまな機能が備わってます。WEBブラウザからアクセスできますので、設定によっては外出先からもアクセス可能になります。
ただし、本記事ではカメラの設定や、外部ネットワークからのアクセス設定は行いません。
用意するもの
はじめに、今回使うものをご紹介します。
ラズパイ
私はRaspberry Pi zero WHを使用しましたが、OctoPiでは推奨されないようです。次のように警告が出てしまいました。
メッセージによれば、Raspberry Pi 3以上か、またはRaspberry Pi zero 2を使うことを推奨されてます。結果的には、Raspberry Pi zero WHでもなんとか動きますが、ヒーターなどを扱う3Dプリンタですので何かあったら大事故になる恐れがあります。Raspberry Pi 4を購入し、それでOctoPiを運用することにしました。
▼ こちらからRAMが4GBの正規品を購入しました。
MicroSDカード
Raspberry PiのOSは、MicroSDカードへ書き込むことになります。OctoPiには録画機能もありますので、動画を撮る場合は、大きめの容量のMicroSDカードを選びましょう。 ▼ 私はこちらのSDカードを使ってます。
3Dプリンタ
私が使用している3Dプリンタは、こちらのCreality社の「Ender3 V2」です。
Raspberry PiへOctoPiのインストール
ここではOctoPiをRaspberry Piへインストールする手順を解説します。
Raspberry Pi Imagerのダウンロード
まずは、OctoPiをダウンロードし、SDカードにOSイメージを書き込みます。SDカードにOSを書き込むには、「Raspberry Pi Imager」を使うとたいへん便利ですのでそれを使います。
▼ こちらから「Raspberry Pi Imager」をダウンロードしましょう。
Raspberry Pi OS – Raspberry Pi
Raspberry Pi ImagerでSDカードに書き込む
Raspberry Pi Imagerをインストールしたら起動し、「CHOOSE OS」→「Other specific purpose OS」→「Octo Pi」→「OctoPi(stable)」を選択します。
次に、SDカードをパソコンに差し込み「CHOOSE STORAGE」でSDカードを選択します。
画面右下のギアボタンから、あらかじめSSHやWiFi情報を設定します。参考として私の設定例をご紹介いたします。
最後に、「WRITE」を選択すれば自動でOctoPiがダウンロードされ、SDカードにOSイメージが書き込まれます。
OSの書き込みが完了しましたら、Raspberry PiにSDカードを差し込んでください。そして、Raspberry Piと3DプリンタをUSBでつなぎ、Raspberry Piの電源を入れてください。WiFi情報に間違いがなければ、Raspberry Piの起動後に自動でWiFi接続されるはずです。
ブラウザからOctoPrintへアクセス
パソコンのウェブブラウザにhttp://octopi.local/を入力すると、OctoPi化されたRaspberry Piへアクセスできます。 しばらくすると次のようなUIが立ち上がります。
パスワードなどをカスタマイズしていない場合、OctoPiのデフォルト設定値は次のとおりです。
項目 | 値 |
---|---|
ホスト名 | octopi |
ユーザー名 | pi |
パスワード | raspberrypi(or raspberry) |
OctoPrintの初期設定
ここではOctoPrintの初期設定を行います。
私は次の通り選択しました。
Restore Backup
はじめてなので、Restore from a backup?はスルーしました。
Access Control
Access Controlでは、ブラウザからアクセスするためのパスワード設定です。SSHとは別のユーザ名とパスワードを設定すると安全です。Online Connectivity check
Configure the Connectivity checkでは「Disable Connectivity Check」を選択しました。Anonymous Usage Tracking
Configure Anonymous Usage Trackingでは「Disable Anonymous Usage Tracking」を選択しました。Plugin Blacklist
Configure plugin blacklist processingでは「Enable Plugin Blacklist Processing」を選択しました。Default Printer Profile
Ender3 V2では次の通り設定しました。 お使いのプリンタ名を入力します。
Finish
以上で「Finish」します。「OctoPrint化しても、決してプリンタのそばを離れないでください」と注意が書かれてます。火事などにならないように十分注意しましょう。
さて、これでOctoPrintの準備は整いました。
左メニューの「Connection」からプリンタに接続します。しかし「Ender3 V2」では次のような警告が表示されてしまいました。
このエラーを解決するために次の作業を行いました。
OctoPrintでEnder3 V2の警告表示を解決する
ヘッダーにあるスパナマークから設定メニューを開き、左メニューから「Plugin Manager」を選択します。「Get More」ボタンをおして、「Creality 2x temperature reporting fix」を探しインストールします。
一度Raspberry Piを再起動し、「Connection」すれば警告は出ないはずです。
▼ 参考 OctoPrint doesn't show a temperature graph for my Creality printer with stock firmware - FAQ - OctoPrint Community Forum How to install fix for Creality 2x temperature reporting fix - Electronics - OctoPrint Community Forum
OctoPrintで印刷開始
それでは、OctoPrintで印刷開始してみましょう。 左メニューの「Connection」からプリンタに接続します。すると、まるでArduinoのときと同じように、シリアル通信で3DプリンタとRaspberry Piが接続されました。
次に、Gコードに変換しておいたファイルを左メニューの「Files」からアップロードします。下図のプリンタのアイコンを押すと印刷が開始されます。
印刷中はヒートベッドやノズルの温度がグラフで表示されます。また、下の動画のように「GCode Viewer」で、ステッピングモータの動きをアニメーションで見ることができます。