Ubuntu desktop上にOctoprint環境構築 without Raspberry PI

(長ったらしい)まえがき

 3Dプリンタ熱に羅漢して約1年。健気にモデルを出力する姿を見るだけで、1時間程度はあっという間に過ぎ、お酒のつまみとしても味わい深く楽しんでいます。しかし、流石に時間がもったいなく感じてきたし、お酒も控えようと思う今日このごろ。同じ部屋で同居しているのが悪いんだと思い始め、別居する事としました。別居先は寝室の隣の物置部屋。完全別居するとイザという時に対処が遅れるので、リモートで姿を見れるシステムを構築することにしました。Octoprintの環境構築です。
 Octoprintといえば、シングルボードコンピュータのラズベリーパイとの組み合わせが定石で、ネットを検索するとほとんどの例でラズベリーパイ上に構築されています。本来のラズベリーパイの運用は、安価に必要十分なPC環境を整えられる点に優位性があるのですが、しかし現在のラズベリーパイは品薄状態が続いており、たとえ手に入ったとしても1万円を超える状況が続いております。昨今の半導体供給不足もさることながら、どうやら産業向け組み込み用途での需要が拡大しており、そのためにホビー向けの出荷が制限されているようです。大学生時代は生協で3000円で売っていた時代を知っている身としては、購入に躊躇してしまいます。そのうちに価格が下がってくる事を望みつつ、まずは使っていないラップトップにOctoprint環境を構築する事としました。

参考先

大変参考になりました。お礼申し上げます。
1.octoprintのインストール
paukstelis様のgithubページ

2.mjpg-streamerのインストールと設定
ラズパイ活用日記様
https://raspi-katsuyou.com/

3.その他、直接は引用していませんが、下記のサイト様も大変参考になりました。
Signal Flag "Z"様
https://signal-flag-z.blogspot.com/


環境

ラップトップPC (Core i5-6200U、メモリ8GB、HDD500GB)、
昔使っていたUSBカメラ (BSWHD06M, Buffalo)、
3Dプリンタ (Anycubic i3 mega Pro, 今回は特に登場しない)

作業手順

1 Ubuntuのインストール

1-1 Ubuntu desktopをインストール。ここではdesktop版、22.04.1LTSを利用しました。

1-2 ダウンロード後、USBメモリに展開する。rufusを使う。

2 OctoPrintのインストール

2-1 gitのインストール
sudo apt install git
2-2 gitから引用する
git clone https://github.com/paukstelis/octoprint_install.git
2-3 インストーラ起動
sudo octoprint_install/octoprint_install.sh
2-4 インストール開始を選択
1を入力してEnter
2-5 OSを聞かれるので、Ubuntu (1)を選択する。
2-6 Ready? -> y選択
2-7 haproxyをインストールするか?>No
  (今思えば、インストールが必要かもしれない。)
2-8 どのvideo streamerをインストールするか? mjpeg-streamerを選択
2-9 管理者をセットアップするか?>yes
適当な管理ユーザー名とパスワードを入力。octoprintの管理画面でログインに利用。覚えておく。
2-10 初回設定ウィザードを起動するか?>n
2-11 カメラを設定する?>終了
2-12 この時点でサーバーが起動しているので、接続する。
同一ネットワークで、https://<ホスト名>.local:5000でアクセスできる。
2-13 OctoPrintの初回設定。適当に設定を終わらせる。

3 mjpg-streamerのインストール

3-1 mjpg-streamerのインストール
以下のコマンドでインストールする。
sudo apt update
sudo apt install git cmake libjpeg8-dev
git clone https://github.com/jacksonliam/mjpg-streamer.git
cd
 mjpg-streamer/mjpg-streamer-experimental
make
sudo make install
これで、ホームディレクトリにmjpg-streamerフォルダができて、インストールされる。

3-2 起動用スクリプトの作成
以下のフォルダを開く
mjpg-streamer/mjpg-streamer-experimental
この中の、start.shが、起動用スクリプト。これを環境に合わせて書き換える。
前述のサイトを参考に設定した。
*ラズベリーパイのディレクトリ構造では、
  /home/pi/mjpg…
という構造になるが、Ubuntuでは以下のような構造になっている
  /home/設定したユーザー名/mjpg…
start.shスクリプト中における当該パス参照において、上記のように書き換える必要がある。
**カメラの解像度は、320x240では心もとないので、私は1280x720とした。フレームレートは30fpsとした。それぞれ、XRES、YRES、FPSの部分と、STREAMER行の"-f "の後ろの部分、"-r "の後ろの部分を書き換える。

3-3 起動時に自動スクリプト実行の登録
"/etc/systemd/system/"ディレクトリを管理者権限で開く。今回は
sudo nautilus
で管理者権限アクセスを行った。ここに、テキストエディタで"mjpg-streamer.service"を作成。内容は、前述のサイトを参考に記述する。
*文中、userxxの部分はユーザー名に書き換える。
*mjpg-streamerディレクトリ名やstart.shまでのパスを修正して記述する。
完了後、以下のコマンドでサービスの自動起動を設定する。
sudo systemctl daemon-reload
sydo systemctl enable mjpg-streamer
以上、完了後に再起動する。

3-4 起動確認
次のURLでアクセスできる。
http://サーバーのホスト名.local:8080
ここで、Streamを開くと、カメラの映像が写っているはず。
カメラの映像ストリームにアクセスするためのアドレスは、
http://サーバーのホスト名.local:8080/?action=stream
となる。これをoctoprintに登録すればOK

3-5 OctoPrintに映像ストリームを登録
https://<ホスト名>.local:5000
でOctoPrintにアクセス。
設定画面にアクセスし、Features Webcam & Timelapseから、Stream URLに以下のように映像ストリームを指定する。Testを押すと画面が映るか確認できる。
http://サーバーのホスト名.local:8080/?action=stream

あとがき

これで快適な3Dプリンタライフの一歩が踏み出せた。次はカスタムファームウェア導入とメッシュレベリング導入だ!

この記事が気に入ったらサポートをしてみませんか?