Метки: OctoPrint, OrangePi, Repetier-Server  
2016-01-18  
  
Раздел: Настройка, Принт-сервер  
Автор: eta4ever Просмотров: 8 248  
29 комментариев
Апельсиновый осьминог: пошаговое руководство
Добавлено в закладки: 1
Когда малинку постиг огромный успех, начали появляться “убийцы” Raspberry Pi. Например, китайские поделия – их объединяет потенциально мощное железо, низкая цена, никакая поддержка, уйма кастомных прошивок-“паршивок” и необходимость наличия в хозяйстве бубна приличного диаметра для инициализации адекватной работы. Вот о граблях, которыми оснащена популярная “альтернатива” малинки, Orange Pi, я расскажу. В разрезе установки работающего минимального Debian и разворачивании на его базе Octoprint или Repetier-Server.
1. Выбор и покупка “апельсинки”.
Я покупал самую простую и дешевую версию под названием Orange Pi PC в официальном магазине производителя на Али. 15 долларов, плюс 3.5 – доставка. Рекомендую приобретать сразу с блоком питания – по microUSB плата не питается, а разъем не самый распространенный, у меня в хозяйстве подходящего не нашлось, и я привандалил провода прямо к плате. Orange Pi PC не балует большим количеством интерфейсов, но все реально нужное для наших целей есть – USB и Ethernet.
2. Прошивка.
Это самая веселая процедура. Дело в том, что работа платы всецело зависит от того, как сконфигурирована загрузочная часть прошивки. Именно там указывается, например, какие порты будут доступны ОС, а какие отключены “за ненадобностью”. Загрузчик можно собирать самостоятельно или воспользоваться результатом творчества добрых людей. Отличные прошивки собирает энтузиаст под ником loboris, на его решении я и остановился. В конце статьи будет ссылка на сложенные мною в одну кучу нужные файлики, а сейчас – общая последовательность действий.
2.1. Выбор нужных файлов. Графический интерфейс и всякие лишние примочки не нужны, поэтому Debian_mini_jessie.img.xz. Помимо основного образа, нам понадобятся самые свежие версии загрузчика и модулей, scriptbin_kernel.tar.gz.
2.2. Запись образа. Образ имеет довольно скромный объем, чуть более 800 Мб, поэтому хватит гигабайтной microSD (я использовал 2 Гб). Если вы работаете под Windows, то надо распаковать из xz-архива img, и записать его на карточку. Я рекомендую для этого использовать Rufus. Линуксоиды могут воспользоваться штатными средствами своей ОС, вплоть до великого и ужасного dd. После записи образа на карточке образуется два раздела, нас сейчас интересует BOOT (файловая система FAT).
2.3. Выбор загрузчика. Удаляем все нафиг с раздела BOOT, распаковываем scriptbin_kernel.tar.gz. Кидаем в BOOT uImage_OPI-2, переименовываем в uImage. И туда же script.bin.OPI-PC_1080p60 (последние знаки – это режим выхода HDMI, если вдруг будете подключать апельсинку к монитору), переименовать в script.bin.
2.4. Пробная загрузка. Вставляем карточку в Orange Pi, подключаем сеть и питание, ждем. Через некоторое время должен загореться красный светодиод, это знак того, что начальная стадия загрузки прошла успешно. “Железного” светодиода питания у Orange Pi нет, поэтому плата не подает никаких признаков жизни при простом включении (без карточки)!
Теперь надо выяснить, какой IP адрес получила апельсинка. Теоретически у вас может работать в сети служба Bonjour, но я предполагаю, что имеется просто роутер с DHCP сервером. Вот на него надо залезть, и посмотреть, какой IP выдан устройству с именем OrangePi. Далее (для Windows) используем Putty для SSH-подключения. Линуксоиды просто пишут в терминале ssh -l orangepi . Дефолтный пользователь, отличный от root, у нас orangepi. Пароль у него тоже orangepi. Если подключение прошло успешно – расширяем linux-раздел на всю карточку (sudo fs_resize), перезагружаем аппарат (sudo reboot), подключаемся еще раз и переходим к настройке.
3. Настройка пингвина.
Для нормальной работы USB UART нам понадобятся модули ядра, которые лежали в scriptbin_kernel.tar.gz (папка lib). Проще всего закинуть их через флешку (альтернатива – выключить апельсинку, подключить карточку к нормальному компьютеру, примонтировать linux-раздел, но это просто и очевидно только не для Windows). Берем флешку (файловая система FAT), закидываем туда папку lib, подключаем флешку к апельсинке. Никакой роскоши, вроде автомонтирования, в минимальном образе Debian не предусмотрено, поэтому только mount, только хардкор. Хинт: можно копировать команды отсюда (Ctrl+C), а потом кидать их в окно Putty просто правым кликом.
dmesg, видим там что-то типа [sda] Attached SCSI removable disk. Значит, нам нужен раздел sda1
sudo mkdir /mnt/flash && sudo mount /dev/sda1 /mnt/flash
Создаем папку для монтирования и подключаем туда раздел флешки.
sudo cp -r /mnt/flash/lib /lib && sudo depmod -a
Копируем и обновляем модули (может занять некоторое время).
sudo umount /dev/sda1 && sudo rm -rf /mnt/flash
Отмонтируем флешку и подчищаем за собой. После этого накопитель можно отключить.
С настройкой пингвина закончили. Можно попробовать подключить принтер. В моему случае китайская ардуина оснащена USB UART CH341, поэтому в выводе dmesg я вижу следующее: usb 7-1: ch341-uart converter now attached to ttyUSB0.
Теперь можно устанавливать либо OctoPrint, либо Repetier-Server.
OctoPrint
Устанавливается по инструкции для малинки.
cd ~
sudo apt-get install python-pip python-dev python-setuptools python-virtualenv git libyaml-dev build-essential
git clone <a target="_blank" href="https://github.com/foosel/OctoPrint.git" target="_blank" rel="nofollow">https://github.com/foosel/OctoPrint.git</a>
cd OctoPrint
sudo pip install virtualenv --upgrade
virtualenv --system-site-packages venv
./venv/bin/python setup.py install
mkdir ~/.octoprint
Этой пачкой команд мы переходим в домашний каталог, устанавливаем Python с нужными запчастями, Git и другое барахло. Затем скачиваем исходники OctoPrint, собираем их и устанавливаем. Если при выполнении setup.py install вылезает ошибка по таймауту, запускаем эту команду еще раз.
sudo usermod -a -G tty orangepi
sudo usermod -a -G dialout orangepi
Добавляем пользователя orangepi в нужные группы, чтобы он имел доступ к последовательным портам.
~/OctoPrint/venv/bin/octoprint
Запускаем OctoPrint. В итоге в консоли должны получить сообщение octoprint.server – INFO – Listening on http://0.0.0.0:5000. Можно подключаться браузером к http://(ip апельсинки):5000 и настраивать OctoPrint под ваш принтер.
Если все работает, можно закрыть OctoPrint (Ctrl+C в консоли) и настроить автозапуск.
sudo cp ~/OctoPrint/scripts/octoprint.init /etc/init.d/octoprint
sudo chmod +x /etc/init.d/octoprint
sudo cp ~/OctoPrint/scripts/octoprint.default /etc/default/octoprint
Это создание скрипта запуска
sudo nano /etc/default/octoprint
Открываем редактор, там нужно изменить следующее (не забываем убрать # перед DAEMON):
OCTOPRINT_USER=orangepi
DAEMON=/home/orangepi/OctoPrint/venv/bin/octoprint
Ctrl+0, Enter, Ctrl+X (сохранение, закрытие редактора).
sudo update-rc.d octoprint defaults
Обновление списка автозагрузки. Теперь OctoPrint стартует после запуска апельсинки.
Repetier-Server
Устанавливается даже проще. Идем на страницу загрузки и копируем ссылку на актуальную версию пакета для архитектуры armel.
В консоли
cd ~
wget (ссылка на пакет.deb)
sudo dpkg -i (пакет.deb)
Раз уж я разжевываю азы Linux: набираете sudo dpkg -i R, нажимаете Tab, умный пингвин дополняет имя файла. Этими командами выполняется скачивание и установка Repetier-Server. Больше ничего делать не надо, он автоматически прописывается в автозагрузку и доступен по адресу http://(ip апельсинки):3344.
На этом на сегодня все. На вопросы, насколько смогу, отвечу. Кстати, принтер можно подключать минуя всякие ненужные USB UART, через аппаратный последовательный порт апельсинки, уже проверено и работает, но об этом в другой раз. “Родную” камеру апельсинки пока не победил, но в процессе.
Образ системы, загрузочные файлы и lib для Orange Pi PC
Ссылка на форум, на обсуждение всего, что связано с принт-серверами.
29 комментариев на «Апельсиновый осьминог: пошаговое руководство»
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.
Тест на шумность шаговых двигателей и драйверов для 3D принтера       Несколько шагов к качественной 3D печати
Честный бюджетный хардкор![*THUMBS UP*](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![*THUMBS UP*](https://3deshnik.ru/wp-content/plugins/wp-monalisa/icons/ay.gif)
Эх, лежит и у меня этот оранжевый китаец, все никак не доберусь. Отличная статья и не надо долго инфу копать. Надо попробовать. А вебку пробовали подключать?
Родную апельсиновую камеру с mjpeg-streamer мне завести пока не удалось, а вебки USBшной нету. Пробовать буду обязательно.
На малине вебкамера, да как и Pi камера работают сразу и без бубнов. Бубен нужен для изменения разрешения картинки![%)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![%)](https://3deshnik.ru/wp-content/plugins/wp-monalisa/icons/be.gif)
Мне удаленка тоже нужна частенько. но времени пока нет ее реализовывать. Но надо пробовать. Жду отзывов за вебки. Еще не помешал бы wiFi но тут его нет, так-что только свистки.
На малинке какую-то копеечную затычку типа такой использовал, работало на ура.
Я на апельсин с дебианом и с андроидом чтот подобное подключал, то из коробки не завелось.Какая сборка была я не помню.
Я так понял, там от сборки вообще все зависит. Вайфайную затычку буду пробовать, если найду, куда ее закинул![:D](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![:D](https://3deshnik.ru/wp-content/plugins/wp-monalisa/icons/ag.gif)
Ребята, в чем проблема?
Не видит принтер…
Можно вывод ls /dev/tty* ?
Если там ttyUSB0 есть, то проблема скорее всего в правах пользователя, группы задаются на этом шаге:
И после этого надо перелогиниться или перезагрузиться.
Причем… выбор порта не доступен… только AUTO
Группу раздал… апельсинку перезапустил… октопринт сам поднялся…
скрин вот
Ага, порта нет. Значит, что-то пошло не так на третьем шаге, с добавлением модулей ядра.
Вообще, у меня текущая рекомендация – бросать сборку от loboris и переходить на Armbian, он лучше из коробки работает. http://3dtoday.ru/blogs/eta4ever/orange-octopus-junior-and-penguin-stuff/
Еще раз перезадал группы и ребутнул… вот только надпись
sudo: unable to resolve host OrangePI
смущает… или это норм?
после загрузки результат тот же
зашел по пользователем root и еще раз дал разрешения
Не, если порта в tty нет, то дело не в разрешениях.
После ребута результат нулевой
Судя по всему… в ядре нет драйвера под мой принтер
эх… буду завтра перелазить на armbian
octo@orangepipc:~/OctoPrint$ virtualenv —system-site-packages venv
-bash: virtualenv: command not found
в чем проблема,подскажите плиз
нашел косяк ,надо было сделать это : pip install virtualenv
в итоге у меня процесс установки получился такой :
sudo apt-get install mc
sudo apt-get update
sudo apt-get upgrade
df -h
--------------------------
Установка octoprint
cd ~
sudo apt-get install python-pip python-dev python-setuptools python-virtualenv git libyaml-dev build-essential
git clone https://github.com/foosel/OctoPrint.git
cd OctoPrint
sudo pip install virtualenv --upgrade
virtualenv venv
./venv/bin/pip install pip --upgrade
./venv/bin/python setup.py install
mkdir ~/.octoprint
sudo usermod -a -G tty octo
sudo usermod -a -G dialout octo
----------запуск
~/OctoPrint/venv/bin/octoprint
---------автозапуск
sudo cp ~/OctoPrint/scripts/octoprint.init /etc/init.d/octoprint
sudo chmod +x /etc/init.d/octoprint
sudo cp ~/OctoPrint/scripts/octoprint.default /etc/default/octoprint
sudo nano /etc/default/octoprint
sudo nano /etc/default/octoprint
--------пользователь octo
OCTOPRINT_USER=octo
DAEMON=/home/octo/OctoPrint/venv/bin/octoprint
------
sudo update-rc.d octoprint defaults
Спасибо! Да, в Armbian virtualenv из коробки нет, само не ставится, надо ручками.
файловую систему тоже не надо расширять ,там это сделано по умолчанию
Ну так эта статья – про сборку loboris, про Armbian есть более актуальная https://3deshnik.ru/blogs/eta4ever/apelsinovyj-osminog-mladshij-i-pingvini-shtuchki
камеру ставил так )))
установка камеры
--------------------------------------
sudo apt-get install imagemagick libav-tools libjpeg62* subversion
sudo svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer/ mjpg-streamer
cd mjpg-streamer
sudo make
sudo nano /home/octo/mjpg-streamer/start.sh
./mjpg_streamer -i "./input_uvc.so -f 10 -r 1280x720" -o "./output_http.so -w ./www"
sudo nano /etc/rc.local
cd /home/octo/mjpg-streamer
./start.sh
Тут стоит отметить, что не все камеры заводятся без ключа -y во входном наборе параметров.
у меня Logitech Webcam C270![:)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![:)](https://3deshnik.ru/wp-content/plugins/wp-monalisa/icons/ab.gif)
под себя можно поправить в start.sh
я просто пишу как у меня получилось,познаний в этой области почти ноль
У меня две китайских копеечных, обе без -y не взлетали, поэтому я сразу и написал, это достаточно важный момент. Сначала надо пробовать без этого ключа, не взлетает тогда уже с ним.