Данная инструкция посвящена установке klipper на armbian на orange pi 3 lts. Выполнять, описанное в статье, можно и без самого принтера (что я и делал, в ожидании принтера)
Итак, что нам потребуется, железо:
Софт:
Итак, собрав все необходимое приступаем к установке. В первую очередь нужно скачать образ будущей системы, переходим на сайт 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)
Скачиваем файл, распаковываем, вставляем флешку через адаптер в USB.
Запускаем balenaetcher, выбираем распакованный образ, выбираем нашу флешку и нажимаем Flash!
Дожидаемся окончания процесса, безопасно извлекаем накопитель.
Берем одноплатник: вставляем флешку, подключаем клавиатуру, монитор, подаем питание - ждем!
После загрузки, следуем по шагам инсталлятора, а именно:
Задаем пароль администратора и повторяем его, нажатием на цифру 1 выбираем bash, создаем пользователя klipper, задаем пароль для него и повторяем
Далее, если orange pi подключена lan кабелем к роутеру, то следующего пункта не будет, если не подключена, то система задаст вопрос о подключении к wi-fi, нажимаем Y на клавиатуре и попадаем в меню настройки wi-fi.
Там все достаточно очевидно: выбираем сеть, вводим пароль сети, видим connected и выходим из интерфейса выбрав Quit.
Далее система сама определит страну по ip и предложит установить региональные локали, не вижу в этом смысла, поэтому вводим с клавиатуры 153, пропуская данный пункт.
Попадаем в систему под пользователем root, в целом первичная настройка закончена, но пока есть возможность, лучше сразу посмотреть ип адрес для дальнейшего подключения по ssh.
Вводим команду:
ifconfig
В выдаче находим интерфейс wlan0, (eth0 если подключены кабелем) и смотрим в параметр inet, это будет адрес для подключения, на скрине это 10.12.20.123
Теперь можно отключать клавиатуру и монитор, так как последующие действия будут выполнены удаленно.
Альтернатива: если вдруг у Вас нет юсб клавиатуры или монитора\телевизора с 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
Скачиваем putty, добавляем туда подключение ssh по ip адресу из этапа 2, используя заданный ранее пароль.
Далее рекомендуется отключить запрос 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
Обновляем пакеты командами:
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
В целом в работе скрипта нет ничего сложного, но как всегда есть нюансы.
Для начала выбираем, что именно мы будем делать - вводим цифру 1 и нажимаем Enter.
В следующем окне поочередно выбираем и устанавливаем
1) [Klipper] (при запроси версии питона выбираем 2) [Python 3.x] (experimental))
количество инстансов - 1
2) [Moonraker]
после установки Moonraker уже можно проверить, все ли идет хорошо, так как в консоли высветится Ваш ип адрес и порт, можно перейти по нему в браузере и посмотреть все ли хорошо. Картина, как на скринах ниже.
3) [Mainsail]
При установке спросит про поддержку вебкамеры - у меня она будет, поэтому выбираю да.
На вопрос о рекомендуемых макросах - тоже да (больше не меньше)
После установки появятся ссылки на стрим с камеры, но так как камеры у нас пока нет, то игнорируем их, а вот что стоит попробовать - так это перейти по адресу orange pi и проверить загружается ли интерфейс.
Все хорошо, двигаемся дальше.
4) [Fluidd]
На тему выбора веб интерфейса сломано много копий, я считаю, что нужно брать по максимуму, что-то удобнее в одном, что-то в другом. Поэтому предлагаю установить оба интерфейса.
Выбираем цифру 4, на что система скажет, что у нас уже есть веб интерфейс и предложит выбрать другой порт, выберем 81 После установки также проверяем открытие, добавив в адрес порт 81 через двоеточие.
Нажимаем B, чтобы вернуться на предыдущий экран и видим следующее.
Я использую, наверное, самую популярную и доступную камеру - Logitech C270. Её настройка максимально проста:
с отключенной камерой проверяем доступные видеоисточники
ls /dev/video*
затем подключаем камеру к usb порту orangepi после чего проверяем снова.
При подключении камеры добавилось еще 2 источника, с другими камерами проблема может быть в отсутствии драйвера, поэтому нужно уточнять в каждом отдельном случае. Открываем на редактирование конфигурацию камеры:
nano ~/klipper_config/webcam.txt
правим строки:
camera="usb"
camera_usb_options="-d /dev/video1 -r 1280x720"
Должно получиться, как на скрине ниже
Ключ -r 1280×720 добавлен потому, что я знаю, что камера может снимать в таком разрешении, если что-то не работает, лучше попробовать без него. Также у камеры добавляется 2 порта: video1 и video2, работает только на одном, но тут тоже иногда приходится экспериментировать.
После чего сохраняем Ctrl+O, выходим Ctrl+X
Рестартим вебкам сервис
sudo systemctl restart webcamd
Далее можно в браузере перейти по ссылке http://х.х.х.х:8080 где х.х.х.х ip адрес orange pi и убедиться, что есть картинка.
теперь добавляем камеры в веб интерфейсы:
Mainsell
Fluidd
Дальнейшие настройки проблематично сделать без принтера, поэтому здесь пока ничего нет, но думаю в будущем появится информация о том как собрать прошивку под flying bear ghost 6, подключить его к orande pi и т.д.
У orange pi 3 lts есть встроенная память, которой было бы неплохо воспользоваться. Но тут есть некая вариативность. Дело в том, что нижеследующая команда переносит систему с флешки на встроенную память. То есть по сути на флешке остается резервная копия системы, которую потом можно снова перенести с флешки.
Вариативность заключается в том, что этот этап можно сделать сразу после пункта 2, сохранив на флешке «голую систему», либо после всех настроек.
Выполняем команду
sudo nand-sata-install
Тут два варианта, выбираем первый, чтобы перенести на eMMC и бутлодер и систему. Скрипт предупредит о том, что со встроенной флешки будет все удалено, соглашаемся, выбираем файловую систему ext4 и начинаем процесс.
Процесс занимает какое-то время, после чего соглашаемся с предложением выключить систему.
Достаем флешку, при отсутствии флешки система грузится из встроенной памяти, ждем загрузку и проверяем, что все работает.