Cuántas veces habéis intentado levantar un chisme por USB en Linux y os habéis querido arrancar los pelos con los errores de permisos y las dependencias rotas?
Tranquilos, que en comandoit no venimos a llorar, venimos a dominar la tecnología a base de comando y sudo. Hoy os traigo la guía definitiva y sin rodeos para poner a funcionar esa Turing Smart Screen de 3.5 pulgadas sobre Arch Linux (sí, el sistema de los elegidos) y dejarla arrancando sola desde el segundo cero, sin que tengáis que mover un dedo cada vez que encendáis el PC.
El toque inicial: Paquetes y Pacman al poder
¿Qué nos dice el manual original para Debian? Que uses apt. ¡Ja! Aquí somos usuarios de Arch, así que nada de rodeos. Vamos a instalar lo que toca de una vez para dejar lista nuestra pantalla de 3.5″:
sudo pacman -Syu
sudo pacman -S git python python-pip python-virtualenv tk base-devel
Con esto ya tenemos las herramientas de combate listas. Ahora clonamos el repositorio oficial y entramos al terreno de juego:
git clone https://github.com/mathoudebine/turing-smart-screen-python.git
cd turing-smart-screen-python
Entornos virtuales y dependencias sin llorar
No me seáis impacientes y montad el entorno virtual de Python como dios manda en vuestro sistema operativo Arch Linux:
python3 -m venv venv
source venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install -r requirements.txt
Arreglando el drama de los Locales y el Puerto Serial
Arch Linux es purista, y si no generas las locales, Python te va a soltar un berrinche con el famoso locale.Error. Solución rápida y al mentón:
Edita /etc/locale.gen con sudo nano /etc/locale.gen, descomenta tu idioma (ej. es_ES.UTF-8 UTF-8) y ejecuta:
sudo locale-gen
Para curarte en salud con las variables, pon esto en tu .bashrc:
export LANG=C.UTF-8
export LC_ALL=C.UTF-8
¿Y el puerto USB /dev/ttyACM0 de nuestra flamante pantalla de 3.5″ que os tira error de permisos?
No os preocupéis, que en comandoit tenemos la cura definitiva con una regla de udev que le da acceso total al dispositivo sin andar jugando con grupos a medias:
sudo nano /etc/udev/rules.d/99-turing-screen.rules
Metéis esta línea:
SUBSYSTEM=="tty", ATTRS{idVendor}=="*", ATTRS{idProduct}=="*", MODE="0666"
Y recargáis con:
sudo udevadm control --reload-rules && sudo udevadm trigger
Configurar y que ruede
¿Queréis configurar la pantallita de 3.5″ con la interfaz gráfica en Arch Linux?
python3 configure.py
¿O sois de los hardcore que prefieren lanzarlo directamente?
python3 main.py
Arranque automático con Systemd
Como en comandoit nos gusta que las cosas funcionen solas mientras nos tomamos un café, vamos a crear un servicio de usuario para que nuestra pantalla cobre vida sola al arrancar el equipo.
Creáis el archivo de servicio:
nano ~/.config/systemd/user/turing-screen.service
Y le metéis esta plantilla ajustando vuestra ruta:
[Unit]
Description=Turing Smart Screen Python Monitor
After=network.target
[Service]
Type=simple
WorkingDirectory=/home/tu-usuario/turing-smart-screen-python
ExecStart=/home/tu-usuario/turing-smart-screen-python/venv/bin/python3 main.py
Restart=always
RestartSec=10
Environment=LC_ALL=C.UTF-8
Environment=LANG=C.UTF-8
[Install]
WantedBy=default.target
Lo activáis y listo, a presumir de pantallita:
systemctl --user daemon-reload
systemctl --user enable turing-screen.service
systemctl --user start turing-screen.service

