経緯
3Dプリンタを買ったのですが、自分のノートPCでSTL→gcodeにして、SDカードで別室の3Dプリンタまで持っていくのがめんどうだな。というのと、外出後とかでも監視したい。タイムラプスも撮れたら楽しそう。
ということで、Raspberry Piを3Dプリンタ用のサーバーにしてみようと思いました。
調べてみると、有名なのが
- repetier server (https://www.repetier-server.com/)
- OctoPrint (https://octoprint.org/)
の2種類があるようです。
Curaというスライサーを使っているのですが、Plug-inでOctoprintに接続できるものがあったので、OctoPrintを導入しようと思いました。
今回は環境設定などが面倒くさかったので、OctoPrintがデフォルトでインストール & 設定されているOctoPiというイメージをダウンロードして、設定してみようと思いました。
セットアップ
設定はイメージのダウンロードサイトにも詳しく書いてあって、
https://octoprint.org/download/
- いつものようにddコマンドで
.img
をSDカードに書き込み - SDカードをマウントし、
octopi-wpa-supplicant.txt
を編集して、ネットワークのSSIDとパスワードを設定 - SDカードをRaspberryPiに入れて、Boot
- ssh octopi.local でセキュリティやタイムゾーン等設定 (スキップ可)
- ブラウザで http://octopi.local にアクセス
という手順です。
推奨はRaspberryPi 3ですが、ネットを見ていたら古いRaspberryPiでも動かしている人がちらほらいたので、もしかしてと思い、家に昔買ったRaspberryPi1B+が残っていたので、Wi-Fiドングル(こういうの)をさして、試してみました。
すると、Boot と SSHまではでき、http://octopi.local にもアクセスできたのですが、 ブラウザで、 "OctoPrint is still starting up, please wait..." と表示されたままで、5分程待っても変わらず、リロードしてみると、サーバー自体がダウンしていました。
ssh はまだ生きていたので、~/.octoprint/logs/octoprint.log
も見てみましたが、分かりやすい理由っぽいエラーはパッと見当たらず、3,4回ほどRebootするなどして試していましたが、症状は同じ感じでした。
諦めて、Raspberry Pi 3Bをamazonで購入して、↑で使っていたSDカードを3Bに移して起動して、http://octopi.local にアクセスしてみたところ、無事、起動画面が表示されました。
細かい設定などはこちらのサイトが日本語でわかりやすかったです。
https://terutakke.com/diary/octoprint/
やはり、ケチらないで推奨を使ったほうがいいですね。
無事、こういう感じで、モニタリング&制御できるようになりました。
ちなみに、カメラはこういう感じで3Dプリンタにマウントしてあります。
うまく撮影できるか、実験してる pic.twitter.com/UD8WdcpAVz
— Keisuke KAWAHARA (@ktansai) November 17, 2019
データはhttps://www.thingiverse.com/thing:2568708 で公開されているSTLを出力しました。
追記:
OctoPrintのPlug-inを導入して、APIキーの接続を試してみたところ、このように直接gcodeをoctoprint側に送ることができるようになりました。