Questo progetto parte da un'idea semplice ma molto bella nel suo essere concreta: usare un Raspberry Pi e una stampante termica per gestire e stampare una lista della spesa di famiglia da una piccola interfaccia web.

Non e il classico esperimento fine a se stesso. E un progetto domestico reale, con un obiettivo chiaro: avere una lista condivisa, ordinabile e stampabile in modo immediato.

Come funziona

L'architettura del progetto e volutamente semplice. Da una parte c'e il Raspberry collegato alla stampante termica. Dall'altra c'e una pagina web che permette di gestire gli elementi della lista. Quando serve stampare, il contenuto passa a un servizio dedicato che dialoga con la stampante.

Componenti principali

  • Raspberry Pi collegato a una thermal printer
  • Pagina web per gestire la lista della spesa
  • Un servizio Python che gestisce la stampante tramite socket
  • Un servizio Python che gestisce la lista lato web e invia i dati al printer manager
  • File `shopping_list.json` usato come memoria locale della lista

Struttura del progetto

  1. `printerManager.py` apre una socket e resta in ascolto per le richieste di stampa
  2. `server.py` gestisce la lista sul lato web e invia il contenuto al servizio di stampa
  3. `index.html` fornisce una UI semplice per aggiungere, ordinare, marcare e smarcare gli elementi
  4. I due servizi vengono configurati con `systemd` per partire automaticamente al boot

Perche il progetto e interessante

Mi piace perche unisce tre cose molto Spamalot: hardware leggero, software essenziale e un problema quotidiano risolto bene. Non cerca di essere una piattaforma complicata. Cerca di essere utile, stabile e facile da usare in casa.

Dettagli utili del repository

  • La UI supporta il drag and drop per riordinare la lista
  • Gli elementi possono essere marcati o smarcati
  • La persistenza e semplice e locale, nello stesso contesto della pagina web
  • Il README include esempi pratici di unit file `systemd` per i due servizi

Repository

Il codice completo e qui: RaspberryThermal su GitHub.

Torna a Technology Apri il repository