Touchscreen 3.5 Venus en Raspberry

(Hay una versión actualizada de esta entrada que considera las últimas versiones de Venus OS e incluye el auto apagado de la pantalla!)

Instrucciones para una instalación básica del Touchscreen Kuman 3.5″ con chip XPT2046 en Raspberry Pi 3 B+, con Venus de Victron Energy

Intenté activar mi touchscreen que vemos en esta foto después de haber arrancado Venus en mi RPi y fracasé. Tras varios fracasos descubrí que el truco era, tras grabar la imagen de Venus, y sin quitar la SDcard de mi laptop, hacer los puntos 1 y 2 siguientes:

1. Copiar el driver adecuado para mi touchscreen dentro del directorio /u-boot/overlays/ de la SDcard. Lo conseguí dentro del directorio /usr de este LCD-show oficial.

2. Editar el archivo /u-boot/config.txt en la sección all:

[all]
dtparam=spi=on
dtoverlay=tft35a, rotate=270
display_default_lcd=1 <– sin esto no cargará la GUI de Venus

3. Puse la SDcard en mi RPi y cargó esta pantalla de solo comandos, confirmando que el driver era el correcto.

*Las siguientes configuraciones las hice por ssh, para activar el acceso:
Entra por Remote Console (Aquí explico cómo) a Settings–>General–>Access level. Estará resaltado User & Installer, presiona y no sueltes la tecla direccional derecha de tu teclado hasta que cambie a Superuser.
Asigna un password para Superuser.
Activa SSH on LAN.

4. Desde un terminal:
ssh root@ipdeturaspi (te pedirá el password que asignaste)

5. Sería bueno que pruebes que la interfaz gráfica de Venus se muestre en la pantalla, aunque todavía no tendrá función touch:
-Deshabilita el mode headless (renombrando el archivo correspondiente) para que la interfaz de Venus se muestre en tu touscreen:
mv /etc/venus/headless /etc/venus/headless.off
reboot

Si todo va bien, verás la interfaz de Venus. A menos que quieras dejar la pantalla solo como monitor, sin la función touch, aquí terminó todo, sino continúa al paso 6.

6. mv /etc/venus/headless.off /etc/venus/headless <– luego del reboot la pantalla volverá a modo comandos
reboot

7. Calibrar la pantalla es requisito indispensable para que funcione el touch, así que instala este paquete:

(Actualización: si surge una falla hay que editar nano /etc/opkg/venus.conf y cambiar la ruta de los paquetes por “dunfell”)
opkg update
opkg install tslib-calibrate
Y luego corre estos comandos:
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/touchscreen0
ts_calibrate

Toca los 5 puntos que aparecen en tu touchscreen.

8. Vuelve a deshabilitar headless:
mv /etc/venus/headless /etc/venus/headless.off
reboot

Luego del reboot volverá a cargar la interfaz de Venus y ya responderá a los toques.