Octoprint на tv-приставке за 15$ и бонус

179

Всех приветствую.

Предлагаю вашему вниманию инструкцию по изготовлению принт-сервера для ваших 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, что я даже отказался от использования октопринта на своей дельте.

На этом все. Желаю вам творческих успехов!
Ссылка на источник

Читайте также

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here
Перетащите ползунок, чтобы вставить комментарий