ラズパイとOctoPiで3DプリンタをWiFi化してみた〜WEBブラウザから印刷するまで

ラズパイとOctoPiで3DプリンタをWiFi化してみた〜WEBブラウザから印刷するまで

3Dプリンタで印刷するたびにSDカードを抜き差しするのは非常にわずらわしいですよね?3Dプリンタとパソコンは離れているのでUSBケーブルでは届きませんし、どうしたものかと悩んでいたところ、3DプリンタをWiFi化できる方法を発見しました。

それが、ラズパイとOctoPiを使った方法です。

この記事では、ラズパイにOctoPiというOSを入れて、WEBブラウザでGコードを3Dプリンタへアップロードし、印刷できるようにする方法を解説します。

「OctoPi」OSをインストールすることで、カンタンにお持ちの3Dプリンタを無線化できます!ブラウザからGコードをアップロード、印刷の進捗具合を視覚化、カメラで動画撮影してタイムラプス化などが可能です。

OctoPiとは

OctoPiとは、WEBブラウザ経由で3Dプリンタを操作可能にする「OctoPrint」というソフトが使用できるラズパイ用のOSです。

OctoPrintでは単に3DプリンタへGコードファイルをアップロードできるだけでなく、温度状況や、Webカメラによる録画やタイムラプス、印刷状況の可視化などさまざまな機能が備わっています。WEBブラウザからアクセスできますので、設定によっては外出先からもアクセス可能になります。

ただし、本記事ではカメラの設定や、外部ネットワークからのアクセス設定は行いません。

用意するもの

はじめに、今回使うものをご紹介します。

ラズパイ

私はRaspberry Pi zero WHを使用しましたが、OctoPiでは推奨されないようです。次のように警告が出てしまいました。

Raspberry Pi zeroは推奨されない
Raspberry Pi zeroは推奨されない

メッセージによれば、Raspberry Pi 3以上か、またはRaspberry Pi zero 2を使うことを推奨されています。

結果的には、Raspberry Pi zero WHでも問題ありませんでした。カメラを使わなければCPU使用率は15%ほどに押さえられています。おそらくカメラを使用してしまうと、Raspberry Pi zeroではスペックが足りないと思うのでご注意ください。

MicroSDカード

ラズパイのOSは、MicroSDカードへ書き込むことになります。OctoPiには録画機能もありますので、動画を撮る場合は、大きめの容量のMicroSDカードを選びましょう。

USBケーブル

ラズパイと3DプリンタをつなぐUSBが必要です。今回はRaspberry Pi zeroを使用したので、USBマイクロのオスオスケーブルが必要でした。なかなか珍しい配線ですが、なんとかAmazonで入手することができました。

3Dプリンタ

この記事をご覧の方は、すでに3Dプリンタはお持ちかと思います。いちおう参考としてご紹介しておきます。私が使用している3Dプリンタは、こちらのCreality社の「Ender3 V2」です。

ラズパイへOctoPiのインストール

ここではOctoPiをラズパイへインストールする手順を解説します。

Raspberry Pi Imagerのダウンロード

まずは、OctoPiをダウンロードし、SDカードにOSイメージを書き込みます。SDカードにOSを書き込むには、「Raspberry Pi Imager」を使うとたいへん便利ですのでそれを使います。

▼ こちらから「Raspberry Pi Imager」をダウンロードしましょう。

Raspberry Pi ImagerでSDカードに書き込む

Raspberry Pi Imagerをインストールしたら起動し、「CHOOSE OS」→「Other specific purpose OS」→「Octo Pi」→「OctoPi(stable)」を選択します。

安定版のOctoPiを選択
安定版のOctoPiを選択

次に、SDカードをパソコンに差し込み「CHOOSE STORAGE」でSDカードを選択します。

書き込むSDカードを選択
書き込むSDカードを選択

最後に、「WRITE」を選択すれば自動でOctoPiがダウンロードされ、SDカードにOSイメージが書き込まれます。

OctoPiのダウンロードがはじまります
OctoPiのダウンロードがはじまります

OSの書き込みが完了しましたら、一度SDカードを抜き、再びパソコンへ差し込んで次の作業へ進んでください。

WiFiの設定

SDカードをラズパイへ差す前に、WiFi情報を設定しておきます。

SDカードのフォルダを開き、octopi-wpa-supplicant.txtをVS CodeやVimなどのエディタで開いてください。そして、WPA/WPA2 securedの項目を次のようにコメントアウトし、WiFiのSSIDパスワードを記入します。

...
## WPA/WPA2 secured
network={
  ssid="SSID"
  psk="パスワード"
}
...

これでSDカードの準備は整いましたので、ラズパイにSDカードを差し込んでください。そして、ラズパイと3DプリンタをUSBでつなぎ、ラズパイの電源を入れてください。

WiFi情報に間違いがなければ、ラズパイ起動後に自動でWiFi接続されるはずです。

OctoPiの初期設定

ラズパイを起動したら、SSHでログインしてOctoPiの初期設定を行っていきましょう。

SSHでログインする

ラズパイと同じLANネットワークにあるパソコンからターミナルを開き、次のコマンドを実行してSSHでラズパイへログインします。

ssh pi@octopi.local

パスワードはraspberrypiです。

OctoPiのデフォルト設定値は次のとおりです。

項目
ホスト名 octopi
ユーザー名 pi
パスワード raspberrypi

OctoPiの初期設定

3Dプリンタで印刷をはじめる前に、いくつかの初期設定を行います。

下記を実行し、パスワードを聞かれるので初期値のraspberrypiを入力します。

sudo raspi-config

すると、このような青いダイアログが表示されますので、各種設定を行っていきます。

Configuration Dialog
Configuration Dialog

パスワードの変更

System OptionPasswordへ進み新しいパスワードに変更します。

タイムゾーンの変更

Localization OptionsTimezoneを選択して「Asia」→「Tokyo」を選択します。

以上でFinishします。

SSHを終了するときは$ exitを実行すればログアウトできます。

ブラウザからOctoPrintへアクセス

パソコンのウェブブラウザにhttp://octopi.local/を入力すると、OctoPi化されたラズパイへアクセスできます。

しばらくすると次のようなUIが立ち上がります。

ブラウザからOctoPrintへアクセス
ブラウザからOctoPrintへアクセス

OctoPrintの初期設定

ここではOctoPrintの初期設定を行います。

私は次の通り選択しましたので、ご参考になさってみてください。

Restore Backup

はじめてなので、Restore from a backup?はスルーしました。

Access Control

Access Controlでは、ブラウザからアクセスするためのパスワード設定です。SSHとは別のユーザ名とパスワードを設定すると安全です。

Access Control
Access Control

Online Connectivity check

Configure the Connectivity checkでは「Disable Connectivity Check」を選択しました。

Configure the connectivity check
Configure the connectivity check

Anonymous Usage Tracking

Configure Anonymous Usage Trackingでは「Disable Anonymous Usage Tracking」を選択しました。

Configure Anonymous Usage Tracking
Configure Anonymous Usage Tracking

Plugin Blacklist

Configure plugin blacklist processingでは「Enable Plugin Blacklist Processing」を選択しました。

Configure plugin blacklist processing
Configure plugin blacklist processing

Default Printer Profile

Ender3 V2では次の通り設定しました。

お使いのプリンタ名を入力しておきます。

General
General

Print bed & build volume
Print bed & build volume

Axes
Axes

Hotend & extruder
Hotend & extruder

Finish

以上で「Finish」します。「OctoPrint化しても、決してプリンタのそばを離れないでください」と注意が書かれています。火事などにならないように十分注意しましょう。

OctoPrintの設定完了
OctoPrintの設定完了

さて、これでOctoPrintが使えるようになりました。左メニューからGコードをアップロードして印刷できます。

OctoPrintのインタフェース
OctoPrintのインタフェース

OctoPrintでEnder3 V2の警告表示を解決する

さっそくOctoPrintから3Dプリンタを操作して印刷して行きたいところですが、「Ender3 V2」では次のような警告が表示さました。

OctoPrintでEnder3 V2の警告表示
OctoPrintでEnder3 V2の警告表示

これを解決するために次の作業を行いました。

ヘッダーにあるスパナマークから設定メニューを開き、左メニューから「Plugin Manager」を選択します。「Get More」ボタンをおして、「Creality 2x temperature fix」を探しインストールします。

Creality 2x temperature fixのインストール
Creality 2x temperature fixのインストール

ラズパイを再起動すれば警告が消えているはずです。

▼ 参考

OctoPrintで印刷開始

それでは、OctoPrintで印刷開始してみましょう。

左メニューの「Connection」からプリンタに接続します。すると、まるでArduinoのときと同じように、シリアル通信で3Dプリンタとラズパイが接続されました。

次に、Gコードに変換されたファイルを左メニューの「Files」からアップロードします。プリンタのアイコン「Load and Print」を押すと印刷が開始されます。

OctoPrintで印刷開始
OctoPrintで印刷開始

印刷中はヒートベッドやノズルの温度がグラフで表示されます。また、下の動画のように「GCode Viewer」で、ステッピングモータの動きをアニメーションで見ることができます。

OctoPrintで印刷中のGCode Viewer
OctoPrintで印刷中のGCode Viewer

記事に関するご質問などがあれば、
Twitter または お問い合わせ までご連絡ください。
関連記事