OctoScreen на 3.5inch RPi LCD (A)


OctoScreen - приложение от авторов проекта Z-Bolt
OctoScreen , LCD touch interface for our Octoprint based on GTK+3.

Is a X application to be executed directly in the X Server without any windows manager or browser, as frontend of a OctoPrintserver in a Raspberry Pi equipped with any Touch Screen.

Allows you to control your 3D Printer, like you can do with any LCD panel, but using OctoPrint and a Raspberry Pi.

Подробнее с описанием и возможностями можно ознакомиться на Github.

Что нам понадобится

  • Дисплей. В данном случае будет LCD дисплей подключенный по SPI интерфейсу.
  • Микрокомпьютер Raspberry Pi (Zero не подойдет).
  • Свежая версия Октопринта на SD карте.

Устанавливаем нужные компоненты

Драйвер экрана

git clone https://github.com/waveshare/LCD-show.git
cd LCD-show
sudo ./LCD35-show

GTK+ библиотеки

sudo apt-get install libgtk-3-0 xserver-xorg xinit

Пакет X11-xserver-utils

sudo apt-get install x11-xserver-utils

Для нашего экрана нужно установить еще дополнительный видео драйвер

sudo apt-get install git build-essential xorg-dev xutils-dev x11proto-dri2-dev
sudo apt-get install libltdl-dev libtool automake libdrm-dev

git clone https://github.com/ssvb/xf86-video-fbturbo.git
cd xf86-video-fbturbo

autoreconf -vi
./configure --prefix=/usr
make

sudo make install

sudo cp xorg.conf /etc/X11/xorg.conf

Настроим разрешение экрана (предпоследняя строка конфига)

sudo nano /boot/config.txt
hdmi_cvt 800 533 60 6 0 0 0

Теперь можно установить приложение

wget https://github.com/Z-Bolt/OctoScreen/releases/download/v2.0.0/octoscreen_2.0-1_armhf.deb
sudo dpkg -i octoscreen_2.0-1_armhf.deb

Последний шаг, настроить конфиг приложения

Редактируем файл /etc/octoscreen/config

sudo nano /etc/octoscreen/config
OCTOPRINT_APIKEY= //укажите API кей для доступа к серверу Octoprint
OCTOSCREEN_RESOLUTION=800x533 //это разрешение нашего экрана

Финальная перезагрузка

sudo reboot

Заключение

Теперь на экране должно отобразиться приложение. Если принтер не подключен к Raspberry Pi то ничего не выйдет т.к. приложение будет ожидать от сервера окты информации о подключении к принтеру.

UPD

Если вы включали в конфигурации окты автологин в консоль, то приложение не будет запускаться при загрузке системы.
починить это можно командой:

sudo systemctl set-default graphical.target

Проблема в том, что автологин меняет уровень загрузки системы на multi-user.target, в то время как сервис октоскрина грузится в graphical.target

2 Симпатий

Дисплей крепиться на корпус малины и затем все к кронштейну или малина в подвале?

Конкретно в моей реализации, малина в подвале а дисплей на кронштейне к корпусу.

В этой статье есть ссылки на рекомендованные экраны - https://3dtoday.ru/blogs/04d2c36c04/smart-printer-part-2-one-or-more-bits/

Да, все верно. Я покупал дисплей самый дешевый из доступных в офлайне.

Не получается установить octoscreen. пишет
dpkg: error processing package octoscreen (–install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
octoscreen
Драйвер экрана установил, библиотеки и пакет. Возникли трудности с установкой доп драйвера. Может из-за этого? Что надо делать?

А на каком этапе получаешь ошибку? И какие проблемы с доп драйвером?

В конце установки пакета Х11, первых 2х строчек доп драйверов пишет
is not going to be installed
E: Unmet dependencies. Try ‘apt --fix-broken install’ with no packages (or specify a solution)
После ввода строчки git clone https://github.com/ssvb/xf86-video-fbturbo.git пишет:
fatal: destination path ‘xf86-video-fbturbo’ already exists and is not an empty directory.
Может снести все и повторно все сделать?

С дополнительными драйверами ничего не получается. Экран 4, какой был рекомендован.
[pi@octopi:~ $ git clone https://github.com/ssvb/xf86-video-fbturbo.git
Cloning into ‘xf86-video-fbturbo’…
remote: Enumerating objects: 1059, done.
remote: Total 1059 (delta 0), reused 0 (delta 0), pack-reused 1059
Receiving objects: 100% (1059/1059), 737.25 KiB | 0 bytes/s, done.
Resolving deltas: 100% (616/616), done.
pi@octopi:~ $ cd xf86-video-fbturbo
pi@octopi:~/xf86-video-fbturbo $ autoreconf -vi
-bash: autoreconf: command not found
pi@octopi:~/xf86-video-fbturbo $ ./configure
-bash: ./configure: No such file or directory
pi@octopi:~/xf86-video-fbturbo $ make
make: *** No targets specified and no makefile found. Stop.
pi@octopi:~/xf86-video-fbturbo $ sudo make install
make: *** No rule to make target ‘install’. Stop.
pi@octopi:~/xf86-video-fbturbo $

нужно ли это для 4х дюймового я не знаю.

по ошибкам не очень понял, на каком конкретно шаге и какая конкретно ошибка

Я бы рекомендовал ставить как на гитхабе октгскоина написано. И да, можно попробовать сделать новую чистую установку

Я уже заново все делаю, но ничего не получается
pi@octopi:~ $ sudo dpkg -i octoscreen_2.2-2_armhf.deb
(Reading database … 44437 files and directories currently installed.)
Preparing to unpack octoscreen_2.2-2_armhf.deb …
Unpacking octoscreen (2.2-2) over (2.2-2) …
dpkg: dependency problems prevent configuration of octoscreen:
octoscreen depends on libatk1.0-0 (>= 1.12.4); however:
Package libatk1.0-0 is not installed.
octoscreen depends on libcairo-gobject2 (>= 1.10.0); however:
Package libcairo-gobject2 is not installed.
octoscreen depends on libgdk-pixbuf2.0-0 (>= 2.25.2); however:
Package libgdk-pixbuf2.0-0 is not installed.
octoscreen depends on libgtk-3-0 (>= 3.21.5); however:
Package libgtk-3-0 is not installed.
octoscreen depends on libpango-1.0-0 (>= 1.29.4); however:
Package libpango-1.0-0 is not installed.
octoscreen depends on libpangocairo-1.0-0 (>= 1.22.0); however:
Package libpangocairo-1.0-0 is not installed.
octoscreen depends on xserver-xorg; however:
Package xserver-xorg is not installed.
octoscreen depends on xinit; however:
Package xinit is not installed.

dpkg: error processing package octoscreen (–install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
octoscreen

Ругается на зависимости, там перечисленны пакеты которые ему нужны. Попробуй их поставить. А на что ты это все ставишь? В смысле на октопай или на дебиан с октой?

В итоге я установил все пакеты и драйвера, и саму программу. Ошибка была в пакетном менеджере с неразрешенными зависимостями пакетов. Как этот лечится тут. После “лечения” все запустилось влет.
У меня рекомендованный 4’’ IPS резистивный экран. Как установить (где взять) на него драйвера тут.

1 Симпатия

У меня принтер расположен на балконе, вдалеке от роутера. Соответственно передача данных тормозила, не говоря уже о видео. Вспомнил, что у меня имеется усилитель сигнала Wi-Fi, от TP-Link, модель TL-WA850RE. Подключил малинку на провод и теперь ничего не тормозит. Может кому на заметку…

В интерфейсе я увидел что вроде как можно настраивать Z-offset. Если можно, то как им пользоваться знает кто?

Я на последнюю версию так и не обновился, а в той что у меня есть только перемещение сопла по углам стола для ручной настройки уровня крутилками. Если у тебя автоуровень то это может понадобиться например если хочешь выровнять горизонт стола гайками. Но делать это нужно после того как настроишь Z-offset т.к. данное меню гонит сопло в 0 по Z.
Как задать Z-offset есть в инструкции по установке автоуровня.
Но лично я делаю так:

Сводка
  1. Греем сопло и стол до рабочей температуры. У меня 225/75;
  2. M851 Z0 - устанавливаем нулевое значение для оси Z, сбрасывая ранее установленный offset;
  3. G28 - Отправляем все оси в дом. По завершении сопло будет поднято на 10мм, т.е. в терминале будет написано Z 10 ;
  4. G0 X100 Y100 F3000 - Перемещаем сопло в центр стола;
  5. M211 S0 - этой командой мы отключаем программные ограничения для всех осей. О чем будет написано в терминале;
  6. При помощи программы опускаем сопло сначала на 10мм потом с меньшим шагом и добиваемся что бы листок бумаги А4, с небольшим усилием, проходил между рабочей поверхности стола и соплом.
    6.1 M114 вернет текущие координаты сопла. Смотрим на значение Z , к примеру там написано" Z-2,2 " Добавляем еще толщину листа бумаги 0.1мм - и получаем число " -2,3 " Это и есть Offset_Z ;
  7. M851 Z-2.3 - записываем найденное значение в прошивку;
  8. M500 - сохраняем значение в EEPROM ;
  9. M211 S1 - включаем программное ограничение движения осей.
1 Симпатия

@negativ72rus


Что за устройство на входе стоит? Три БП? Один на стол, другой на движки и платы, третий- …?

@stukinator
По БП отписывал тут:
Питание стола 220В

Девайс слева это твердотельное реле на питание принтера.
Тут подробнее:
Управление питанием принтера Про 3й бп. Он на 5в для малины.

1 Симпатия