Осьминог в кармане или устанавливаем OctoPrint на телефон
Уже давно установил ОстоПринт на ноутбук. Ноут у меня старый, но рабочий (установлен Linux Mint), а с линуксом обрел новую жизнь, часто на нем работаю, а еще установил на него Fusion 360 и теперь вообще красота. Но далеко не всегда удобно сидеть возле принтера. Раскошелиться на Малинку или Апельсинку до сих пор не решился, но задался вопросом — а нельзя ли запустить дистрибутив линукса на телефоне и на нем Окту? У меня полно старых телефонов на андроиде, где-то экран разбит, где-то тач не работает, где-то марально устарел. Поэкспериментировав понял, что можно и даже не столь уж сложно.

ssh имя_пользователя@ip_телефона
bash
sudo nano /etc/rc.local
sudo nano /etc/systemd/system/rc-local.service
sudo touch /etc/rc.local
sudo chmod +x /etc/rc.local
sudo systemctl enable rc-local
sudo apt update
sudo apt install python-pip python-dev python-setuptools python-virtualenv git libyaml-dev build-essential -y
mkdir OctoPrint && cd OctoPrint
virtualenv venv
source venv/bin/activate
pip install pip --upgrade
pip install https://get.octoprint.org/latest
sudo usermod -a -G tty pi
sudo usermod -a -G dialout pi
deactivate
cd ~
mkdir scripts
cd scripts
nano ttyrun
chmod +x /home/pi/scripts/ttyrun
sudo apt install wget
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
sudo nano /etc/default/octoprint
sudo update-rc.d octoprint defaults
cd ~
sudo apt install subversion libjpeg62-turbo-dev imagemagick ffmpeg libv4l-dev cmake -y
git clone https://github.com/jacksonliam/mjpg-streamer.git
cd mjpg-streamer/mjpg-streamer-experimental
export LD_LIBRARY_PATH=.
make
cd ~
nano /home/pi/scripts/webcam
nano /home/pi/scripts/webcamDaemon
Добавим:
#!/bin/bash
MJPGSTREAMER_HOME=/home/pi/mjpg-streamer/mjpg-streamer-experimental
MJPGSTREAMER_INPUT_USB="input_uvc.so -d /dev/video3"
# init configuration
camera_usb_options="-r 1280x720 -f 25"
if [ -e "/boot/octopi.txt" ]; then
source "/boot/octopi.txt"
fi
# runs MJPG Streamer, using the provided input plugin + configuration
function runMjpgStreamer {
input=$1
pushd $MJPGSTREAMER_HOME
echo Running ./mjpg_streamer -o "output_http.so -w ./www" -i "$input"
LD_LIBRARY_PATH=. ./mjpg_streamer -o "output_http.so -w ./www" -i "$input"
popd
}
# starts up the USB webcam
function startUsb {
logger "Starting USB webcam"
runMjpgStreamer "$MJPGSTREAMER_INPUT_USB $camera_usb_options"
}
# we need this to prevent the later calls to vcgencmd from blocking
# I have no idea why, but that's how it is...
vcgencmd version
# echo configuration
echo usb options: $camera_usb_options
# keep mjpg streamer running if some camera is attached
startUsb
done
Обращаю внимание на строчку “MJPGSTREAMER_INPUT_USB="input_uvc.so -d /dev/video3"” в скрипте. Здесь необходимо указать каким номером монтируется вебка. На всех телефонах, что я пробовал, всегда монтировалась как video3. Если все же нужно узнать, то линуксоводы и без меня знают как, а таким же как и я “индейцам” проще всего будет введя команду
ls /dev/video*
сначала при подключенной камере, а затем при отключенной. Пропавшее устройство и будет искомым. Записываем его в скрипт и перезагружаем Linux Deploy. Итак, далее:
chmod +x /home/pi/scripts/webcam
chmod +x /home/pi/scripts/webcamDaemon
Вот и все, останавливаем Debian нажав в Linux Deploy „стоп“ и запускаем нажав „старт“, переходим по ip_телефона:5000 (ip указан в linux deploy вверху)
Делаем первоначальную настройку, для камеры указываем:
Stream URL: http://ip octoprint:8080/?action=stream
Snapshot URL: http://ip octoprint:8080/?action=snapshot
Path to FFMJPEG: /usr/bin/ffmpeg
Далее либо юзаем как заново настроенный ОктоПринт, либо делаем бэкап работающего ранее на ноуте (как в моем случае) и заливаем его на новоиспеченный ОктоПринт на телефоне, сохранив всю статистику и настройки.
Еще момент. Если юзаете Printoid, то на телефон можно установить программу стриминга с основной камеры (я пользуюсь этой) и в настройках Printoid'a добавить вторую камеру. Тут без подробностей, кому надо и сами поняли для чего это и как сделать. Так же можно поставить плагин для октопринта MultiCam.
Еще можно установить плагин веб-интерфейса оптимизированный для мобилок и на самом телефоне открыть через браузер (если тач у телефона рабочий) интерфейс октопринта и получить сенсорный экран для принтера :)
Собственно, на этом все. Получилась инструкция громоздкая, но подробная.
Еще больше интересных статей
🔧 Интерактивное выравнивание стола винтами на Neptune 4 MAX с помощью индуктивного датчика.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Н...
Про мощность керамического нагревателя Qidi Q1 pro
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Некоторое время назад я менял керамический нагреватель на...
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
Крууто! Тоже прошу питонские с...
в чате чиди пишут про проставк...
просто формулировка с диагонал...
Казалось бы - простой вопрос....
Добрый вечер!Подскажите, из-за...
Что с поддержками в OrcaSlicer...
Подскажите как убрать поддержк...