Осьминог в кармане или устанавливаем 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.
Еще можно установить плагин веб-интерфейса оптимизированный для мобилок и на самом телефоне открыть через браузер (если тач у телефона рабочий) интерфейс октопринта и получить сенсорный экран для принтера :)
Собственно, на этом все. Получилась инструкция громоздкая, но подробная.
Еще больше интересных статей
Быстрая печать ажурных стенок в Ultimaker Cura
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
duet web control не регулируются обороты вентилятора обдува детали на BTT SKR V1.4
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
принтер у меня самодельно переделанный из ки...
Цветная печать двумя хотэндами с сервоприводом
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Пару месяцев назад я решил, что мне жизненно необходимо научить свою...
Комментарии и вопросы
Кораблик не протекает? :)
Ну что вы все как дети малые.....
Ахаха, да)) Лучше и не скажешь...
Здравствуйте. Не могу понять....
Добрый день господа хорошие. в...
Оставил принтер на месяц без р...