Апельсиновый осьминог: пошаговое руководство
Когда малинку постиг огромный успех, начали появляться 'убийцы' 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
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.
Еще больше интересных статей
Изменения в следующей версии 3D-принтер PonyBot
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
•Порт...
Скорость, температура и перевод RAMPS 1.5 на 24В
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Мама, почему я репрап?
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
Не обращайте на него снимание....
То-есть, считаете, за мои 3Д б...
Кстати, есть ваши работы с под...
Всем добрый вечерКто сможет по...
Только осваиваю технику, замет...
Доброго времени.Сражаюсь с тем...
Надоело возится с профилями и...