【OctoPrint】ラズベリーパイを使って3DプリンターをWi-Fi(無線LAN)化した

 89,613 total views,  8 views today

目次

3DプリンターをWi-Fi化

今までプリントする際のデータ(G-code)はSDカード経由で3Dプリンターに取り込んでいたが、プリントするたびにPC-3Dプリンター間でSDカードの抜き差しをするのが面倒になってきた。


そこで、Wi-Fi経由で3Dプリンターを操作できる環境を構築することにした。


3DプリンターをWi-Fi化することで、PC、タブレット、スマホなどWi-Fiに接続できて、かつWebブラウザの表示に対応している機器ならば種類を問わず、3Dプリンターを操作することが可能となる。


調べてみると、3Dプリンターを無線LAN経由で操作できるようになるソフトウェアとしては、Repetier-ServerOctoPrintがあるようだ。


このうちOctoPrintのほうは、多様なプラグインが公開されていて色々と便利そうだと思ったので、OctoPrintを導入することにした。


今では、OctoPiと組み合わせて使うKlipperというファームウェアも出てきている。



OctoPi

OctoPrintは、OctoPiとして提供されており、導入にあたってはラズベリーパイが必要となる。
OctoPiを導入したラズベリーパイと3DプリンターをUSBケーブルで接続することで、Wi-Fi経由でパソコンやスマホから3Dプリンターを操作することが可能となる。


公式で推奨されているラズベリーパイのモデルは、3B、3B+、4となっており、Zero Wは非推奨とされている。なお、3Bと3B+はともに無線LANを搭載しているモデルであり、最新モデルの4BはIEEE802.11acに対応していて、さらにCPUが強化されている


ラズベリーパイはモバイルバッテリーでの運用も可能であるが、3Dプリンター用に使うとなると、長時間動かすことが前提となる。なので、3DプリンターのWi-Fi化を機に初めてラズベリーパイを導入するという場合には、あらかじめUSB電源アダプターとセットで用意しておくほうがいい。


私の場合は、手持ちのラズベリーパイ3Bがあるので、これをそのまま利用することにした。



  • Raspberry Pi 4 Model B キット
  • Raspberry Pi 4 Model B


  • OctoPiの導入

    OctoPiを入手する

    OctoPiのZIPファイルをダウンロードページから入手する。


    OctoPiをSDカードに書き込む

    入手したOctoPiのZIPファイルをSDカードに書き込む。書き込みには、Etcherというソフトウェアを使えば3ステップで簡単にできる。

    ①OctoPiのZIPファイルを解凍し、解凍されたイメージファイル(imgファイル)を選んで、







    ②書き込むSDカード(ドライブ)を指定して、







    ③「Flash!」を押せば、書き込みが始まる。



    後は、書き込みが終わるまでしばらく待つだけ。

    ラズベリーパイのWi-Fi設定をする

    OctoPi経由で3DプリンターをWi-Fi化するためには、まずラズベリーパイでWi-Fiの設定を行う必要がある。


    非常に簡単なWi-Fi設定の方法が説明されているページを見つけたので、ここで紹介する。

    まずは、OctoPiを書き込んだSDカードをPCで読み込み「octopi-wpa-supplicant.txt」というファイルを見つける。



    その後、推奨されているテキストエディタ(Notepad++、VSCode、Atom、SublimeText)のいずれかを使い、「octopi-wpa-supplicant.txt」の内容を編集する。


    ちなみに、私が使ったのは、マイクロソフトのVSCodeである。



    「octopi-wpa-supplicant.txt」の編集個所は2か所あり、それぞれ以下のように編集する。


    「WPA/WPA2 secured」という項目で、各行先頭の「#」を削除し、接続先の「SSID」と「暗号化キー」を記述する。


    (編集前)



    (編集後)



    なお、「SSID」と「暗号化キー」はバッファロー製のルーターであれば、「セットアップカード」に書かれているし、たいていはルーター本体に書かれている。



    あとは、カントリーコードの設定を行う。
    具体的には、以下のように「country=GB # United Kingdom」の先頭に「#」を記述し、

    #country=GB # United Kingdom

    新たに

    country=JP # Japan

    という1文を記述する。


    (編集前)



    (編集後)



    ラズベリーパイにOctoPiを書き込んだSDカードを挿入し、電源を入れる。その後、TeraTermを使ってSSHで接続し、ラズベリーパイの各種設定を行う。設定については、このページが参考になる。

    セキュリティ設定等を行う

    Wi-Fiの設定が終わったら、ラズベリーパイにSDカードを挿入し電源につなぐ。


    その後、「ネットワーク」を開けば「OctoPrint instance on octopi」が見つかる。見つからなければ、Wi-Fi設定が上手くできていないと思われる(SSID、暗号化キーのタイプミス)。


    「OctoPrint instance on octopi」のプロパティを開き、IPアドレスを確認しておく(ここの例では、「192.168.1.15」)。


    (OctoPrint instance on octopiのプロパティ)



    OctoPiのIPアドレスを確認したら、Tera termを使って、SSH接続を行う。


    詳細はほかに譲るが、とりあえず、パスワードの変更を行い、ラズベリーパイのアップデートを行っておけばよい。


    Tera termを起動し、以下のように設定し、OctoPiにSSH接続を行う。





    • ユーザー名:Pi
    • パスワード:raspberry



    接続が完了したら、

    su do passwd pi

    と入力し、パスワードの変更を行う。



    新たに使用するパスワードを2回入力すれば、パスワードの変更が完了する。


    OctoPrintに接続する

    ラズベリーパイの設定が終わったら、OctoPiへPCやスマホのブラウザから接続する。ブラウザのアドレス欄に「http://octopi.local」または、「http://<your pi’s ip address>」(例:http://192.168.1.15)と入力することで、OctoPiの画面が表示され、セットアップウィザードが開始される。






    ユーザー名とパスワードを設定する。






    匿名の利用追跡を設定する。






    接続チェックの設定を行う。



    プラグインのブラックリストを設定する。






    スライスエンジンの設定はここで設定せずに、後から設定することもできる。












    登録するプリンタの名前、造形エリアのサイズ、ノズルサイズなどを設定する。
























    ここまで終われば、あとは「Connect」ボタンを押せばOctoPrintと3Dプリンターが接続される。






    ちなみにこれは、iPad ProのSafariからOctoPrintに接続した画面である。


    OctoPrint

    OctoPiを入れたラズベリーパイと3DプリンターをUSB接続することにより、無線LAN経由で3Dプリンターを操作することができる。

    基本画面

    OctoPrintにWebブラウザから接続した際に表示される基本画面には、以下のタブが用意されている。



    なお、表示は画面表示はwebブラウザーの翻訳機能を使えば、日本語での表示も可能である。

    Temperature(温度)

    ホットエンドとヒートベッドの温度が表示される。





    Control(コントロール)

    モーターやファンなどの操作ができる。また、Webカメラを接続していると、そのカメラの映像が表示される。





    GCode Viewer(GCodeビューア)

    ロードしたgcodeのデータが表示される。





    Terminal(ターミナル)

    コマンド入力により操作ができる。





    Timelapse(タイムラプス)

    Webカメラのタイムラプス撮影(コマ落とし)の設定ができる。






    Files(ファイル)

    ファイルメニューでは、OctoPiにアップロードしたデータの詳細表示やプリントなどが行える。






    左端のボタンをクリック(タップ)すると、データの詳細が表示される。



    データがダウンロードされる。



    ゴミ箱マークのボタンをクリックするとデータが削除される。






    プリンターマークのボタンをクリック(タップ)すると、データがロードされプリントが開始される。


    システム

    画面右上にある電源ボタンのマークから設定メニューにアクセスできる。





    ユーザー設定

    画面右上にある人型のマークからユーザー設定にアクセスできる。




























    設定

    画面右上にある工具のマークから設定メニューにアクセスできる。
    設定メニューでは以下の項目が用意されている。


    PRINTER(プリンター)

    設定メニューのPRINTERでは以下の項目が用意されている。


    Serial Connection(シリアル接続)

    シリアル接続では、以下の項目が用意されている。

    スポンサーリンク

    • General(全般)
    • Inetrvals & timeouts(間隔とタイムアウト)
    • Firmware & protocol(ファームウェアとプロトコル)
    • Behaviour(動作)























    Printer Profiles(プリンタープロファイル)

    プリンターごとにプロファイルを設定できる。





    Temperatures(気温)

    温度のプリセットやグラフに関する設定が行える。





    Terminal Filters(ターミナルフィルタ)

    ターミナルでの表示内容についてフィルタ設定が行える。





    GCODE Scripts(GCODEスクリプト)

    イベントごとにgcodeの追加が行える。





    FEATURES(特徴)

    設定メニューのFEATURESでは以下の項目が用意されている。


    Features(特徴)




    Webcam & Timelapse(ウェブカメラとタイムラプス)

    Webカメラに関する設定が行える。





    Access Control(アクセス制御)

    アクセス制御に関する設定が行える。





    API(API)




    Application Keys(アプリケーションキー)

    アプリケーションキーの発行が行える。





    OCTOPRINT(オクトプリント)

    設定メニューのOCTOPRINTでは以下の項目が用意されている。


    Server(サーバ)

    サーバに関する設定が行える。











    Folders(フォルダ)

    フォルダに関する設定が行える。





    Appearance(外観)

    色や表示言語の設定が行える。





    Logging(ロギング)

    ログの設定ができる。





    Plugin Manager(プラグインマネージャ)

    プラグインの追加などができる。





    Software Update(ソフトウェアの更新)

    インストール済みのプラグインに更新があれば、その更新が自動で行える。





    Announcements(お知らせ)

    OctoPiやプラグインに関するお知らせが表示される。





    Backup & Restore(復元する)

    バックアップとバックアップからの復元が行える。





    Anonymous Usage Tracking(匿名の利用追跡)

    使用状況のトラッキングに関する設定ができる。





    Pi Support(パイサポート)




    PLUGINS(プラグイン)

    「Cura Engine」のようにあらかじめバインドされているプラグインもあるが、とりあえずオートレベリング関連のプラグインを導入してみた。

    ABL Expert Plugin(ABLエキスパートプラグイン)

    オートレベリングの設定が行える。























    Action Command Prompt(アクションコマンドプロンプト)




    Cura Engine(Cura エンジン)

    OctoPiのバージョン0.1.2.0以降では、スライサーのCuraがバンドルされている(※ただしCuraの対応バージョンは15.04まで)。そのため、スマホやタブレットでThingiverseからstlファイルをダウンロードし、そのままPCを介さずにスライスを行い、3Dプリンターで出力させるといったことが可能となっている。

    つまり、OctoPrintを使うことにより、PCが手元になくともネットに繋がっている端末が手元にあれば、リモートで3Dプリンティングを行うことが可能ということである。


    ただし、OctoPi上でCuraを使ってスライスを行うためには、あらかじめOctoPiにプリンターのプロファイルをインポートしておく必要がある。






    stlファイルをOctoPiにアップロードすると、スライスの設定ダイアログが表示され、その場でスライスを行うかどうか選択できる。






    なお、ファイルのアップロードは、アップロードボタンから行えるほか、ブラウザ上にドラッグアンドドロップすることでもできる





    EEPROM Marlin Editor Plugin(EEPROM Marlinエディタプラグイン)

    Marlineベースのファームウェアを使用している場合、EEPROMに各種設定を書き込むことができる。


    当たり前ではあるが、プリンターが接続されていなかったり、プリント中だったりすると設定の変更はできない。



























































    まとめ

    • OctoPrintを使って3DプリンターをWi-Fi化した。
    • OctoPrint用に様々なプラグインが公開されている。
    • オートレベリング用のプラグインを導入した。