DebianにOctoPrintを入れる
Raspberry PI ではなく普通のDebianに入れます
TL;DR
- pip install で octoprint を入れて、systemd起動するようにサービス定義を書いて起動
- ustreamer を入れて、systemd起動するようにサービス定義を書いて起動
- FUN!
1. OctoPrintを入れる
ここを参考にしました
How to Install OctoPrint on Linux/Ubuntu | All3DP
1. 前提パッケージを入れる
sudo apt install python3 python3-pip python3-dev python3-setuptools python3-venv git libyaml-dev build-essential
2. OctoPrint起動ユーザーを作ってそこに準備する
# octo ユーザーを作って sudo useradd -m octo sudo usermod -a -G tty,dialout octo # そこへ移動して sudo su octo -c /bin/bash cd ~ mkdir OctoPrint && cd OctoPrint # OctoPrintを入れる python3 -m venv venv source venv/bin/activate pip install --no-cache-dir octoprint
3. /etc/systemd/system/octoprint.service を作る
cat <<__EOF__ > octoprint.service [Unit] Description=The snappy web interface for your 3D printer After=network-online.target Wants=network-online.target [Service] Environment="LC_ALL=C.UTF-8" Environment="LANG=C.UTF-8" Type=exec User=octo ExecStart=/home/octo/OctoPrint/venv/bin/octoprint [Install] WantedBy=multi-user.target __EOF__ sudo cp octoprint.service /etc/systemd/system/
4. 起動する
sudo systemctl enable octoprint.service sudo systemctl start octoprint.service
ブラウザから http://your-host-name:5000 で開ける筈です
ustreamer を入れる
OctoPrint の Control でWebCam表示するための準備です
1. ustreamerを入れる
# 入れて sudo apt install ustreamer # video を octo ユーザーから使えるようにする sudo usermod -a -G video octo
2. /etc/systemd/system/ustreamer.service を作る
/dev/video0 は他の名前になっているかもしれません
cat <<__EOF__ > ustreamer.service [Unit] Description=MJPEG Streaming After=network-online.target Wants=network-online.target [Service] Environment="LC_ALL=C.UTF-8" Environment="LANG=C.UTF-8" Type=exec User=octo ExecStart=/usr/bin/ustreamer -d /dev/video0 -s 0.0.0.0 -m MJPEG -r 640x480 -f 5 -p 8001 --device-timeout 8 --device-error-delay 8 [Install] WantedBy=multi-user.target __EOF__ sudo cp ustreamer.service /etc/systemd/system/
3. 起動する
sudo systemctl enable ustreamer.service sudo systemctl start ustreamer.service
4. OctoPrint に設定する
OctoPrint の OctoPrint Settings - Classic WebCam から以下を設定します
- Stream
- Stream URL :
http://your-host-name:8001/stream
- Stream URL :
- Snapshots & Timelapse
- Snapshot URL :
http://your-host-name:8001/snapshot
- Snapshot URL :
おまけ : http://your-host-name:5000 ではなく http://your-host-name で開けるようにする
nginx でリバースプロキシするならこんなかんじで
# いれて
sudo apt install nginx
# リバースプロキシのconfigを書いて
cat <<__EOF__ > octoprint.conf
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
location / {
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_pass http://localhost:5000;
}
}
___EOF__
sudo cp octoprint.conf /etc/nginx/conf.d/
# sites-enabled/default が邪魔になるので消して
sudo rm /etc/nginx/sites-enabled/default
# リロード
sudo systemctl reload nginx.service
ショボン玉( ´・ω・)y━。 o ○(´・ω・) 。 O (´・ω・)
Canonical Snapcraft - OctoPrint ... snap による OctoPrint なのですが
sudo apt update sudo apt install snapd sudo snap install core sudo snap install octoprint-pfs --edge
プリンタに接続できませんでした。
Changing monitoring state from "Offline" to "Detecting serial port" Serial port list: ['/dev/ttyUSB0', '/dev/ttyS3', '/dev/ttyS2', '/dev/ttyS1', '/dev/ttyS0'] Trying /dev/ttyUSB0 Could not connect to or enter programming mode on /dev/ttyUSB0, might not be a printer or just not allow programming mode Trying /dev/ttyS3 Could not connect to or enter programming mode on /dev/ttyS3, might not be a printer or just not allow programming mode Trying /dev/ttyS2 Could not connect to or enter programming mode on /dev/ttyS2, might not be a printer or just not allow programming mode Trying /dev/ttyS1 Could not connect to or enter programming mode on /dev/ttyS1, might not be a printer or just not allow programming mode Trying /dev/ttyS0 Could not connect to or enter programming mode on /dev/ttyS0, might not be a printer or just not allow programming mode Changing monitoring state from "Detecting serial port" to "Error: Failed to autodetect serial port, please set it manually." Failed to autodetect serial port, please set it manually.