OctoPrintをubuntu Server 20.04なminiPCにインストールし、3DプリンタのEnder3をネットワーク対応に

この記事は約4分で読めます。

5年ほど前の当時、Arduino unoよりも安く入手した

ZOTAC HD-ID11というAtom搭載のベアボーンminiPC。

一度記事にしましたが

ZOTAC HD-ID11のWi-Fiカードを手持ちの5GHz対応のものに換装
ネタがなくなり、ご無沙汰しております。 最近急に多忙になり、あまり家でゆっくりする時間が少なくなったからです。 ZOTACのベアボーン、ZBOXシリーズのHD-ID11です。 横にしてふたを開けたところ。 古い機種です。 CPUはAtom D...

最近は使っておらず、30GBのSSDはそのままでメモリは今は4GBになってます。
そのうちNASにでもしようと思って退蔵していました。

今回はこのminiPCを

OctoPrintを導入して3Dプリントサーバーにします。

Ubuntu Server 20.04.4をインストール

Ubuntu Serverのインストール方法は他に詳しい記事が多いので、そちらをご参照ください。
私はこちらのサイトを参考にしました。

Ubuntu Server 20.04 インストール手順
Ubuntu Server 20.04 LTSのインストール手順です。※こちらは2025年4月までセキュリティアップデートとメンテナンスアップデートの提供が保証されています。インストールイメージのダウンロードまずは「Ubuntu Serve

ネットワークはWiFi経由で、IPアドレスは固定で設定しました。

OPENSSHサーバを導入するか聞かれるので、Yesを選択します。
OPENSSHサーバを入れとくと、OSインストールが完了してしまえば、あとはネットワーク経由で別のWinPCからSSH接続でリモートログインできるようになるからです。

ubuntu server インストール

OSインストールが完了。
その後別のWinPCから、使い慣れたTeraTermでSSH接続しました。

この後の作業は、こちらのサイトに書かれている通り実行しました。

Setting up OctoPrint on Ubuntu 20.04 with Python 3
Note: This post was originally on my personal blog. I have moved it here as it relates to what we do. Overview I had been running OctoPrint on a small embedded ...

Ubuntu Serverをインストールして再起動し、別のPCからTeraTerm経由でログインしたら、

sudo apt update
sudo apt upgrade -y
sudo apt install net-tools
sudo reboot

をしました。

Ubuntu ServerにOctoPrintをインストール

再起動したら、

sudo apt-get install python3-pip python3-dev python3-setuptools python3-virtualenv git libyaml-dev build-essential

でインストール。

ユーザーホームディレクトリ”/home/xxxx[ユーザー名]”にOctoPrintディレクトリを作り、

mkdir OctoPrint
cd OctoPrint

その中に移って作業となります。

virtualenv --python=python3 venv
source venv/bin/activate

をすると、コマンドラインに「(venv)」と表示されるので、

pip install pip --upgrade

最新バージョンのpipをインストール。自分は20.0.2が22.0.4になりました。

その状態でOctoPrintをインストールします。

pip install https://get.octoprint.org/latest

ユーザー権限を付与し、

sudo usermod -a -G tty xxxx[ユーザー名]
sudo usermod -a -G dialout xxxx[ユーザー名]

サービス確認コマンド

~/OctoPrint/venv/bin/octoprint serve

で無事に走りました。

動作を確認するため、ウェブブラウザ経由で

http://[ipアドレス]:5000

で管理画面を拝んでみました。

OctoPrintスタートアップ画面

TeraTermに戻り、OctoPrintのデフォルト設定を流用させていただきます。

wget https://github.com/foosel/OctoPrint/raw/master/scripts/octoprint.init
sudo mv octoprint.init /etc/init.d/octoprint
wget https://github.com/foosel/OctoPrint/raw/master/scripts/octoprint.default
sudo mv octoprint.default /etc/default/octoprint

権限確認。

sudo chmod +x /etc/init.d/octoprint

最後に、上記設定ファイルをnanoで編集しました。

接続して動作確認

OctoPrintをインストールしたサーバーをこのように3DプリンタにUSBで接続します。
そしてサーバーを再起動すると、勝手に3Dプリンタを認識してくれました。

WebブラウザからサーバーのOctoPrintを覗いて、gcodeファイルをサーバーにコピーしてプリントをクリックするだけです。
温度変化のグラフや、gcodeのレイヤーまで表示されます。

SDカードにgcodeファイルを保存して差し替えて、プリンタのボタンを押す、という作業が不要になりますし、カメラをつなげればなんとリモートでプリンタ状況をモニタリングできるようです。

コメント