Server multimediale tascabile su ESP32-S3 per viaggi e reti offline
Durante i lunghi viaggi o all'aria aperta, un problema frustrante emerge rapidamente: la connettività mobile scompare nel momento peggiore. Potresti precaricare la memoria del telefono con file video e libri in anticipo. Un altro approccio è configurare un server autonomo. Ma distribuire un Raspberry Pi con un intero sistema di power bank e dischi esterni per questo scopo è spesso poco pratico. La scheda si scalda, consuma aggressivamente la batteria e occupa spazio prezioso nello zaino.
Lo sviluppatore Jackson Studner ha adottato un approccio più elegante a questo problema. Ha scritto Jcorp Nomad — un server multimediale completamente autonomo che gira sul microcontrollore ESP32-S3 e sta in un case delle dimensioni di una normale chiavetta USB.

Cosa può fare un microcontrollore che costa circa quindici dollari
Nomad crea la propria rete Wi-Fi locale. Ti connetti dal tuo smartphone, tablet o laptop, apri un browser e atterri nel lettore multimediale. Nessuna installazione di app richiesta.
All'interno della chiavetta c'è una scheda MicroSD da cui il dispositivo serve i contenuti. Ecco cosa può trasmettere ai dispositivi connessi:
- Film e serie TV. I video vengono riprodotti tramite il lettore web Plyr. C'è supporto per cartelle strutturate con stagioni e memoria corretta del progresso di riproduzione.
- Musica. Riproduzione in background con playlist da sottocartelle e accodamento dinamico.
- Libri e fumetti. Supporta i formati PDF, EPUB, CBZ e CBR.
- Wikipedia offline. La funzionalità distintiva dell'ultima release Mk4 — lettura di archivi ZIM. Puoi caricare dump di Wikipedia, la libreria Gutenberg o TED talks sulla chiavetta.
Più persone possono connettersi simultaneamente e guardare file diversi. Naturalmente, questo dipende dalla larghezza di banda Wi-Fi del microcontrollore, ma è sufficiente per una famiglia o un piccolo gruppo in campeggio.
Come sono riusciti a far leggere a ESP32 archivi di gigabyte
Il dettaglio tecnico più interessante in Nomad è il lavoro con i file ZIM. Un dump completo di Wikipedia con illustrazioni pesa oltre 140 gigabyte. Cercare di far cercare a un chip ESP32 con la sua modesta RAM attraverso una tale massa di dati da solo porterebbe inevitabilmente a un crash del sistema.
L'autore ha risolto il problema con la divisione del lavoro. Il progetto include un'utility chiamata Nomad Tools per il tuo computer. Pre-scansiona il file ZIM sul PC e crea un file indice compatto. L'indice pronto va sulla MicroSD. Quando inserisci una query di ricerca nel browser del tuo smartphone, Nomad controlla rapidamente l'indice leggero e serve immediatamente l'articolo corretto.
Nell'ultimo aggiornamento Mk4, lo sviluppatore ha perfezionato la gestione della memoria:
- Corretti crash frequenti durante il lavoro con file superiori a 2 gigabyte.
- Aggiunto scaricamento dinamico delle pagine lette per PDF e fumetti. Prima, un argomento lungo o un documento scansionato pesante avrebbe riempito rapidamente la RAM, mandando in crash la scheda.
- Ottimizzata l'indicizzazione all'avvio. Ora la scheda riscansiona la scheda di memoria solo se i file sono effettivamente cambiati, non ogni volta che si accende.
Il case che non schiaccia più lo schermo
Il dispositivo è costruito attorno a una scheda di sviluppo specifica — Waveshare ESP32-S3 Dev Board con schermo LCD a colori da 1,47 pollici. Il repository contiene file STL pronti per la stampa 3D del case.

Il design del case è stato rielaborato in Mk4. Prima, le due metà si agganciavano dall'alto e dal basso, il che rendeva facile schiacciare il sottile vetro del display durante l'assemblaggio. La nuova versione si assembla da davanti a dietro. I pulsanti di reset e flash rimangono all'esterno, quindi non dovrai smontare il case per aggiornare il software.
Come costruire un server del genere da soli
L'assemblaggio è semplice, non richiede saldature. Ecco cosa ti serve:
- Scheda Waveshare ESP32-S3 con display da 1,47" (costa circa 15–18 dollari).
- Scheda MicroSD da 16 GB a 128 GB (sono supportate schede fino a 2 TB, basta formattare in FAT32).
- Qualsiasi fonte di alimentazione con uscita USB (power bank, presa accendisigari o caricatore del telefono).
La struttura dei file sulla scheda di memoria è semplice. Devi semplicemente posizionare i tuoi file multimediali nelle cartelle corrispondenti:
/Movies
Interstellar.mp4
Interstellar.jpg
/Shows
/The Office
S01E01 - Pilot.mp4
S01E02 - Diversity Day.mp4
The Office.jpg
/Books
The Martian.pdf
/Music
track01.mp3
Dopo di che, carica il firmware sulla scheda tramite Arduino IDE con il binario dalla cartella /firmware/, inserisci la chiavetta e applica l'alimentazione. Nella lista delle reti vedrai Jcorp_Nomad (password predefinita: password).
Apri il pannello di amministrazione nel browser, esegui l'indicizzazione iniziale — e la tua libreria multimediale offline è pronta.
Vale la pena provare
Jcorp Nomad è un ottimo esempio di come creare qualcosa di genuinamente utile nella vita quotidiana con un microcontrollore per due soldi. Il progetto ha un codice open source chiaro (licenza CC BY-NC-SA 4.0), un autore attivo e una comunità vivace.
Se ti trovi spesso dove non c'è segnale cellulare, o vuoi semplicemente avere un riferimento autonomo di emergenza con film a portata di mano in caso di interruzione di corrente, questo progetto vale sicuramente la pena di costruirlo in un paio di serate.
Progetti correlati