23 мая 2022 г.
Установка Debian
Soft
Качаем дистрибутив Debian
user(root), password(orangepi)
https://drive.google.com/drive/folders/1ctuKgHNN9r517tiAv9GGGaR7UYQgZiXP - актуальные.
https://disk.yandex.ru/d/NP32q3gT52OWKA - Стабильная.
Распаковываем архив.
В balenaEtcher выбираем Flash from file и выбираем образ из архива, жмем Select target и ждем выполнения.
Вытаскиваем флешку из ПК и запихиваем ее в OpangePi. Включаем питание платы.
Далее либо подключаем ее к монитору по HDMI и с помощью клавиатуры производим первичную настройку платы, либо подключаемся через TTL адаптер к пинам TX и RX расположенные рядом с портом HDMI.
Первичная настройка.
Логинимся
User: root
Password: orangepi
nmtui-connect Имя-вашей-вайфай-сети
В графическом окне вводим пароль вифи
Затем смотрим какой ip адрес присвоился для вашей Orange pi, для этого вводим
ifconfigСоздаем пользователя и добавляем его в группы.
Качаем файл install.sh на компьютер, запихиваем в папку root на OrangePi с помощью WinSCP
Идем в терминал и
Логинимся. вВводим команду
bash ./install.sh
После этого скрипт создаст пользователя с именем klipper и даст ему необходимые права. Вам потребуется ввести пароль и повторить, остальные данные не важные и заполняются по желанию, в конце вас спросят эти данные корректные жмём Y если всё так. Проверяем наличие прав у пользователя klipper командой
groups klipper
Должны увидеть такое
klipper tty dialout sudo gpio
############################################
Если скрипт не сработал, вводим в ручную…
adduser klipper
usermod -a -G tty klipper
usermod -a -G dialout klipper
adduser klipper sudo
groups klipper
должны увидеть слова tty dialout и sudo
sudo visudo
добавляем строчку klipper ALL=(ALL) NOPASSWD:ALL нажимаем crtl o (записать), ctrl x (закрыть)
Добавляем группу gpio
groupadd gpio
usermod -a -G gpio klipper
udevadm control --re
Запоминаем свой ip и перезагружаем систему
reboot
При повторной загрузке в шапке появится ip адрес выданный вашим роутером. На этом настройка с монитором окончена.
Создание УЗ и обновление системы.
Запускаем на ПК PuTTY
load-rules
udevadm trigger
############################################
Затем вводим команду
reboot
логинимся под пользователем klipper и обновляем систему. На все запросы системы отвечаем Y тоесть ДА
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install zlib1g-dev libjpeg-dev
sudo apt-get update && sudo apt-get install git -y
git clone https://github.com/orangepi-xunlong/wiringOP.git
cd wiringOP
./build clean
./build
Далее вводим, на запросы системы отвечаем Y тоесть ДА
sudo apt install gpiod
ставим KUIAH
cd ~
cd ~ && git clone https://github.com/dw-0/kiauh.git
cd kiauh
./kiauh.sh
Далее устанавливаем клиппер, и его компоненты.
Klipper, Moonraker, Mainseill\Fluidd
Идем на гитхаб и качаем конфиг для принтера.
закидываем содержимое в папку home/klipper/klipper_config, и меняем имя файла fb-ghost5-printer.cfg (если у вас FBG5) или fb-ghost4s-printer.cfg (если у вас FBG4s) на имя printer.cfg
Если у вас реборн до конфиги качаем с яндекс диска!
Сборка прошивки для принтера
cd klipper
make menuconfig
В файле конфига своей платы ищим закомментированные строки с настройками под вашу плату.
Для FBG5 нужно выбрать следующие
Для MKS Robin Nano v1.1
Включаем Extra low-level configuration options
Micro-controller Architecture → STMicroelectronics STM32
Processor model → STM32F103
Bootloader offset → 28KiB bootloader
для подключения по USB Communication interface → Serial (on USART3 PB11/PB10) потому, что USB подключение этой платы использует пины UART3: PB10-TX и PB11-RX
для подключения по UART Communication interface → Serial (on USART1 PA10/PA9) потому, что WiFi модуль платы использует пины UART1: PA9-TX и PA10-RX
Для MKS Robin Nano v1.3 и MKS Robin Nano-S v1.3
Включаем Extra low-level configuration options
Micro-controller Architecture → STMicroelectronics STM32
Processor model → STM32F407
Bootloader offset → 32KiB bootloader
для подключения по USB Communication interface → Serial (on USART3 PB11/PB10) потому, что USB подключение этой платы использует пины UART3: PB10-TX и PB11-RX
для подключения по UART Communication interface → Serial (on USART1 PA10/PA9) потому, что WiFi модуль платы использует пины UART1: PA9-TX и PA10-RX
Для Реборна 2 вот так:
для подключения по USB
для подключения по UART Communication interface → Serial (on USART1 PA10/PA9)
сохраняем, закрываем
Далее очищаем мусор
make clean
и собираем прошивку
make
Закидываем прошивку в бинарник.
Для MKS Robin Nano v1.1 Бутлоадер этой платы требует шифрования и определённого имени файла. Выполните следующую команду для шифрования и переименования:
~/klipper/scripts/update_mks_robin.py ~/klipper/out/klipper.bin ~/klipper/out/Robin_nano35.bin
Для MKS Robin Nano v1.3 и MKS Robin Nano-S v1.3 Бутлоадер этой платы уже не требует шифрования, а только определённого имени файла. Выполните следующую команду для переименования:
mv ~/klipper/out/klipper.bin ~/klipper/out/Robin_nano35.bin
На Реборна 2
mv ~/klipper/out/klipper.bin ~/klipper/out/Robin_nano_6.bin
на флешке появится папка out и в ней долгожданный файл Robin_Nano35.bin(Robin_nano_6.bin).
Копируем его на флешку и вставляем в принтер.
прошивка платы занимает около 10 секунд, после того как шкала прогресса дойдет до 100% можно перезагружать принтер и вытаскивать из него флешку.
Подключение принтера к Raspberry Pi по UART
sudo raspi-config
Выберите Interfacing Options
После выберите Serial, чтобы включить UART;
Выберите No, при первом вопросе;
Включить аппаратный последовательный порт, выберите Yes ответом на второй вопрос
Сообщение на экране в первой строке напишет DISABLE, во второй строке ENABLE.
Необходимо внести изменения в /boot/config.txt, для этого открываем его и вносим изменения:
sudo nano /boot/config.txt
И там пишем или исправляем вот так
enable_uart=1
dtoverlay=pi3-disable-bt
Сохраняем всё
Пишем в строке sudo reboot
После выполнения этих действий и перезагрузки Raspberry Pi вы получите доступ к UART
Для определения подключенных UART устройств выполните следующую команду:
ls -al /dev/ttyAMA*
Вывод будет содержать следующую информацию:
pi@fluiddpi:~ $ ls -al /dev/ttyAMA*
crw-rw---- 1 root dialout 204, 64 Oct 19 17:56 /dev/ttyAMA0
Устройство определилось как /dev/ttyAMA0.
Его и пишет в printer.cfg
Подключение принтера к OrangePi
Подключить принтер можно двумя способами:
Кабелем по USB
либо проводами через pin UART(смотрим pinout и используем UART на гребёнке, а не отдельно стоящие 3 контакта)
Первый способ в описании не нуждается, просто подключаете по USB и всё работает.
Для подключения по UART необходимо инициализировать пины на гребенки OrangePi
для этого открываем файл orangepiEnv.txt
sudo nano /boot/orangepiEnv.txt
в конце файла добавляем строку
overlays=spi-spidev1 uart3 w1-gpio i2c0
После сохранения изменений, для того чтобы они вступили в силу - перезагружаем систему
sudo reboot
После перезагрузки ставим gpiod
sudo apt install gpiod
проверяем что всё заработало
gpio readall
Видим карту пинов нашей платы.
проверяем что всё работает, вводим
sudo gpioset gpiochip1 117=1
это 22 пин на гребенке
еще раз вводим
gpio readall
на 22 пине должна появится единица, значит мы всё сделали правильно.
НЕ АКТУАЛЬНО
Теперь необходимо установить и запустить исполняемый модуль Klipper и на OrangePi.
Для этого необходимо чтобы исполняемая часть MCU на opi запускалась раньше, чем загрузится Klipper, для этого выполняем следующие действия:
cd ~/klipper/
sudo cp "./scripts/klipper-mcu-start.sh" /etc/init.d/klipper_mcu
sudo update-rc.d klipper_mcu defaults
Далее необходимо создать прошивку для opi контроллера, для этого выполняем:
cd ~/klipper/
make menuconfig
В меню конфигурации, следует выбрать архитектуру процессора как Linux process, нажимаем Q и сохраняем изменения.
Теперь установим исполняемую часть на opi:
make clean
make
sudo service klipper stop
make flash
sudo service klipper start
В printer.cfg добавляем
[MCU]
serial: /dev/ttyS3
[mcu opi]
serial: /tmp/klipper_host_mcu
[temperature_sensor opi]
sensor_type: temperature_host
min_temp: 10
max_temp: 100
Теперь необходимо установить и запустить исполняемый модуль Klipper и на OrangePi.
cd ~/klipper/
sudo cp ./scripts/klipper-mcu.service /etc/systemd/system/
sudo systemctl enable klipper-mcu.service
sudo systemctl start klipper-mcu.service
Действиями выше, был создан новый эллемент автозапуска, и добавлен в скрипты загрузки.
Перезагружаем OrangePi
Перенос Linux на eMMC (nand)
Вводим в консоли:
sudo nand-sata-install
В появившемся меню выбираем Boot from eMMC - system on eMMC
На предупреждения отвечаем Yes
Выбираем тип файловой системы ext4 и жмём OK
Ждём окончания форматирования и переноса на eMMC
После окончания скрипт спросит отключить питание или выйти, отвечаем Power off
Дожидаемся пока пишка отключится, вынимаем SD карту и запускаем пишуку.
На SD карте всё ещё останется ваша система, поэтому неплохо было бы сделать резервную копию SD карты, например через Acronis True Image 2015
Монтирование SD вместо папки для Gcode
Отформатируйте SD карту в FAT32 любым удобным вам способом. И вставьте в пишку.
Вводим команду
ls -l /dev/disk/by-uuid
Видим примерно такие строки
lrwxrwxrwx 1 root root 15 Jun 6 08:53 8f8a27b7-87b6-472a-8778-36c7aeb3a6fa -> ../../mmcblk2p1
lrwxrwxrwx 1 root root 15 Jun 6 08:53 DAF0-88BE -> ../../mmcblk0p1
mmcblk0p1 это ваша SD карта, запоминаем это и вводим
id
И смотрим ваш uid=1001(klipper) gid=1001(klipper) У меня 1001 запоминаем их
sudo nano /etc/fstab
Внизу добавляем такие строки изменив mmcblk0p1 на ваш и так же ваш uid=1001,gid=1001
/dev/mmcblk0p1 /home/klipper/gcode_files auto defaults,nofail,uid=1001,gid=1001
Жмём crtl o (записать) Enter, ctrl x (закрыть). Перезагружаем пишку, ваша SD карта автоматически смонтируется в
/home/klipper/gcode_files