Ti presento il prototipo 3 di The Open Music Box: un lettore audio per bambini pilotato da carte NFC e, soprattutto, un sistema completo e open source che chiunque può riprodurre partendo da un Raspberry Pi.
Ma prima di aprire la scatola, due parole sulla strada fatta. Nell'articolo precedente ti raccontavo del secondo prototipo e della sua grande novità, le playlist, che mio figlio adorava scorrere con i due pulsanti frontali. Restava un punto da migliorare: la scocca era troppo compatta per alloggiare una batteria. Sempre attaccato alla rete, e uno o due minuti di attesa a ogni riavvio. La v3 prosegue questo miglioramento continuo: una versione matura, pronta a sostituire la vecchia e, questa volta, da condividere.

Un'interfaccia per gestire i contenuti
Sulla v2, aggiungere una storia significava collegarsi via SSH, mettere i file MP3 nella cartella giusta, far partire uno script per avviare l'associazione delle carte per le nuove playlist, poi riavviare il servizio. Non proprio compatibile con un uso in famiglia...
Ho quindi sviluppato un'interfaccia web servita direttamente dal Raspberry Pi. Da qualsiasi telefono o computer sulla stessa rete, si possono creare playlist, caricare file audio e associare una carta NFC a una playlist. Senza terminale, senza maneggiare file.

Tutto quello che serve fare si può fare da questa schermata. La box riflette subito quello che cambia lato telefono, e viceversa.

L'upload si fa con il drag and drop, file per file, con una barra di avanzamento.

L'associazione di un tag NFC segue la stessa logica: si avvia la modalità associazione dall'interfaccia, si presenta la carta al lettore, ed è collegata alla playlist. Niente più gestione manuale di identificativi.

Una batteria per renderlo portatile
Lato hardware, il cantiere principale della v3 era finalmente piazzare una batteria nella scocca per non dipendere più dalla rete. Ho quindi ridisegnato l'involucro partendo dalla batteria: prima dimensionarla, poi organizzare tutto il resto intorno.
All'interno, una batteria LiPo è collegata a una piccola scheda che si ricarica via USB e passa in modalità autonoma quando si stacca il cavo. Sulla carta risolveva il problema: niente più filo al piede, niente più attesa al riavvio.
Solo che, all'uso, il passaggio tra alimentazione USB e batteria provoca una micro-interruzione elettrica, che fa riavviare il Raspberry Pi. Risultato: ci abbiamo guadagnato in mobilità, ma il ritardo di uno o due minuti resta lì.
Non è un dramma, ci si organizza intorno, ma è piuttosto frustrante. Ho provato ad aggiungere dei condensatori per livellare la corrente, ma non sono un elettronico e il problema persiste fino a oggi.
Dei pulsanti per le storie interattive
Durante la progettazione della v3, cominciavo a pensare a delle storie interattive: un racconto audio in cui il bambino sceglie il seguito premendo un pulsante. Per questo, due pulsanti frontali non bastavano più, ne servivano quattro, per massimizzare l'interattività.
Ho quindi piazzato questi quattro pulsanti colorati sopra la scocca. È anche l'occasione di un'ergonomia migliore: una pressione sopra è più piacevole per l'interazione, evita di spingere la scatola quando ci si preme su.
Il formato delle storie interattive è ancora in lavorazione, ma la scocca è già pensata per accoglierle il giorno in cui sarà pronto.
Costruire la scocca
La scocca finale resta sulla stessa logica della v2: una struttura stampata in 3D pensata come l'ossatura di un cubo, delle placche di MDF tagliate al laser per le facce. Cambia: le dimensioni, le aperture dei nuovi pulsanti sopra, un accesso alla batteria dal basso senza smontaggio totale, e una struttura più affinata.
Per riuscire a stampare questa struttura cubica in un pezzo unico ci sono volute parecchie calibrazioni. La sfida erano i lunghi ponti da una parete all'altra: dovevano posarsi puliti senza cedere, e i supporti poi dovevano staccarsi senza lasciare tracce.

Tante stampe sacrificate prima di arrivare a una resa pulita.

Una volta stampata la struttura, restava l'altro esercizio: far coincidere le quote tra le placche interne che reggono i componenti, i pezzi stampati e i pannelli di legno tagliati al laser. Tre tecniche di fabbricazione, tre precisioni diverse, da allineare. Ne sono uscito con tante cose imparate sulla calibrazione di una stampante 3D e sulle regolazioni che incidono davvero sulla qualità finale.
Riprodurre il sistema
Il prototipo 3 funziona, gira tutti i giorni a casa. Restava un'ultima tappa perché diventasse davvero un progetto: renderlo riproducibile.
Per ora, è soprattutto l'applicazione a essere disponibile: il codice è funzionante su GitHub, e uno script di configurazione prepara automaticamente il Raspberry Pi, dall'installazione delle dipendenze al lancio del servizio. Licenza non commerciale, libero per uso personale, didattico e per modifica.
Lato scocca, i file STL e la BOM sono ancora in fase di finalizzazione. Preferisco pubblicarli quando saranno davvero pronti per essere seguiti. Arrivano, e rispondo alle domande poste in issue.
E poi
Questa versione Raspberry Pi è un punto d'arrivo, ma anche un punto di svolta. All'uso quotidiano è cara, consuma tanto, parte lentamente, e richiede un sistema operativo completo per quello che resta, in fondo, un lettore audio pilotato da NFC. È troppo per quello che fa. Ho passato tanto (troppo) tempo su questo proof of concept, ed è il momento di voltare pagina verso componenti più pertinenti.
Per questo il repo Raspberry Pi è marcato come deprecato su GitHub: il seguito mi prende tutte le energie in questo periodo, e te lo racconterò nel prossimo articolo.
Detto questo, questa versione resta open source, disponibile e utilizzabile da chi vuole prenderla in mano. Il codice è lì, funzionante. I file della scocca seguiranno. Se ne costruisci una tua, fammelo sapere.