Апельсиновый осьминог: пошаговое руководство

eta4ever
Идет загрузка
Загрузка
13.01.2016
79102
138
RepRap

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

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

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

63
Апельсиновый осьминог: пошаговое руководство
Сейчас многие уже управляют 3D-принтерами с помощью микро-пк - оно и автономно, и удобнее, чем карточки туда-сюда дергать. Традиционно используется Raspberry Pi, как самый распространенный 'малыш' с огромным коммьюнити. Софт хороший тоже есть. Это и опенсорсный Octoprint, и коммерческий Repetier-Server (бесплатная версия немножко ограничена, но юзабельна, про это ПО я уже писал).

Когда малинку постиг огромный успех, начали появляться 'убийцы' 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 https://github.com/foosel/OctoPrint.git

cd OctoPrint

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.

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

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

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

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