Если у вас при работе OctoPrint на Raspberry Pi 3 (B/B+) и подключении его к плате (или экрану TFT) наблюдаются паузы и ошибки во время печати, то проблема может быть в следующем:
- неисправный USB кабель
- недостаточное питание платы RPi
- перегрев
- использование "медленного" UART
На последнем надо остановится по-подробнее.
В Raspberry Pi 3 есть два пина для подключения по UART - GPIO 14 и 15 (8 и 10-й пины), Tx и Rx соответственно.
По-умолчанию они подключены к логике miniUART (device - ttyS0), чтобы их включить, необходимо в
/boot/config.txt добавить строку:
После перезагрузки, можно глянуть к чему привязаны пины:
Должен вернуть что-то вроде
После этого, в целом, OctoPrint сможет общаться по этим пинам, но достаточно медленно. А если подключиться к плате принтера и попытаться попечатать, то будут наблюдаться паузы и фризы из-за крайне низкой скорости и урезанного функционала протокола. Чтобы это исправить, нужно полноценный UART перевесить на эти пины, а miniUART - вернуть обратно для Bluetooth (да, изначально BT использует UART).
В
/boot/config.txt добавляем следующие строчки:
Если Bluetooth не нужен, можно его просто отключить, добавив дополнительный оверлей:
После перезагрузки, можно глянуть
ls -l /dev | grep serial и убедиться, что заветный
ttyAMA0 подключен к
serial0. Конфигурируем через OctoPrint SerialPort на /dev/ttyAMA0. Проблема должна исчезнуть.