Kolejny wpis po dłuższej przerwie ;) Tym razem przyszła pora na odświeżenie mojego małego kontrolera dla drukarek 3d, na którym do tej pory chodził OctoPrint oraz motion (serwis do kamerki) . Tak się złożyło, że python2 nie jest już wspierany przez Octoprint, a zatem najprostsza jest aktualizacja poprzez reinstalację wszystkiego.
Na szczęście od dawna unikam zbytniego ingerowania w system i generalnie staram się modyfikować tylko to co naprawdę muszę, szkoda czasu na wymyślanie koła od nowa. A zatem szybko do celu. Najpierw instalujemy system, w moim przypadku Armbian Bullseye, a poniżej zestaw poleceń do przeklinania:
# apt-get install python-is-python3 python3-pip python3-dev python3-venv
# adduser octoprint
# passwd octoprint -d
# usermod -a -G tty octoprint
# usermod -a -G dialout octoprint
# adduser octoprint sudo
# echo 'octoprint ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
# su - octoprint
$ python -m venv OctoPrint
$ OctoPrint/bin/pip install OctoPrint
$ exit
# wget https://raw.githubusercontent.com/OctoPrint/OctoPrint/master/scripts/octoprint.service -O /etc/systemd/system/octoprint.service
# sed -e 's/^User=pi$/User=octoprint/' -i /etc/systemd/system/octoprint.service
# sed -e 's#^ExecStart=.*#ExecStart=/home/octoprint/OctoPrint/bin/octoprint#' -i /etc/systemd/system/octoprint.service
# systemctl enable octoprint
# systemctl start octoprint
Opis konfiguracji pominę, jedyne co trzeba jeszcze wiedzieć to to, że domyślnie interfejs www jest dostępny na porcie 5000.
Warto od razu doinstalować kilka naprawdę użytecznych pluginów jak "Touch UI" (interfejs dla urządzeń mobilnych), "Exclude Region" (możliwość wykluczenia pewnego obszaru roboczego podczas wydruku) oraz "PrettyGCode" (prezentuje GCODE w formie modeli 3D).