Joan Pau Rahola
Tots els projectesProjecte 04 / 05

Aplicació encastada per a Raspberry Pi

Interfície a pantalla completa per a un dispositiu tàctil sense teclat ni ratolí, amb integració directa amb el sistema operatiu.

Any
2024
Context
Projecte personal
Stack
Python · Tkinter · Raspberry Pi

Aplicació d'escriptori en Python per a una Raspberry Pi amb pantalla tàctil, concebuda com a regal: galeria de fotografies, mapa interactiu, comptadors de dates i configuració del sistema. El dispositiu arrenca directament a l'aplicació, de manera que qualsevol operació (connexió WiFi, importació de fitxers, apagada) s'havia de poder fer des de la interfície, sense accés a terminal ni a perifèrics.

En síntesi

Disseny d'interfícies per a maquinari limitat i integració amb el sistema operatiu

01

Context

L'aplicació s'estructura en mòduls independents (menú principal, galeria, mapa, configuració, comptadors i línia de temps) gestionats des d'un menú central. Les restriccions del dispositiu condicionen tot el disseny: entrada exclusivament tàctil, recursos de memòria limitats i la necessitat que el sistema es recuperi sol després d'un reinici.

02

Sistemes principals

El mòdul de mapa permet afegir ubicacions sobre un canvas tàctil. En seleccionar un punt apareix un teclat QWERTY a pantalla completa per introduir-ne el nom. Cada ubicació es desa en JSON, es representa sobre el mapa i es mostra en una llista lateral des d'on es pot eliminar.

03

Aprenentatges

El projecte em va obligar a dissenyar a partir de les condicions d'ús reals: un usuari no tècnic, sense accés a eines de diagnòstic, per al qual qualsevol situació d'error s'havia de poder resoldre des de la interfície. També em va aportar experiència pràctica en la integració amb Linux: gestió de processos, permisos i fitxers de configuració del sistema.

04

Stack

  • Python 3 Llenguatge principal.
  • Tkinter + ttk / ttkthemes Interfície gràfica i temes visuals.
  • Pillow Càrrega i tractament d'imatges i GIF animats.
  • pygame Reproducció d'àudio en bucle.
  • JSON Persistència de les ubicacions del mapa.
  • datetime Càlcul de diferències temporals.
  • os, subprocess, shutil Integració amb el sistema (USB, WiFi, processos i apagada).
05

Estat actual

El dispositiu és plenament funcional i el projecte es considera tancat. L'arquitectura modular permetria afegir noves seccions sense modificar el nucli.

Següent projecte
VisorRP: servidor de GTA V gestionat amb IA