Всех приветствую.
Предлагаю вашему вниманию инструкцию по изготовлению принт-сервера для ваших 3D-принтеров на очень недорогом оборудовании.
В качестве мини-компьютера я использую вот такие телевизионные приставки x96mini:
Она стоит из 4х-ядерного процессора Amlogic S905x с частотой 1.53ГГц, 1Гб оперативной памяти, 8 Гб встроенной памяти NAND, сетевой интерфейс LAN и WiFi, слот для карты памяти microSD и двух портов USB2.0. Родная операционная система — Android. Главное преимущество перед другими вариантами: OrangePi, RaspberryPi 3B, — это наличие корпуса, блока питания и приемлемой производительности за самые малые деньги.
Операционная система Linux Armbian собранная для этого устройства замечательным человеком Balbes150 развивается на форуме Armbian. К сожалению, в текущей версии дистрибутива, работа Wifi нестабильна и неприемлема для нужд 3д-печати.
Переустановка
Итак, вам необходим образ операционной системы, например, я использовал
Armbian_20.02.0-rc1.037_Aml-s9xxx_buster_current_5.5.0-rc6_20200205.img.xz
Образ Armbian_20.05.0-trunk_Arm-64_buster_current_5.5.1_20200218.img — самый свежий на сегодняшний день — тоже работает стабильно.
Необходимо распаковать этот образ из архива и перенести на флешку или на карту памяти большего объема (8Гб хотя бы). Для записи образа на флешку я использовал утилиту DD (в *nix) или Rufus в Windows.
#не сотрите себе что-нибудь! У меня флешка заняла устройство /dev/sdc. У вас может быть иначе!
dd if=Armbian_20.02.0-rc1.037_Aml-s9xxx_buster_current_5.5.0-rc6_20200205.img of=/dev/sdcdd sync
Важной особенностью текущей версии образа является необходимость исправить файл uEnv.txt из раздела BOOT. Этот раздел появится на флешке после окончания записи образа. Надо найти, раскоментировать и отредактировать внутри этого файла две строчки для нашего устройства aml S9xxx:
#aml s9xxxx
FDT=/dtb/amlogic/meson-gxl-s905w-p281.dtbAPPEND=root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0
Все остальные строки, относящиеся к другим платам, должны быть закомментированы символом # в начале каждой строки. Для каждой поддерживаемой приставки написан свой файл .dtb. Потому просто список этих файлов в образе, говорит о огромном количестве поддерживаемых tv-приставок. На x96mini свет клином не сошелся. Если вы еще только выбираете подходящую приставку, можете сначала свериться со списком .dtb файлов в дистрибутиве.
Итак, вернемся к установке. После этих операций флешка станет загрузочной для тв-приставки.
Далее необходимо запустить приставку с подготовленной флешки и подключиться к ней по протоколу SSH.
Подготовьте проводное подключение к вашей локальной сети и питание для приставки. Вставьте в приставку подготовленную флешку. Спичкой нажмите кнопку резет в глубине разъема AV и подключите питание. Затем сразу же можете отпустить кнопку резет. Если все сделано правильно, приставка запустит операционную систему Armbian с флешки. Результат вы можете контролировать, подключив к приставке телевизор по HDMI.
Теперь подключитесь к приставке по протоколу SSH: В *nix вам понадобится openssh, в Windows это умеет оболочка Powershell или утилита Putty. Любым удобным способом узнайте IP-адрес полученный приставкой. Можете попробовать обратиться к приставке по hostname-имени. В текущем образе используется имя AML:
ssh root@aml
логин: root
пароль: 1234
Если авторизация прошла успешно, вы увидете приветствие системы, текущие параметры работы микрокомпьютера и требование сменить пароль и создать нового пользователя. Воспользуйтесь этой возможностью чтобы создать пользователя octo. Польза от традиции *nix «НЕ СИДИ ПОД РУТОМ» общеизвестна.
Далее вам надо перенести образ с флешки во внутреннюю память. Для этого Балбес150 сделал скрипт, который все выполняет автоматически. В текущем образе это делается так:
sh ./install-aml.sh
После успешного переноса, можете перезагрузить приставку и отключить флешку. Она вам больше не понадобится.
reboot now
На этом можно было бы и закончить инструкцию. Специфическое для данной коробочки закончилась. Это уже стало обычной «малиной-муталиной» — миникомпьютер linux для любых целей. Например, чтобы установить октопринт. Установка octoprint ничем не отличается от установки для RaspberryPi. Оригинал инструкции находится здесь и правильнее воспользоваться ею. На всякий случай вот она же с моими комментариями:
#даем принт-серверу звучное имя
nano /etc/hostname#вместо aml я назвал свою коробочку octoprint#делаем юзера octo:adduser octo#Разрешить octo админские способности#дописать в конец sudoers строчку# octo ALL=NOPASSWD:ALLnano /etc/sudoers#переключаемся на пользователя octo:su octo#приступаем к установкеcd ~/sudo apt updatesudo apt install python-pip python-dev python-setuptools python-virtualenv git libyaml-dev build-essential virtualenvmkdir OctoPrint && cd OctoPrintvirtualenv venvsource venv/bin/activatepip install pip —upgradepip install octoprint#добавим автоматический запуск сервиса октопринт:wget https://github.com/foosel/OctoPrint/raw/master/scripts/octoprint.init && sudo mv octoprint.init /etc/init.d/octoprintwget https://github.com/foosel/OctoPrint/raw/master/scripts/octoprint.default && sudo mv octoprint.default /etc/default/octoprintsudo chmod +x /etc/init.d/octoprint#корректируй и раскомментирую пути в /etc/default/octoprintnano /etc/default/octoprint
sudo update-rc.d octoprint defaults
sudo service octoprint start
После этих последних двух команд, сервис октопринта станет доступен по адресу http://octoprint:5000. Можете пользоваться.
А теперь обещанный бонус.
Данная коробка прекрасно работает не только с октопринтом или, например, двумя октопринтами одновременно. Я с большим удовольствием для себя открым возможность пользоваться сетевым доступом к принтеру средствами ПО Klipper. Мой принтер Anycubic Delta Kossel Plus прошит клиппером, сервером клиппера выступает тв-приставка. И оказалось, что для клиппера существует веб-интерфейс.
Сам клиппер встает на коробочку тремя командами:
cd ~/
git clone https://github.com/KevinOConnor/klipper
./klipper/scripts/install-octopi.sh
А чтобы у клиппера появилась веб-морда, необходимо выполнить инструкции со страницы проекта dwc2-for-klipper.Мне очень понравилось управление с помощью DWC2, что я даже отказался от использования октопринта на своей дельте.
На этом все. Желаю вам творческих успехов!
Ссылка на источник