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

Подписаться на 3Dtoday
eta4ever
Идет загрузка
Загрузка
04.09.18
3442
73
печатает на RepRap
Техничка
40
PREVIEW

Страна Пингвиния, как туда ни зайдешь, оказывается полна новых интересных садовых приборов. Поэтому писать путеводители по ней сложно, они быстро теряют актуальность. То там яму выкопают, то тут тяпку за сараем положат. Если с OctoPi все просто, то с тотемными фруктами Чебурашки приходится возиться, такова цена экономии.

Orange Pi Zero (это не очень важно), Armbian 5.59. Настройки вайфая тут не будет, не нравится мне как он на Zero работает. А свистки — отдельная песня, иногда в стиле redeyecore.

Armbian

  1. Качаем Armbian Stretch.
  2. Извлекаем .img из архива и накатываем на карточку, желательно 4 Гб или больше. Рекомендую Rufus.
  3. Вставляем, подключаем, выясняем IP на роутере, подключаемся консолькой (Putty, например, или Bitvise SSH Client). Логин-пароль root/1234.
  4. Меняем пароль пользователя root (1234, и два раза новый).
  5. Дальше интерактивно создается новый пользователь, у меня это opi.
91ccab092dc730faf4b0b7d209117327.PNG
Занятое место на карточке после установки окты и mjpg-streamer.

OctoPrint

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

Все действия выполняются от пользователя opi. Не от root. То есть, либо мы после установки Armbian делаем su opi, или exit, и подключаемся заново не рутом, а opi.

Кстати, кто не знаком с SSH-клиентами — туда можно копипастить текст. Тут Ctrl+C, а там — правой кнопкой мыши по окошку.

  1. sudo apt update — обновляем список пакетов.
  2. sudo apt upgrade — обновляем пакеты.
  3. cd ~ — не забываем перейти в домашний каталог.
  4. sudo apt install virtualenv python-pip python-dev python-setuptools python-virtualenv libyaml-dev — ставим необходимые пакеты.
  5. mkdir OctoPrint && cd OctoPrint — создаем каталог для окты и идем в него.
  6. virtualenv venv — создаем виртуальную среду.
  7. source venv/bin/activate — и настраиваем ее.
  8. pip install pip --upgrade
  9. pip install https://get.octoprint.org/latest — а теперь тащим в нее окту.

Даем пользователю права для работы с последовательными портами

sudo usermod -a -G tty opi
sudo usermod -a -G dialout opi


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

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

Автозапуск

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

  1. cd ~ — в домашний каталог.
  2. wget https://github.com/foosel/OctoPrint/raw/master/scripts/octoprint.init && sudo mv octoprint.init /etc/init.d/octoprint — скачиваем скрипт запуска и засовываем его куда следует.
  3. wget https://github.com/foosel/OctoPrint/raw/master/scripts/octoprint.default && sudo mv octoprint.default /etc/default/octoprint
  4. 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.yaml

# 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.

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

В настройках окты можно прописать команды для перезапуска сервиса 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 octoprint
Ctrl+O, Ctrl+X

Камера

Ставим нужные пакеты и собираем mjpg-streamer:

  1. cd ~
  2. sudo apt install subversion libjpeg-dev imagemagick ffmpeg libv4l-dev cmake
  3. git clone https://github.com/jacksonliam/mjpg-streamer.git
  4. cd mjpg-streamer/mjpg-streamer-experimental
  5. export LD_LIBRARY_PATH=.
  6. 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 ~/scripts
nano ~/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, в конце куча ссылок.
Подписаться на 3Dtoday
40
Комментарии к статье

Комментарии

04.09.18 в 12:46
2
sudo apt-get update — обновляем список пакетов.
sudo apt-get upgrade — обновляем пакеты.
Везде забываем за apt-get! теперь только apt.
Во первых теперь эта одна утилита, а не набор. Во вторых apt-get upgrade не проверяет на совместимость пакеты. И у вас может быть вызвана коллизия версий ПО. По сему правильно было apt-get distr-upgrade. apt upgrade проверяет версионность и не даст влепить пакет не доступный скажем для вашей версии оси/ядра.
Ну и как-то нового то ни чего и нет. Ни чего не изменилось ведь по факту.
04.09.18 в 12:52
3
Изменилось. Досадные мелочи, из-за которых чайник обплюётся с установкой что по гайду для Raspbian, что по старым гайдам. Простейший пример — то, что в первой пачке пакетов нигде не пишут, что virtualenv ставить надо. За apt соглашусь.
04.09.18 в 13:59
0
virtualenv, можно обойтись без него, если ставить не в виртуальную среду octoprint.
04.09.18 в 14:05
0
Можно. Тут речь о другом — в руководстве для Raspbian идет установка в virtualenv, а сам пакет не устанавливают. Возможно, он там в комплекте.
04.09.18 в 15:10
2
apt не рекомендуется в скриптах использовать до сих пор
04.09.18 в 15:19
0
Первый раз слышу. Я вещде перешел, проблем не было. Правда и скриптики у мен простенькие.
04.09.18 в 15:28
2
$ apt show bash >/dev/null
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Это, правда, в ubuntu 16.04.
04.09.18 в 15:45
0
В 18.04 все так же. Спасибо. буду знать.
04.09.18 в 17:10
2
apt-get distr-upgrade
опечатка? Должно быть apt-get dist-upgrade
04.09.18 в 17:27
0
Ну да. Хз почему, но вбилась в голову так и все.
04.09.18 в 14:15
0
1. а в чем разница между Stretch и Bionic?
2. в целом, я так понимаю, что тут все в основном тоже самое что и в http://3dtoday.ru/blogs/eta4ever/orange-octopus-the-beginning/ и в ссылках там в конце
3. по вифи гораздо удобнее подсоединять принтер. и как я убедился, просто зеро лучше не брать, а брать чуть дороже зеро плюс (что на Н3, что на Н5) - потому что вифи там нормальный. поэтому, имхо, стоит в статьях просто не рекомендовать зеро, но рекомендовать зеро плюс и вифи
4. я так понимаю стример - отдельная приблуда. и с октопринтом интегрируется на уровне "запустить/остановить"? т.е. можно "руками" запускать и юзать с тем же репитер-сервер бесплатным
04.09.18 в 14:20
2
1. Stretch — Debian, Bionic — Ubuntu. В чем там нутряная разница применительно к Armbian — не разбирался.
2. Да, на эту мою сборную статью в конце ссылка есть. Все тоже самое за исключением некоторых мелочей, в основном это касается пакетов для установки.
3. Не было тогда плюса (когда покупалась зера). К использованию с вайфаем я ее не рекомендую, с проводом все отлично. Инструкция не привязана к зеро (надо только догадаться скачать армбиан для нужной платы).
4. Все верно.
04.09.18 в 15:08
2
Где Вы такого понабирались "вифи, фрешка, нубук"... ?)))
04.09.18 в 15:21
1
воспитательница в садике косноязычная
04.09.18 в 16:25
2
косноязычная
И красноглазая, ага :-D
04.09.18 в 15:21
1
Вы сами и ответили.

https://youtu.be/Yf5Zhq-kyJo
04.09.18 в 23:02
1
Ну это-же классика.
10.09.18 в 02:47
0
Такое категоричное утверждение. Ну и чем же вафля удобнее? Провод тянуть не надо? И всё?
Ну так так бы и написали, что лень заела и поэтому подключаетесь по вайфаю, хотя он гораздо хуже эзернета.
04.09.18 в 14:44
2
Где mosquito?
Без интеграции в умный дом не считается :)
04.09.18 в 14:50
1
Это уже свистелки ;)
Всякий OpenHAB, впрочем, у меня на другой апельсине крутится, с Sonoff перешитыми работает, но это уже совсем другая история.
04.09.18 в 14:55
0
Не понравился мне соноф. Всё дома на sesoo сделал.
04.09.18 в 14:58
0
Ну, мне в первую очередь были нужны дешевые и нормально сделанные модули управления нагрузкой. Полный фарш с выключателями и подобными красивостями не делал.
04.09.18 в 15:18
0
Да мне больше всего не нравиться, когда реле щёлкает. Поэтому всегда отказываюсь от таких решений.
05.09.18 в 11:03
0
ненавижу сенсорные выключатели - установил сяоми...
05.09.18 в 11:07
0
Сяоми слишком дорого. И протокол zig-bee слишком дорогой, по сравнению с остальными.
05.09.18 в 11:24
0
Зато оно работает из коробки. Можно прикрутить к апельсинке.
Единственно не видно по выключателю включен свет или нет. Ну и размер коробки не совместим с нашими.
04.09.18 в 15:22
0
OpenHAB больше понравился или друие варианты не рассматривали ?
04.09.18 в 15:25
0
По сути, первое, за что схватился, и оно устраивает. Но у меня сложной логики какой-то нет, да и вообще, я не настоящий IoTщик, и дальше по тексту про маску и стройку.
04.09.18 в 15:30
0
понятно )
04.09.18 в 15:07
1
Я бы сказал, где Klipper ???
04.09.18 в 15:09
1
Более серьезный вопрос. Лично пока не сталкивался с необходимостью в клиппере, у меня весь колхоз на 32-битных платах со смузями.
04.09.18 в 15:13
0
Подумываю взять смузи чтобы накатить туда клиппер, так как пока что самый дешевый 32битный бутер из дуэ и рампса слишком колхозный, неудобный доступ к разьемам
04.09.18 в 15:22
0
Вы только человека упрекнули в жаргонизме и тут же дико ляпнули. Смузи - это жаргонизм smoothieware. А это прошивка.
04.09.18 в 15:33
0
ну так смузивэар, сокращенно смузи...что вас смутило ?
04.09.18 в 15:44
0
Ну да. Я как-то по старой памяти... смузи же изначально комплекс железо + софт. С другой стороны вы упрекаете человека в жаргонизме и сами им пользуетесь.
04.09.18 в 16:04
0
Ну да. Я как-то по старой памяти... смузи же изначально комплекс железо + софт. С другой стороны вы упрекаете человека в жаргонизме и сами им пользуетесь.
Вифи как и блюпуп жаргон ? В одном ряду со смузи ? Наверное вам виднее, спорить не буду
04.09.18 в 16:47
1
Вифи как и блюпуп жаргон ? В одном ряду со смузи ?
ну что вы, это все понятно... ну, кроме "смузи"... прочитал вашу фразу одной маленькой девочке:
Подумываю взять смузи чтобы накатить туда клиппер, так как пока что самый дешевый 32битный бутер из дуэ и рампса слишком колхозный
Так она завалила меня вопросами: "А причем тут смузи и дельфин? А что, дельфинов разве едят? И потом смузи запивают? И зачем бутерброд делать из рапса, действительно колхозно, можно же из сыра и колбасы, так вкуснее будет!"

После таких вопросов все встало на свои места... ;-)
04.09.18 в 15:38
0
ОдЫн апэлсын, с остопринтой, практически может одновременно поддерживать несколько принтеров, теоретически я предполагаю ДА, так как у апельсина аж 4 аппаратных ком порта( если не путаю, два точно есть), либо через разветвитель УСВ( в простонародье хаб).??
04.09.18 в 15:48
2
Несколько осьминогов надо ставить. На один апельсин, и на разные порты. Да, можно через родные UART, можно через USB (их там до четырех вроде выводится, в зависимости от апельсины), можно через хаб.
04.09.18 в 15:52
0
Спасибо.
на разные порты
имеется ввиду порт для запуска вебморды, у вас в описании это 5000, а следующий порт можно задать 5001 и т.д. ? Правильно я понял?
04.09.18 в 15:55
0
Да, именно.
Если память не изменяет, Repetier-Server (в отличие от OctoPrint) позволяет из коробки рулить несколькими принтерами, но я давно его не смотрел.
04.09.18 в 16:59
1
Зачитываюсь вашими фразами!
Как роман читаю фантасмагорический какой, но блин, все же понятно, как таблица умножения!!!
Супер!
04.09.18 в 17:05
3
Осьминоги на питоне, питон на пингвине, пингвин в апельсине, апельсин на аллвиннере, утка в зайце, все в шоке.
04.09.18 в 17:09
0
:-):-):-):-):-)
Просто сказочно красиво!
04.09.18 в 15:12
1
Статья правильная, но тяжело читать так как команды для консоли плохо отделены от основного текста. Вот пример установки Клиппера и Октопринта, почти тоже самое только копипастить и работать с этой инструкцией гораздо удобнее.
04.09.18 в 15:26
1
Я нежно люблю тудейский редактор постов за отсутствие возможности нормально ввалить преформатированный текст. По этой причине, например, скрипты вынес на pastebin.
04.09.18 в 15:17
0
С venv мороки много, например обновляться ручками приходится. Если без venv обойтись, обновляется нажатием кнопки в веб-интерфейсе.

Да и не нужен там venv, вы-же не собираетесь там кучу питонячьего софта крутить.
04.09.18 в 15:27
1
Что обновлять ручками? Окта и плагины через вебморду обновляются.
04.09.18 в 15:30
0
Раньше не обновлялось в venv, или может у меня руки кривые...
04.09.18 в 15:33
0
Может и были какие проблемы, но я с такими не сталкивался.
04.09.18 в 15:35
1
совсем недавно был баг, пофикисили месяц назад или около того, но зимой работало и сейчас уже работает тоже, т.е. обновляется через веб-морду
04.09.18 в 15:42
0
Ясно, спасибо!
04.09.18 в 15:49
0
Значит, я на него не попал каким-то волшебным образом. У меня на тумбочке апельсин с февраля прошлого года крутится, версии актуальные.
04.09.18 в 16:25
1
Кстати, кто не знаком с SSH-клиентами — туда можно копипастить текст. Тут Ctrl+C, а там — правой кнопкой мыши по окошку.
Еще в этих окошках работают комбинации клавиш:
  • для вставки из буфера - Shift+Insert;
  • для копирования в буфер - Ctrl+Shift+Insert.
04.09.18 в 18:30
0
А еще такие работают: Enter, потом Shift+~, потом точка ;)
04.09.18 в 20:46
0
В чем плюс armbian перед octoPi ?
04.09.18 в 21:08
0
В том, что OctoPi для Raspberry.
04.09.18 в 21:13
0
т.е. на Orange Pi Zero он не станет, ясно, спасибо.
04.09.18 в 21:16
1
а там — правой кнопкой мыши по окошку.
Если Putty, то можно Shift+Insert (а для копирования - Ctrl+Insert, для вырезания - Shift+Del)
04.09.18 в 21:36
0
Да. Я заострил внимание на мышке, потому что мне кажется очень удобным вкидывать одним кликом.
04.09.18 в 22:11
0
На самом деле комбинации Ctrl+Insert, Shift+Insert, Shift+Delete более "настоящие" (другого слова не подберу). Это потом уже появился Мелкософт со своими Форточками и навязал всем комбинации Ctrl+C, Ctrl+V, Ctrl+X.
04.09.18 в 22:15
0
Согласен, они более фундаментальны (и вполне себе до сих пор работают). Но расширить-то этот подход к формированию хоткеев уже нельзя было, поэтому и отъединообразили Ctrl+O, Ctrl+S и т.д.
04.09.18 в 22:53
1
Спасибо всем участникам дискуссии, которые в свое время посоветовали мне взять малину, пусть дороже но без таких сложностей. Сколько же раз уже эти деньги временем окупились!
04.09.18 в 23:00
0
Все верно, если кому-то надо без вот этого всего, я обычно рекомендую малину и OctoPi.
С другой стороны, при базовом понимании пингвинизма это просто и быстро (если новая грабля не прилетит, бггг).
05.09.18 в 09:50
1
"Феня" - привелегия модераторов?
Отписался.
05.09.18 в 10:32
1
Отписался
«Пацан сказал — пацан сделал», как вы периодически заявляете. Уважуха.
05.09.18 в 10:54
0
... привИлегия ...
Не совсем.

Простой отсев аудитории, я тоже иногда увлекаюсь и этим - грешу.

Расчёт на корректный feedback, видимо...

Павлины Пингвины, Говоришь?

Я бы даже тут - чуть засомневался... ;-)

6dceab20fa792e3fe84c771dd6de518b.jpg
05.09.18 в 16:39
1
Я все переживал за сдвоенное л, а опозорился в другом.
Стыдно...
05.09.18 в 23:10
1
Стыдно
Да ладно Вам...

Поднимите шляпу и ступайте дальше в ранее Вами намеченном направлении.

fecca1e7c7ae14c5eed15cc552649562.jpg
07.09.18 в 07:06
0
Установил, но автозапуск как будто то работает не всегда. Через команду запускается всегда. Я через WIFI цепляюсь, может дело в этом.
11.09.18 в 09:17
0
nano ~/scripts/webcam — и туда вписываем находящееся по ссылке:

https://pastebin.com/w9CcfVV1

Ctrl+O, Ctrl+X
Вот тут дальше не пошло у меня

378e9a996c5500977225d6fc4b61da51.JPG
11.09.18 в 10:40
0
Я упустил одну строчку, сейчас поправлено. Перед nano ~/scripts... надо сначала создать каталог.
mkdir ~/scripts

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

Делаем фигурку свинки.

Печать на 3D принтере SkyOne в горизонтальной плоскости

Команда Йозефа Пруши предлагает «самый лучший филамент» под брендом Prusament

В Москве стартовала выставка-конференция «Top 3D Expo. Цифровое образование 2018»

XpreSki-09.11: Marlin-1.1.9 - адаптивная подача (Linear Advance) для ускорения печати

Hercules и Simplify3D. Настройки печати PLA