Кремень КД Реклама
Кремень КМ Реклама

Апельсиновый осьминог, сезон «Осень 2018»

eta4ever
Идет загрузка
Загрузка
04.09.2018
18785
124
Техничка

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

54

Апельсиновый осьминог, сезон «Осень 2018»
Страна Пингвиния, как туда ни зайдешь, оказывается полна новых интересных садовых приборов. Поэтому писать путеводители по ней сложно, они быстро теряют актуальность. То там яму выкопают, то тут тяпку за сараем положат. Если с OctoPi все просто, то с тотемными фруктами Чебурашки приходится возиться, такова цена экономии.Orange Pi Zero (это не очень важно), Armbian 5.59. Настройки вайфая тут не будет, не нравится мне как он на Zero работает. А свистки — отдельная песня, иногда в стиле redeyecore.Armbian
  • Качаем Armbian Stretch.
  • Извлекаем .img из архива и накатываем на карточку, желательно 4 Гб или больше. Рекомендую Rufus.
  • Вставляем, подключаем, выясняем IP на роутере, подключаемся консолькой (Putty, например, или Bitvise SSH Client). Логин-пароль root/1234.
  • Меняем пароль пользователя root (1234, и два раза новый).
  • Дальше интерактивно создается новый пользователь, у меня это opi.
Апельсиновый осьминог, сезон «Осень 2018»

Занятое место на карточке после установки окты и mjpg-streamer.

OctoPrint

Armbian установлен, далее обращаемся к гайду Джины по ручной установке OctoPrint. Буквально ему следовать почти можно, но не совсем — есть нюансы, ибо он для Raspbian, а там киркомотыги в других местах развешаны.

Все действия выполняются от пользователя opi. Не от root. То есть, либо мы после установки Armbian делаем su opi, или exit, и подключаемся заново не рутом, а opi.
Кстати, кто не знаком с SSH-клиентами — туда можно копипастить текст. Тут Ctrl+C, а там — правой кнопкой мыши по окошку.
  • sudo apt update — обновляем список пакетов.
  • sudo apt upgrade — обновляем пакеты.
  • cd ~ — не забываем перейти в домашний каталог.
  • sudo apt install virtualenv python-pip python-dev python-setuptools python-virtualenv libyaml-dev — ставим необходимые пакеты.
  • 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 opi

sudo usermod -a -G dialout

~/OctoPrint/venv/bin/octoprint serve — пробуем запустить окту. Оно должно подумать, после этого вебморда будет доступна по адресу апельсины http://апельсина:5000.

Ctrl+C прибиваем после проверки.

Автозапуск

Теперь к настройке автозапуска:

  • cd ~ — в домашний каталог.
  • 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

Интересны вот эти строчки. Раскомментируем и меняем пользователя, если вы, как я, гордо именуете юзера opi, а не pi.

# The init.d script will only run if this variable non-empty.

OCTOPRINT_USER=opi

# base directory to use

BASEDIR=/home/opi/.octoprint

# configuration file to use

CONFIGFILE=/home/opi/.octoprint/config.yam

l# On what port to run daemon, default is 5000

PORT=5000

# Path to the OctoPrint executable, you need to set this to match your installation!

DAEMON=/home/opi/OctoPrint/venv/bin/octoprint

Ctrl+O, Ctrl+X сохраняем, закрываем

sudo update-rc.d octoprint defaults — разрешаем автозапуск.

После этих манипуляций при загрузке апельсины автоматом стартует OctoPrint от имени пользователя opi.

Команды перезапуска

Апельсиновый осьминог, сезон «Осень 2018»
В настройках окты можно прописать команды для перезапуска сервиса OctoPrint, перезапуска всего фрукта и выключения (народная примета: удаленно играть с питанием — к дороге). Но это все делается с повышением прав (sudo), поэтому надо разрешить исполнение команд без запроса пароля.sudo nano /etc/sudoers.d/octoprint-shutdown — туда вписываем:opi ALL=NOPASSWD: /sbin/shutdownи Ctrl+O, Ctrl+X — сохраняем, закрываем.sudo nano /etc/sudoers.d/octoprint-restart — а сюда:opi ALL=NOPASSWD: /bin/systemctl restart octoprintCtrl+O, Ctrl+XКамераСтавим нужные пакеты и собираем mjpg-streamer:
  • cd ~
  • sudo apt install subversion libjpeg-dev imagemagick ffmpeg libv4l-dev cmake
  • git clone https://github.com/jacksonliam/mjpg-streamer.git
  • cd mjpg-streamer/mjpg-streamer-experimental
  • export LD_LIBRARY_PATH=.
  • make
Подключаем камеру, пробуем

./mjpg_streamer -i './input_uvc.so' -o './output_http.so'

При этом видеопоток должен быть доступен по адресу http://апельсина:8080/?action=stream.

Для убогих камер иногда помогает

-y../mjpg_streamer -i './input_uvc.so -y' -o './output_http.so'

Если поток получили, Ctrl+C, идем настраивать автозапуск

mkdir ~/scriptsnano ~/scripts/webcam — и туда вписываем находящееся по ссылке:

https://pastebin.com/w9CcfVV1

Ctrl+O, Ctrl+XЗатем nano ~/scripts/webcamDaemon и туда:

https://pastebin.com/4F28DSnf

camera_usb_options='-r 640x480 -f 10' — это настройки камеры, разрешение и количество кадров в секунду. Если камера убогая и не работает без -y, проще всего вписать это так: MJPGSTREAMER_INPUT_USB='input_uvc.so -y'.

Делаем оба файла исполняемыми

chmod +x /home/opi/scripts/webcam

chmod +x /home/opi/scripts/webcamDaemon

После этого осталось вписать адрес потока в настройках окты.

Команды запуска потока

Чтобы не портить руками config.yaml, ставим плагин октопринта System Command Editor, и через него добавляем две команды.

Start stream/home/opi/scripts/webcam start

Stop stream/home/opi/scripts/webcam stop

Ставим Arch

По желанию. Обычно не требуется.

Ещё

Тут общая информация по OctoPrint, в конце куча ссылок.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

54
Комментарии к статье