63
Raspberry Piで3Dプリンターをリモート監視する方法

2020年の個人防護具(PPE)不足の深刻化に伴い、3Dプリントの人気は爆発的に高まりましたが、同時に、初心者にとって火災の危険も生じています。ごくまれではありますが、放置された3Dプリンターが電気火災を引き起こした事例も記録されています。より一般的なのは、プリントが造形面から剥がれ落ち、ホットエンドに絡まった巨大なフィラメントの塊となって流れていく、といった失敗例です。多くの3Dプリントは平均4時間かかるため、各プリントを最初から最後まで監視することは人間にはほぼ不可能ですが、Raspberry Piにその作業を任せ、何か問題が発生した場合に警告を発することができます。 

このチュートリアルでは、 Raspberry Pi 3 にOctoPrintを設定し、 Curaから印刷ジョブを送信し、Spaghetti Detectiveプラグインを使用して世界中のどこからでも印刷を監視します。 

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

OctoPrint とは何ですか? 

OctoPrintは、3Dプリンターを制御および監視するためのオープンソースのWebインターフェースです。OctoPrintを使用すると、ユーザーはローカルホームネットワーク内から3Dプリンターを制御できます。OctoPrint、オリジナルの開発者であるGina Häußge氏によってメンテナンスされています。 

ローカルネットワーク外から3Dプリントを安全に監視するために、AI(ディープラーニング)とセキュリティ機能を備えたサードパーティ製プラグイン「The Spaghetti Detective」を採用しました。The Spaghetti DetectiveはKenneth Jiang氏によって開発され、現在もメンテナンスされています。 

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

この記事では、次の手順を段階的に説明します。

  1. Raspberry Pi 3 に OctoPrint をセットアップします。
  2. Cura から WiFi 経由で 3D プリンターに印刷ジョブを送信します。
  3. ローカル ネットワークの外部から印刷を監視するには、Spaghetti Detective プラグインを設定します。
  4. スマート ホーム統合: 印刷ジョブが完了し、ホット エンドが許容温度まで冷却されると、3D プリンターの電源を自動的にオフにします。

 OctoPrint で動作する 3D プリンターはどれですか? 

サポートされている3Dプリンターの公式リストはありませんが、OctoPrintユーザーは、こちらのコミュニティフォーラムに様々なプリンターブランドの使用体験を投稿できます。私のプリンター(Anet A8とTronxy D01)はどちらもOctoPrintで問題なく動作しました。お使いの3DプリンターがUSBプリンターケーブル経由で印刷できる場合は、Raspberry PiでOctoPrintを使用できる可能性があります。 

落とし穴は何ですか? 

停電時印刷再開機能を備えた3Dプリンターは、物理的なmicroSDカードからGコードを読み取ることで動作します。OctoPrintで印刷ジョブを実行中に停電が発生すると、印刷は停止し、印刷ジョブを再開するには大変な労力が必要になります。簡単な解決策は、3DプリンターとOctoPrintを実行しているRaspberry PiをUPSバッテリーバックアップに接続することです。 

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

このプロジェクトに必要なもの

  • ラズベリーパイ3
  • 8 GB(またはそれ以上)の microSD カード(Raspberry Pi に最適な microSD カードを参照)
  • 電源/キーボード/マウス/モニター/HDMIケーブル(Raspberry Pi用)
  • 3Dプリンター
  • 3D プリンターに接続するための USB ケーブル (このケーブルは通常、ほとんどの 3D プリンターに付属しています)
  • USBウェブカメラまたはRaspberry Piカメラ
  • オプション: UPS バッテリ バックアップ (私の 3D プリンタには電源障害時の印刷再開機能がありますが、Raspberry Pi にはありません。)

 オプション: TP-Link スマートプラグ

OctoPrintの基本設定 

このセクションでは、ローカル ネットワーク内から印刷を監視できる基本的な OctoPrint Web インターフェイスを設定します。

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

2. 下にスクロールして「ダウンロード」をクリックすると、 https://octoprint.org/download/に移動します。

3. 「OctoPiをダウンロード」をクリックします。この記事の執筆時点での最新リリースは0.17.0です。 

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

4. まだ行っていない場合は、https://www.raspberrypi.org/downloads/からRaspberry Pi Imager をダウンロードしてコンピューターにインストールします。

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

5.   Raspberry Pi Imager を起動します。 

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

6.  オペレーティングシステムの下にある「OSを選択」をクリックし、 「カスタムを使用」を選択します。 

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

7. Octoprint.org からダウンロードした画像を選択し、 「開く」をクリックします。

8. microSD カードをコンピュータに挿入し、「SD カードを選択」をクリックします。メニューからmicroSD カードを選択します。

9. Raspberry Pi Imager から、「WRITE」をクリックします。 

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

microSDカードのフラッシュ処理を続行するには、コンピュータの管理者パスワードの入力を求められる場合があります。この処理ではmicroSDカード全体が消去されるため、数分かかることにご注意ください。 

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

10. microSDカードをコンピューターから物理的に取り外し、再度挿入します。書き込みが成功すると、Raspberry Pi ImagerはmicroSDカードを自動的に排出しますが、先に進む前にもう1つ手順を実行する必要があります。

11. ファイルマネージャーを開き、microSDカードに移動します。microSDカードの名前は通常「boot」です。

12. Atomなどのお好みのソースコードエディタでoctopi-wpa-supplicant.txtファイルを開きます。WordpadやTexteditは推奨されません。

13. octopi-wpa-supplicant.txt のコメントを解除し、WiFi 情報と国を編集します。 

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

14. octopi-wpa-supplicant.txtを保存し、microSD カードを取り出します。

15. microSD カードをRaspberry Pi に挿入します。

16. USB ウェブカメラまたは Raspberry Pi カメラを Raspberry Pi に接続します。

17. USB プリンター ケーブルを使用して、Raspberry Pi を 3D プリンターに接続します。

18. Piを起動します。これには数分かかる場合があります。

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

19. PCからhttp://octopi.localにアクセスします。Raspberry Piと同じネットワーク上にいる必要があります。 

この時点で、 OctoPrintセットアップウィザードが表示されます。表示されない場合は、Raspberry Piにモニターを接続して、OctoPrintが正しく動作していることを確認し、Raspberry Piの内部IPアドレスを取得してください。ブラウザでhttp://octopi.localの代わりにIPアドレス(例:10.0.0.199)を入力することもできます。 

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

20. 「次へ」をクリックし、指示に従ってOctoPrintの内部ログインとパスワードを作成します。この時点では、ローカルネットワークからのみOctoPrintにアクセスできます。「環境設定」を選択し、プリンタープロファイルを設定してください。 

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

OctoPrint セットアップ ウィザードを正常に完了すると、OctoPrint Web インターフェイスが表示されます。 

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

21. 3Dプリンターの電源を入れ、 OctoPrintで「接続」をクリックします。

22. Piにカメラを接続している場合は、「コントロール」タブをクリックして、ウェブカメラのフィードが機能しているかどうかを確認してください。ヒント:このタイミングでカメラの配置を調整することをお勧めします。3Dプリントを最適に表示するために、  Thingiverseで印刷できるカメラマウントをご確認ください。

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

23. [コントロール] タブから、X/Y および Z モーター コントロールを押してみます

24. 「温度」タブから、ホットエンドとプリントベッドの温度を設定してみます。

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

これがOctoPrintの基本的な設定です。これで、ローカルネットワーク内から3Dプリントを監視できるようになりました。次に、GコードファイルをmicroSDカードに保存し、そのカードを3Dプリンターに物理的に挿入する手間を省きます。

PCからRaspberry PiのOctoPrintに印刷ジョブを送信する方法

このセクションでは、 Curaをダウンロードし、Raspberry Pi上のOctoPrint経由で3Dプリンターに印刷ジョブを送信します。CuraUltimakerが提供する無料のスライスソフトウェアです。 

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

2. PCにCuraをインストールします。

3. 3D プリンターのプロファイルを設定したら、Cura でマーケットプレイス(右上付近) をクリックして、プラグインのメニューを表示します。

4. OctoPrint Connectionプラグイン をインストールします。

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

5. Curaの「設定」メニューから、「プリンターの管理」を選択します。プリンターを選択し、OctoPrint に接続」をクリックします。

6. OctoPrint からのAPI キーを入力するよう求められます。

7. OctoPrint ダッシュボードでレンチアイコンをクリックし 、左側のメニューからAPI を選択します。

8. OctoPrintからAPI キーをコピーしてCuraに貼り付けます。

9. Curaで「接続」をクリックします。

このステップにより、Raspberry Pi上のOctoPrintを介して、PCから3Dプリンターにワイヤレスで印刷ジョブを送信できるようになります。次に、ローカルネットワークの外部から3Dプリンターに安全にアクセスするためのサードパーティ製プラグインを設定します。

ネットワーク外から3Dプリントジョブを監視する方法

 このチュートリアルでは、Raspberry PiにOctoPrintをセットアップし、PCから3Dプリンターにワイヤレスでプリントし、ローカルネットワーク内からプリント結果を監視できるようになりました。次は、The Spaghetti Detectiveをセットアップして、ネットワーク外からプリント結果を監視できるようにしましょう。

免責事項:3Dプリンターは、状況によっては発火する可能性のある温度で動作します。プリントジョブの実行中は3Dプリンターを放置することは推奨されませんが、多くの場合、放置する必要があるかもしれません。

スパゲッティ探偵とは何ですか?

Spaghetti Detectiveは、OctoPrint用のセキュアなプラグインです。印刷ジョブに「スパゲッティ」のような異常がないか監視し、AI/ディープラーニングカメラ画像を活用して、印刷に問題が発生した箇所を特定します。Spaghetti Detectiveが印刷失敗の可能性を検知すると、印刷を一時停止し、テキストメッセージを送信して警告します。世界中のどこからでも、印刷ジョブのライブビューを確認し、印刷を再開するか、ホットエンドを冷却するかを判断できます。

オクトプリント

(画像提供:Tom's Hardware)

スパゲッティ探偵を使用する理由は何ですか?

OctoPrintの設定をポートフォワードするだけでも魅力的に思えるかもしれませんが、電気火災を引き起こすほどの熱を発生するデバイスであるため、セキュリティ上の大きなリスクが生じます。ハッカーはポートフォワードされたOctoPrintを使って簡単に自宅に火をつけてしまう可能性があります。Spaghetti Detectiveは、OctoPrintの安全なリモートアクセス方法とみなされています。Spaghetti Detectiveの基本アカウントは無料です。

スパゲッティ探偵の設定方法

1. OctoPrint Web インターフェースから、画面上部近くにあるメニューのレンチアイコンをクリックします。

2.左側のメニューからプラグイン マネージャーを選択します。

3. プラグインページで下にスクロールし、「詳細を表示」ボタンをクリックします。  

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

4. The Spaghetti Detectiveを検索し、「インストール」をクリックします。 

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

5. The Spaghetti Detective のインストールが完了すると、OctoPrint を再起動するように求められます。「今すぐ再起動」をクリックしてください。 

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

6. OctoPrintを再起動すると、 The Spaghetti Detectiveのセットアップウィザードが表示されます。指示に従って、The Spaghetti Detectiveのアカウントを設定してください。 

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

7.  シークレットトークンをコピーしてOctoPrintに貼り付けます。「テスト」をクリックします。 

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

8. 「完了」をクリックします

デフォルトでは、Spaghetti Detective は各プリントのタイムラプス動画を録画し、プリントジョブが正常に完了するとメールを送信し、失敗の可能性が検出されるとテキストメッセージを送信します。設定は、プロフィールの「ユーザー設定」でいつでも変更できます。 

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

ボーナス: 印刷ジョブ終了後に3Dプリンターを自動的にオフにする

このステップでは、スマート ホーム テクノロジーと OctoPrint を組み合わせて、印刷ジョブが完了し、ホット エンドが適切な温度 (90°C) に達した後に 3D プリンターの電源をオフにすることで電力を節約します。 

この手順では、 OctoPrint を実行している Raspberry Pi と同じローカルネットワーク上に設定されたTP-Link スマートプラグと、スマートプラグに割り当てられた内部 IP アドレスが必要です。この手順ではOctoPrint Shutdown Printer プラグインを使用しますが、これにはTP-Link ブランドのスマートプラグが必要です。このプラグインは他のブランドのスマートプラグではテストされていません。

1. TP-LinkスマートプラグをUPSバッテリーバックアップに接続します。Raspberry PiもUPSに接続する必要があります。

2. 3D プリンターをTP-Link スマートプラグに接続します。 

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

3. OctoPrint プラグイン マネージャーから、TP-Link Smart PlugおよびShutdown Printerプラグインをインストールします

4. プラグインのインストールが完了すると、OctoPrint を再起動するように求められます。「今すぐ再起動」をクリックしてください。 

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

5. OctoPrint が再起動したら、レンチアイコンをクリックし、左側のメニューから「TP-Link Smartplug」を選択します。設定メニューが表示されるので、鉛筆アイコンをクリックして、スマートプラグに 割り当てられたIPアドレスを入力します。

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

6. 次に、左側のメニューから「プリンターのシャットダウン」をクリックし、 「APIモード」のチェックボックスをオンにします。OctoPrint APIキーを入力します。 

プラグインID: tplinksmartplug

ポート: 5000

JSON: {"command": "turnOff", "ip": "192.168.1.43" } 192.168.1.43 を予約済みの IP アドレスに置き換えます。 

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

7. 「プリンタのシャットダウン」オプションで、下にスクロールして「温度目標を有効にする」チェックボックスをオンにします 。次に、プリンタが自動的にオフになる前にホットエンドが到達する温度を入力します。

温度設定は90℃をお勧めします。これは、プリンターの電源を切る前に、ファンを回してホットエンドを適切な温度まで冷却するためです。この設定を行わないと、プリンターはホットエンドを冷却するファンをすぐに自動的に停止してしまいます。 

3Dプリンター ラズベリーパイ

(画像提供:Tom's Hardware)

8. 「保存」をクリックします

このチュートリアルでは、 Raspberry PiにOctoPrintをセットアップし、 The Spaghetti Detectiveによるリモートモニタリングを有効にし、Curaからワイヤレスでプリントジョブを送信できるようにしました。ここから、数百ものサードパーティ製プラグインを使ってOctoPrintのセットアップをカスタマイズできます。最も重要なのは、ハードウェアとファームウェアのメンテナンスをきちんと行い、3Dプリンターを安全に使用できるようにすることです。