Данная инструкция посвящена установке klipper на armbian на orange pi 3 lts. Выполнять, описанное в статье, можно и без самого принтера (что я и делал, в ожидании принтера) Итак, что нам потребуется, железо: * orange pi 3 lts, * блок питания с кабелем type c, * micro SD флешка минимум на 4 гб с USB адаптером, * USB клавиатура, * монитор или телевизор с HDMI. Софт: * [[https://www.balena.io/etcher|balenaetcher]] для записи образа, * Putty или любой другой ssh клиент (например [[https://www.netsarang.com/en/xshell/|XShell]]) ====== Этап 1. Подготовка флешки с образом системы. ====== Итак, собрав все необходимое приступаем к установке. В первую очередь нужно скачать образ будущей системы, переходим на сайт [[https://www.armbian.com/orangepi3-lts/]] и скачиваем образ. Важно! По состоянию на 15.09.2022г последняя версия armbian 22.08 Jammy имеет проблемы с wi-fi подключением, поэтому рекомендуется скачивать предыдущую версию, внизу страницы другие закачки и там Bullseye. Инструкция актуальна для этой версии. ( файл называется Armbian_22.08.1_Orangepi3-lts_bullseye_current_5.15.63.img) {{::dronce28pedhefthxrzdwnho3cpf2is1myj1pcuuqgwam6q2nq.png?400|}} Скачиваем файл, распаковываем, вставляем флешку через адаптер в USB. Запускаем balenaetcher, выбираем распакованный образ, выбираем нашу флешку и нажимаем Flash! {{:fgnsayt0orwysqg4mccxd8yvnbq9ncxe3y4iubcepmtrgnydtx.png?400|}} Дожидаемся окончания процесса, безопасно извлекаем накопитель. ====== Этап 2. Запуск образа, первичная настройка. ====== Берем одноплатник: вставляем флешку, подключаем клавиатуру, монитор, подаем питание - ждем! После загрузки, следуем по шагам инсталлятора, а именно: Задаем пароль администратора и повторяем его, нажатием на цифру 1 выбираем bash, создаем пользователя klipper, задаем пароль для него и повторяем {{:6r8upsg8lt4ry7txjn1jctwebwmlnsaonqhiw5zbkjawoilgup.png?400|}} Далее, если orange pi подключена lan кабелем к роутеру, то следующего пункта не будет, если не подключена, то система задаст вопрос о подключении к wi-fi, нажимаем Y на клавиатуре и попадаем в меню настройки wi-fi. Там все достаточно очевидно: выбираем сеть, вводим пароль сети, видим connected и выходим из интерфейса выбрав Quit. {{:emgucbog06gdi6evmmlkvljwpphq9jejr2zrah4anmybvho5nj.png?400|}} Далее система сама определит страну по ip и предложит установить региональные локали, не вижу в этом смысла, поэтому вводим с клавиатуры 153, пропуская данный пункт. {{:tp6jgzoe7hatt4medtmpi4axfzrhhj6rxituedboptbhaw8w4o.png?400|}} Попадаем в систему под пользователем root, в целом первичная настройка закончена, но пока есть возможность, лучше сразу посмотреть ип адрес для дальнейшего подключения по ssh. Вводим команду: ifconfig В выдаче находим интерфейс wlan0, (eth0 если подключены кабелем) и смотрим в параметр inet, это будет адрес для подключения, на скрине это 10.12.20.123 {{:jxexogtpvss7nubpqtzy53l9cd6jq0ssaip7r6vsmapm6cerct.png?400|}} Теперь можно отключать клавиатуру и монитор, так как последующие действия будут выполнены удаленно. **Альтернатива:** если вдруг у Вас нет юсб клавиатуры или монитора\телевизора с hdmi, то, после записи образа диска на флешке находим файл /boot/armbian_first_run.txt.template и переименовываем его в /boot/armbian_first_run.txt В самом файле находим и исправляем FR_net_wifi_ssid='MySSID' FR_net_wifi_key='MyWiFiKEY' После чего сохраняем файл, вставляем флешку, запускаем orange и тут нужно будет зайти на Ваш роутер и посмотреть какой ip адрес получила orange pi, после чего подключиться по ssh под пользователем root и без пароля, либо с паролем 1234 (не проверял, описано по документации) Также могут быть проблемы с отображением накопителя в операционных системах семейства windows, в этом случае дополнительно нужно выполнить действия по статье [[https://losst.ru/podklyuchenie-ext4-v-windows]] ====== Этап 3. Подключение по ssh и дальнейшая настройка. ====== Скачиваем putty, добавляем туда подключение ssh по ip адресу из этапа 2, используя заданный ранее пароль. {{:uqwgdep1hyagaihvwhitlxzpi31quxl4vdtlqevklwulqmpod6.png?400|}} Далее рекомендуется отключить запрос sudo пароля, делать необязательно, но в некоторых местах меньше придется вводить пароль суперпользователя. редактируем файл командой: sudo nano /etc/sudoers откроется файл, в котором нужно найти строки # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL и привести их к виду: # Allow members of group sudo to execute any command %sudo ALL=NOPASSWD: ALL После чего сохраняем изменения нажатием Ctrl+O и выходим Ctrl+X {{:kfwb7kuigdhqrek6fj5ek7khwdwa9rfm99e9skxh7nrnj7qvup.png?400|}} Обновляем пакеты командами: sudo apt-get update sudo apt-get upgrade А также устанавливаем недостающие пакеты (по идее скрипт должен подтянуть их автоматически, но пусть будет) sudo apt-get install zlib1g-dev libjpeg-dev После чего выполняем дальнейшую установку с помощью скрипта KIAUH (огромная благодарность th33xitus - его разработчику : скачиваем сам скрипт с гитхаба: git clone https://github.com/th33xitus/kiauh.git переходим в скачанную папку cd kiauh делаем все скрипты исполняемыми chmod +x kiauh.sh scripts/* и запускаем сам скрипт ./kiauh.sh {{:webnrq6epru2dpzh6vofa9epmqugfkgkaqzatlnyjpa30sgbwu.png?400|}} ====== Этап 4. Работа со скриптом автоматической установки KIAUH. ====== В целом в работе скрипта нет ничего сложного, но как всегда есть нюансы. Для начала выбираем, что именно мы будем делать - вводим цифру 1 и нажимаем Enter. {{:t4c7mvvsm52dwllsbjyrwfg1vnbl0juqs4bi11uwlk3oumnfdf.png?400|}} В следующем окне поочередно выбираем и устанавливаем 1) [Klipper] (при запроси версии питона выбираем 2) [Python 3.x] (experimental)) количество инстансов - 1 {{:mjks0gnqyyhy0s80l5omkaid0ia4tssqemhvdrbyihjmbhakoz.png?400|}} 2) [Moonraker] {{:bbqicasuub3aqnr5abt6ks7szr9hh5k7iy2n6dlqeljgc3eyaw.png?400|}} после установки Moonraker уже можно проверить, все ли идет хорошо, так как в консоли высветится Ваш ип адрес и порт, можно перейти по нему в браузере и посмотреть все ли хорошо. Картина, как на скринах ниже. {{:za0cpkkvwzrtsankaa5qopwhz7bn60yhht3jwbfclkvjutpt2q.png?400|}} {{:alfokmobaw4emfwwqwaf402kwjgt4uvieuqiwipp5ma2afy7e1.png?400|}} 3) [Mainsail] При установке спросит про поддержку вебкамеры - у меня она будет, поэтому выбираю да. {{:fclfu7w94yka2jodlmzbyjstru4twfmq5t4zi4gbf2t23hwclx.png?400|}} На вопрос о рекомендуемых макросах - тоже да (больше не меньше) После установки появятся ссылки на стрим с камеры, но так как камеры у нас пока нет, то игнорируем их, а вот что стоит попробовать - так это перейти по адресу orange pi и проверить загружается ли интерфейс. {{:tc34ksxdexxzjkm10zndg4ns3hpzamvil5ysurhomycz5wayzl.png?400|}} Все хорошо, двигаемся дальше. 4) [Fluidd] На тему выбора веб интерфейса сломано много копий, я считаю, что нужно брать по максимуму, что-то удобнее в одном, что-то в другом. Поэтому предлагаю установить оба интерфейса. Выбираем цифру 4, на что система скажет, что у нас уже есть веб интерфейс и предложит выбрать другой порт, выберем 81 {{:xmjwzk1bpbtyb9bu4yntrf2svd549ce9gzhjn5p4qhcllq1k9o.png?400|}} После установки также проверяем открытие, добавив в адрес порт 81 через двоеточие. {{:cbncffhqpw4ftihilwpwxf2cdrrdowhlsbdpi3koun8arwsfao.png?400|}} Нажимаем B, чтобы вернуться на предыдущий экран и видим следующее. {{:pifknxxev1oybhinep0tm4bxuylzmimjuxl3ryys3pdmwopias.png?400|}} ====== Этап 5. Настройка веб камеры. (опционально) ====== Я использую, наверное, самую популярную и доступную камеру - Logitech C270. Её настройка максимально проста: с отключенной камерой проверяем доступные видеоисточники ls /dev/video* у меня он один: {{:gbkzxpkeomeumiacpjl2u997wsphbjpkqt1i4pfnsguv9wbjuj.png?400|}} затем подключаем камеру к usb порту orangepi после чего проверяем снова. {{:ecbmqp3qxlgv2gvww89khtuv2ffniy2ohxovbzmjucaecduew1.png?400|}} При подключении камеры добавилось еще 2 источника, с другими камерами проблема может быть в отсутствии драйвера, поэтому нужно уточнять в каждом отдельном случае. Открываем на редактирование конфигурацию камеры: nano ~/klipper_config/webcam.txt правим строки: camera="usb" camera_usb_options="-d /dev/video1 -r 1280x720" Должно получиться, как на скрине ниже {{:l1xrzkgpi1qaupxg9omaepav65ibrv4erro5eqr4dsp9pzgfmz.png?400|}} Ключ -r 1280x720 добавлен потому, что я знаю, что камера может снимать в таком разрешении, если что-то не работает, лучше попробовать без него. Также у камеры добавляется 2 порта: video1 и video2, работает только на одном, но тут тоже иногда приходится экспериментировать. После чего сохраняем Ctrl+O, выходим Ctrl+X Рестартим вебкам сервис sudo systemctl restart webcamd Далее можно в браузере перейти по ссылке [[http://х.х.х.х:8080]] где х.х.х.х ip адрес orange pi и убедиться, что есть картинка. {{:lmlz5492zsfhhpaubv9psgpxs5c0wcz1jfbsw99j9yuirx9c0m.png?400|}} теперь добавляем камеры в веб интерфейсы: Mainsell {{:eyshkcqmkwgyrofuazgckesajuwzxhqabzam9ddp9okv1iunek.png?400|}} Fluidd {{:2xhaszojc7y3gfkfrp0c0itwpy1af1pf63nxynxayewpvszjcv.png?400|}} //Дальнейшие настройки проблематично сделать без принтера, поэтому здесь пока ничего нет, но думаю в будущем появится информация о том как собрать прошивку под flying bear ghost 6, подключить его к orande pi и т.д.// ====== Этап 6. Перенос системы на встроенную память. ====== У orange pi 3 lts есть встроенная память, которой было бы неплохо воспользоваться. Но тут есть некая вариативность. Дело в том, что нижеследующая команда переносит систему с флешки на встроенную память. То есть по сути на флешке остается резервная копия системы, которую потом можно снова перенести с флешки. Вариативность заключается в том, что этот этап можно сделать сразу после пункта 2, сохранив на флешке "голую систему", либо после всех настроек. Выполняем команду sudo nand-sata-install {{:hjewk4dolw46rixgytgjyactkzvaorwxeltijfwbruqsqpoj4o.png?400|}} Тут два варианта, выбираем первый, чтобы перенести на eMMC и бутлодер и систему. Скрипт предупредит о том, что со встроенной флешки будет все удалено, соглашаемся, выбираем файловую систему ext4 и начинаем процесс. {{:xzgazseki7pjntsaetqmshiaqksqiz13ccoc8dd1vd5x7srdzj.png?400|}} Процесс занимает какое-то время, после чего соглашаемся с предложением выключить систему. {{:t4jgsfozstp9sgl7w06sptwmnuijcdtgs5evoygtvjge9pglnv.png?400|}} Достаем флешку, при отсутствии флешки система грузится из встроенной памяти, ждем загрузку и проверяем, что все работает.