Осьминог в кармане или устанавливаем 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.
Еще можно установить плагин веб-интерфейса оптимизированный для мобилок и на самом телефоне открыть через браузер (если тач у телефона рабочий) интерфейс октопринта и получить сенсорный экран для принтера :)
Собственно, на этом все. Получилась инструкция громоздкая, но подробная.
Еще больше интересных статей
Make Picaso Great Again!
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
После п...
Скрипт для очистки сопла под прошивку Klipper
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Сопла и сопли
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Сколько раз этот вопрос поднимался. Сколько тем...
Комментарии и вопросы
благодаря автору узнал что ест...
Может ремень проскальзывает ил...
Скорее стал шире в "плечах" :-...
Во время печати в стороне от м...
Купил Anycubic Photon Mono M7...
Здравствуйте, недавно перестав...
Есть ли профиль принтера или г...