3Dプリンタを遠隔操作しよう(2/2)
今回はOctoPrintの導入の仕方のご紹介です。あと使い方も。便利にやっていきましょう
前回の続きです。OctoPrintとは何ぞや、という説明をしましたね。今回は必要なものを記載したのでインストールして実際に使ってみましょう。
用意するもの
無線LANルータ
- 有線LANルーターでもできなくはないです。が、今回は無線での操作が目的なので…
Raspberry Pi(もちろんSDカード類も)
- 性能が良いほどベター。2はちょっともたつくので3や4系がベターです。Zeroとかは動作が遅くて酷いことになるのでダメです。
必要に応じて無線アダプタを用意
- Raspberry Piに内蔵されていれば特に要らないです
Raspberry Pi と 3Dプリンタを繋ぐUSBケーブル
- 3Dプリンタに付属しているものでokです
STEP 1: Raspberry Piの用意
Raspberry PiをセットアップするときはRaspbianなどのRaspberry Pi用OSを入れるところから始まりますが、こちらも基本的に同様でOctoPiというカスタムRaspbianを導入するところから始まります。
Raspberry PiはSD/microSDカードからOSを立ち上げる仕組みになっているので、まずはSDカードとSDカードリーダーを用意しておきましょう。
STEP2: さあインストールだ
OctoPiにある手順に従ってもらうのが一番ですが、とりあえず和訳しておきますので一通り目を通しておいてくださいね。
推奨端末: Raspberry Pi 3B, 3B+ または4B。その他のバージョンではwebカメラやサードパーティプラグインを導入した際に出力物に乱れが生じたり読み込み時間が長くなります。
Raspberry Pi Zero Wは特に非推奨です。帯域が使用されているとき(例:webカメラでストリーミングをしているときなど)WiFiインタフェースが原因で深刻なパフォーマンスの問題が確認されており、出力物に悪影響があります。続きはこちら
以下のボタンからOctoPi 0.17.0がダウンロードできます
https://octopi.octoprint.org/latest
OctoPiの導入
1. zipファイル(上記のOctoPi 0.17.0)を解凍し、内容物である.imgファイルをSDカードに書き込みます。書き込みソフトウェアにはEtcherを使用してください。導入の際はたとえソフトウェアに指示されたとしてもSDカードをフォーマットしないでください。最初からやり直しになります。とにかく、.imgファイルを書き込むだけで良いです。
2. WiFiの設定を行うため、SDカード内にあるoctopi-wpa-suppicant.txtにWiFiのアクセス設定を入力してください。注意: WindowsではWordPadを、MacOS XではTextEditは使わないでください。そいつらはファイルをぶち壊しやがるので設定が失敗します。Notepad++なりAtomなりVSCodeを使ってください。
3. SDカードを挿してRaspberry Piを起動してください。
4. PiにSSHで接続してください。初期設定ではusernameはpi、パスワードはraspberryです。その後sudo raspi-configを起動して…1-Change User Passwordからパスワードの変更をしてください/2-[お好みで]タイムゾーンの変更/3-[お好みで]Network Optionsからhostnameを変更してください。octopi.localをURLに指定しても接続できなくなり変わりに、[指定したhostname].localで接続できるようになります
5. http://octopi.local か、 http://[raspberry piのローカルIPアドレス]で接続してみましょう。httpsも自己署名証明書にて対応しています
と、言うことでまずはここからzipファイルをダウンロードしましょう。ここにすべてが入っています。600MB超あるので、のんびり待ちましょう。展開したら2GB超えますけどね…
ダウンロードが終わったら、中身を展開して.imgファイルを取り出しておきましょう。私が2020年6月22日に展開してみたところファイル名は2019-09-26-octopi-buster-lite-0.17.0.imgだったので、そんな感じのものが出てくるはずです。これをSDカードに書き込みます。
OctoPrint.orgではbalenaEtcherという書き込みアプリを使うことを推奨しているのでそれに従ってみましょう。Select imageをクリックして、先程のimgファイルを指定しましょう。Select targetにはSDカードを指定します。
正しく指定すると下のような画面になり、Flash!がクリックできるようになるはずです。
Flash!するとこうなって、ジワジワと書き込まれていくのがわかります。
終わったらこう。本当は「Failed device」は無いほうが良いんですが、このスクショでは無視してくださいね…
STEP 3: Raspberry Piに挿…すのはまだ早い!ネットワーク設定をしよう
いちどSDカードの書き込みが終わったことで、アクセスが切れているかも知れないのでリーダの挿し直しをしたりして確認してください。書き込みが終わったカードの中を見てみるとファイルがたくさんあると思います。この中からoctopi-wpa-supplicant.txtを発掘してみましょう。
中身をみるとなんかすごいことになってますが、ご自宅の無線環境に合わせて設定を変えるだけです。私の場合はWPA2で運用しているので画像にあるようにWPA/WPA2 securedの箇所をいじっていきます。
まずは頭にある#(シャープ)を消していきましょう。シャープつきの文章は何をやってもパーフェクトに無視されてしまうのでここは欠かせません。こうなればOK
そして、ssid=""のところにはネットワークの名前、pskのところにはパスワードを入れます。この画像で使われてるSSIDとパスワードはホンモノじゃないので、ちゃんとご家庭のものを使ってくださいね。
記入が終わったら変更を保存して、SDカードを安全に取り外しましょう。Raspberry Piの準備はいいですか?Raspberry PiのUSBポートと3DプリンタのUSBポートを今のうちに繋いでしまいましょう!
STEP 4: Raspberry PiにSSH接続
Raspberry PiにSDカードを差し込んで、数十秒ほど待ってみましょう。
STEP3で入力したSSIDとパスワードに誤りがなければ、OctoPiの入ったRaspberry PiはLANに接続できているはずです。ここは無線LANの管理画面からチェックすると良いでしょう。端末名はoctopiというものが見つかると思います。私の場合はこんな感じですので、IPアドレスの192.168.0.103を覚えておきます。
SSH接続を行いたいので、PowerShellなりgit bashでRaspberry Piにログインしてみましょう。Raspberry Piへ接続する際のIDとpasswordは、定番のpiとraspberryです。
$ ssh pi@[ipアドレス]
こんな感じの画面が出れば、ひとまずログインは完了です。最低限の設定を次から行いましょう。
STEP 5: Raspberry Piの設定
以下のコマンドを入力して、Raspberry Piの設定に入ります。主にセキュリティ関係や時刻関係の設定です。
sudo raspi-config
パスワードを再度聞かれると思いますが、ここはデフォルトのraspberryでokだと思います。するとこんな感じのビックリする画面が出ます。まずはパスワードから変えてしまいましょう。
1. に合わせてEnterを押すと「次にパスワードの入力をお願いするので、それを間違わないように2回入力してね」的なメッセージが出るので、raspberryではない別のパスワードにしましょう。その次は4. のLocalisation Optionsから時間帯の変更です。
お住まいの地域に合わせて行きましょう。私は東京の犬小屋に住んでいるのでAsia→Tokyoに設定しておしまいです。Finishを選択してもとの黒い背景の画面に戻りましょう。もうこれでターミナルからRaspberry Piに繋ぐ理由は特になくなったので閉じてしまいましょう。
STEP 6: 最後の仕上げ、OctoPrintの設定
今度はwebブラウザからOctoPrintの設定をします。私のケースではRaspberry PiのローカルIPアドレスは192.168.0.103でしたので、それをブラウザに直接入力してみるとこんな画面が出ます。いわゆるセットアップウィザードです。
まずは新規にユーザーを作るように言われるので新規ユーザのIDとパスワードを入力してKeep Access Control Enabledしましょう。
次は「匿名で情報を送信するか」です。これはお好きにどうぞ。私は特に拒否する理由もないのでEnabledにしてます。
次は接続のチェック。OctoPrintにはソフトウェアアップデートがあったり、プラグインの更新をお知らせする機能があります。それには当然インターネット接続が必要なので、OctoPrintが外部のインターネット…というかGoogleのDNSに繋げられるかのチェックですね。特に切っておく理由もないのでEnableにしています。
次はプラグインのブラックリスト処理。プラグインはOctoPrint.orgが何もかも全部作っているわけではなく第三者が作っているわけですが、中にはプラグインのせいで動作が怪しくなったりすることもあり得るようで、そういったものには最初からアクセスできないように安全策を取る手段があります。
私はせっかく3Dプリントを快適にするためにOctoPrintを入れたので、不安定になったりするのはやだなーということでEnableです。
最後はプリンタの設定です。これは皆さんのお持ちの機種に合わせて行くしかないので3Dプリンタの仕様を眺めながら埋めていってください。とは言え、多分最初は"Print bed & build volume"くらいしか変更するところはないと思いますが…。一応私のCR-10の設定をお見せしておきます。
最後の画面です。一応取り扱いの注意として「3Dプリンタを走らせてるときは手の届く範囲内にいようね」「OctoPrintを公衆のネットワークに乗せるのはできればやめようね危ないよ」などの注意点です。3Dプリンタはたまーに粗悪な部品があって火事があったりなかったりだそうなので、お出かけ中のプリントとかは超注意ですね。
お手並み拝見…
ということでOctoPrintの導入は完了!試しになにかプリントしてみることにしましょう。設定画面のFinishを押していればこんな感じの画面がお出迎えしてくれるはずです。
STEP3の終わりにRaspberry Piと3Dプリンタをつなげておくよう書いておきましたが、忘れていたら再確認。問題なかったら左上にある「Connect」をクリックしましょう。State: Operationalになっていれば準備はokです。
では、何かしらのgcodeを投げてみることにしましょう!
OctoPrintの便利な機能のひとつ、FinderなりExplorerなりからgcodeファイルをドラッグアンドドロップで送信できるのが便利というかラク!
アップロードしたのち、さっさとプリントしてみたいときは左下のファイル一覧からgcodeを選び、一番右のプリンターのアイコンをクリックしましょう。
すると、ヒートベッドおよびノズルの加熱が始まります。規定の温度に到達したらプリント開始!
あとは完成を待つのみです。以上でOctoPrintの導入はおしまいです!お疲れさまでした!
OctoPrintはプラグインが豊富
OctoPrintは第三者製のプラグインを入れることでますます快適になります!そちらはまた別の記事でお伝えしていきますのでお楽しみに…!