Miniguia para la puesta en funcionamiento de una pantalla clónica tipo 3,5″ tft por gpio, waveshare 3,5″ (A). La típica que podemos encontrar por aliexpress.
Motivo de utilizar este método. Para utilizar estas pantallas se suele tirar del plugin TOUCH UI de octoprint, el cual nos requiere la instalación de un escritorio linux y el control de octoprint utilizando el navegador desde la propia Raspberry, lo que es una perdida enorme de recursos. Utilizando octoprint-tft no es necesario esto.
(PARTIMOS DE LA BASE DE RPI CON LA ULTIMA VERSION DE OCTOPI EN FUNCIONAMIENTO)
1. Instalación de drivers de la pantalla desde SSH:
Primero tenemos que tener la pantalla funcionando con nuestro octoprint, así que desde SSH en nuestro pc metemos los siguientes comandos.
wget https://www.waveshare.com/w/upload/1/1e/LCD-show-180817.tar.gz
tar xvf LCD-show-180817.tar.gz
cd LCD-show/
chmod +x LCD35-show
./LCD35-show
La Rpi se reiniciara y nos aparecerá la consola por la pantalla.
Fuente: https://www.waveshare.com/wiki/3.5inch_RPi_LCD_(A)
2. Instalacion de Octoprint-tft
sudo apt-get update
sudo apt-get install xserver-xorg xinit libgtk-3-0 xserver-xorg-video-fbdev
wget https://github.com/mcuadros/OctoPrint-TFT/releases/download/v0.1.2/octoprint-tft_0.1.2-1.stretch_armhf.deb
sudo dpkg -i octoprint-tft_0.1.2-1.stretch_armhf.deb
sudo mv /usr/share/X11/xorg.conf.d/99-fbturbo.conf ~
sudo nano /lib/systemd/system/octoprint-tft.service
Cambiamos el valor 0 a 1 en esta linea:
ExecStart=/usr/bin/xinit /usr/bin/OctoPrint-TFT -- :0 -nolisten tcp -nocursor
to
ExecStart=/usr/bin/xinit /usr/bin/OctoPrint-TFT -- :1 -nolisten tcp -nocursor
Pulsamos CTRL+X y tecleamos Y, para guardar el archivo.
Ya tendremos lista nuestra pantalla TFT con control táctil.
Fuente: https://github.com/mcuadros/OctoPrint-TFT
FIX DE CONGELACIÓN:
wget https://github.com/mcuadros/OctoPrint-TFT/files/2333378/octoprint-tft_v0.1.2_.34-fix_stretch.zip
unzip octoprint-tft_v0.1.2_.34-fix_stretch.zip
sudo dpkg -i octoprint-tft_v0.1.2_#34-fix_stretch.deb
DESACTIVAR SALVAPANTALLAS (Pantalla en blanco):
Desde ssh, editamos:
sudo nano /etc/X11/xorg.conf
Pegamos esto:
Section «ServerFlags»
Option «blank time» «0»
Option «standby time» «0»
Option «suspend time» «0»
Option «off time» «0»EndSection
Guardamos. Reiniciamos y adiós salvapantallas.
https://github.com/mcuadros/OctoPrint-TFT/issues/40
Versión alternativa – Fork de Darsid3r
Ahora mismo es la version mas actualizada de Octoprint-tft, segun su git lleva ya los fix incluidos de congelacion y otras mejoras en los menús.
Como siempre desde ssh, copy&paste:
Instalamos una dependencia:
sudo apt-get install x11-xserver-utils
Descargamos la release:
La instalamos:
sudo dpkg -i octoprint-tft_stretch_1.2.git2669d90-1_armhf.deb
Reiniciamos:
sudo reboot
*Tras el primer reinicio se me ha descuadrado la pantalla, al segundo reinicio ya estaba todo funcionando correctamente.
*La instalación es para Raspbian Stretch, con la ultima release en el momento de escribir esto.