>_ DevTrendsit

Lingua

Home

Linguaggi

Sezioni

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicurezza
HTML

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.

Jcorp Nomad Offline Media Server

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.

Nomad Mk4 exploded case view

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:

  1. Scheda Waveshare ESP32-S3 con display da 1,47" (costa circa 15–18 dollari).
  2. Scheda MicroSD da 16 GB a 128 GB (sono supportate schede fino a 2 TB, basta formattare in FAT32).
  3. 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