Изменения

OctoPrint на X96 Mini

3033 байта добавлено, 15:46, 27 июля 2023
OctoPrint
= Введение =
Данная статья показывает, как развернуть OctoPrint на [[компонент::X96 Mini]].
 
= Установка Armbian GNU/Linux =
Необходимо скачать <code>Armbian_20.10_Arm-64_focal_current_5.9.0.img.xz</code> (или более новую версию). Ссылка: https://androidfilehost.com/?fid=10763459528675575689
Качается долго и нестабильно -- копия архива у нас в [[сервис::Syncthing]].
== Распаковка образа и запись на MicroSD ==
* На подключённом HDMI-экране должен быть виден процесс загрузки GNU/Linux.
* После загрузки система сама должна предложить настроить все параметры. По-умолчанию она доступна по SSH на порту 22 и с логином <code>root</code> и паролем "1234" (рекомендуется поменять.)
 
== Источники ==
* Статья по установке Armbian GNU/Linux: https://github.com/kdrapel/x96mini_linux
= OctoPrint =
pip install pip --upgrade
pip install octoprint
useradd -m octoprint
usermod -a -G tty octoprint
usermod -a -G dialoutoctoprint
== Автозапуск ==
systemctl enable octoprint.service
 
= Видео-вещание =
 
== Установка "mjpg-streamer" ==
 
Установка зависимостей:
 
apt install libjpeg8-dev imagemagick libv4l-dev cmake
ln -s /usr/include/linux/videodev2.h /usr/include/linux/videodev.h
 
Скачивание и сборка "mjpg-streamer":
 
cd /opt/
wget https://github.com/jacksonliam/mjpg-streamer/archive/refs/heads/master.zip
unzip master.zip
cd mjpg-streamer-master/mjpg-streamer-experimental/
make -j$(nproc)
make install
 
== Скрипт запуска ==
 
Скрипт запуска видео-вещания на порту 8080 и всех доступных сетевых интерфейсах:
 
#!/bin/bash
LD_LIBRARY_PATH=/usr/local/lib/mjpg-streamer/ mjpg_streamer \
-i "input_uvc.so -y -n -d /dev/video2" \
-o "output_http.so -n -w /var/www/"
 
== SystemD Сервис ==
 
Содержимое файла <code>/lib/systemd/system/webcam.service</code>:
 
[Unit]
Description=Webcam Streaming Service
[Service]
ExecStart=/opt/mjpg_streamer_start.sh
[Install]
WantedBy=multi-user.target
 
Добавление в автозапуск:
 
systemctl enable --now webcam
 
== Источники ==
* [https://blog.miguelgrinberg.com/post/how-to-build-and-run-mjpg-streamer-on-the-raspberry-pi How to build and run MJPG-Streamer on the Raspberry Pi]
 
= Опционально: firewall + доступ по [[сервис::Yggdrasil]] =
 
== <code>firewalld</code> ==
 
Поскольку [[сервис::Yggdrasil]] делает хост публичным внутри своей сети, настройка firewall является необходимостью.
 
=== Установка и запуск ===
 
apt install firewalld
systemctl enable --now firewalld
 
=== Настройка правил ===
 
firewall-cmd --zone=public --add-port=5000/tcp --permanent
firewall-cmd --zone=public --add-interface=tun0 --permanent
 
== [[сервис::Yggdrasil]] ==
 
=== Установка ===
 
sudo mkdir -p /usr/local/apt-keys
gpg --fetch-keys https://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/key.txt
gpg --export 569130E8CA20FBC4CB3FDE555898470A764B32C9 | sudo tee /usr/local/apt-keys/yggdrasil-keyring.gpg > /dev/null
echo 'deb [signed-by=/usr/local/apt-keys/yggdrasil-keyring.gpg] http://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/ debian yggdrasil' | sudo tee /etc/apt/sources.list.d/yggdrasil.list
apt update
apt install yggdrasil
 
=== Настройка ===
 
В файл <code>/etc/yggdrasil.conf</code> необходимо добавить [https://github.com/yggdrasil-network/public-peers публичных пиров] в раздел <code>Peers</code>.
 
= Источники =
* Статья по установке Armbian GNU/Linux: https://github.com/kdrapel/x96mini_linux
* "Install Octoprint on Linux – Complete Guide!" -- https://3dprintscape.com/install-octoprint-on-linux/
 
[[Категория:База знаний]]