Serveur média de poche sur ESP32-S3 pour les voyages et réseaux hors ligne
Lors de longs voyages ou en pleine nature, un problème frustrant devient rapidement apparent : la connectivité mobile disparaît au pire moment possible. Vous pourriez précharger le stockage de votre téléphone avec des fichiers vidéo et des livres à l'avance. Une autre approche consiste à configurer un serveur autonome. Mais déployer un Raspberry Pi avec tout un ensemble de batteries externes et de disques durs pour cet usage est souvent peu pratique. La carte chauffe, épuise rapidement la batterie et prend de la place précieuse dans le sac à dos.
Le développeur Jackson Studner a adopté une approche plus élégante pour résoudre ce problème. Il a créé Jcorp Nomad — un serveur média entièrement autonome qui fonctionne sur le microcontrôleur ESP32-S3 et tient dans un boîtier de la taille d'une clé USB standard.

Ce qu'un microcontrôleur à environ quinze dollars peut accomplir
Nomad crée son propre réseau Wi-Fi local. Vous vous y connectez depuis votre smartphone, tablette ou ordinateur portable, ouvrez un navigateur et accédez au lecteur multimédia. Aucune installation d'application requise.
À l'intérieur de la clé USB se trouve une carte MicroSD à partir de laquelle l'appareil diffuse le contenu. Voici ce qu'il peut diffuser vers les appareils connectés :
- Films et séries TV. Les vidéos sont lues via le lecteur web Plyr. Il y a un support pour les dossiers structurés avec saisons et une mémoire de progression de lecture.
- Musique. Lecture en arrière-plan avec des playlists depuis des sous-répertoires et une mise en file d'attente dynamique.
- Livres et bandes dessinées. Prend en charge les formats PDF, EPUB, CBZ et CBR.
- Wikipedia hors ligne. La fonctionnalité phare de la dernière version Mk4 — la lecture des archives ZIM. Vous pouvez charger des dumps Wikipedia, la bibliothèque Gutenberg ou des conférences TED sur la clé USB.
Plusieurs personnes peuvent se connecter simultanément et regarder des fichiers différents. Naturellement, cela dépend de la bande passante Wi-Fi du microcontrôleur, mais c'est suffisant pour une famille ou un petit groupe dans un camping.
Comment ils ont réussi à faire lire à l'ESP32 des archives de plusieurs gigaoctets
Le détail technique le plus intéressant de Nomad est le travail avec les fichiers ZIM. Un dump Wikipedia complet avec illustrations pèse plus de 140 gigaoctets. Tenter de faire rechercher à une puce ESP32 avec sa modeste RAM dans une telle masse de données conduirait inévitablement à un plantage du système.
L'auteur a résolu le problème par une division du travail. Le projet inclut un utilitaire appelé Nomad Tools pour votre ordinateur. Il pré-analyse le fichier ZIM sur le PC et crée un fichier d'index compact. L'index prêt à l'emploi va sur la MicroSD. Lorsque vous saisissez une requête de recherche dans le navigateur de votre smartphone, Nomad vérifie rapidement l'index léger et sert immédiatement l'article correct.
Dans la dernière mise à jour Mk4, le développeur a affiné la gestion de la mémoire :
- Correction des plantages réguliers lors du travail avec des fichiers de plus de 2 gigaoctets.
- Ajout du déchargement dynamique des pages lues pour les PDF et les bandes dessinées. Auparavant, un long sujet ou un document numérisé volumineux remplissait rapidement la RAM, envoyant la carte ad patres.
- Optimisation de l'indexation au démarrage. Maintenant, la carte rescane la carte mémoire uniquement si des fichiers ont réellement changé dessus, pas à chaque mise sous tension.
Le boîtier qui n'écrase plus l'écran
L'appareil est construit autour d'une carte de développement spécifique — Waveshare ESP32-S3 Dev Board avec un écran LCD couleur de 1,47 pouces. Le dépôt contient des fichiers STL prêts à l'emploi pour l'impression 3D du boîtier.

La conception du boîtier a été retravaillée dans la Mk4. Auparavant, les deux moitiés s'emboîtaient par le haut et le bas, ce qui facilitait l'écrasement du fin verre de l'écran lors de l'assemblage. La nouvelle version s'assemble de l'avant vers l'arrière. Les boutons de réinitialisation et de flash restent à l'extérieur, vous n'aurez donc pas besoin de démonter le boîtier pour mettre à jour le logiciel.
Comment construire soi-même un tel serveur
L'assemblage est simple, aucune soudure requise. Voici ce dont vous avez besoin :
- Carte Waveshare ESP32-S3 avec écran 1,47" (coûte environ 15–18 $).
- Carte MicroSD de 16 Go à 128 Go (les cartes jusqu'à 2 To sont prises en charge, formatez simplement en FAT32).
- N'importe quelle source d'alimentation avec sortie USB (batterie externe, prise allume-cige ou chargeur de téléphone).
La structure des fichiers sur la carte mémoire est simple. Vous placez simplement vos fichiers multimédias dans les dossiers correspondants :
/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
Après cela, flashez la carte via Arduino IDE avec le binaire du dossier /firmware/, insérez la clé USB et branchez l'alimentation. La liste des réseaux affichera Jcorp_Nomad (mot de passe par défaut : password).
Ouvrez le panneau d'administration dans votre navigateur, lancez l'indexation initiale — et votre bibliothèque multimédia hors ligne est prête.
Cela vaut-il la peine d'essayer
Jcorp Nomad est un excellent exemple de création de quelque chose de véritablement utile dans la vie quotidienne avec un microcontrôleur pour une bouchée de pain. Le projet a un code open source clair (licence CC BY-NC-SA 4.0), un auteur actif et une communauté vivante.
Si vous vous trouvez souvent là où il n'y a pas de signal cellulaire, ou si vous voulez simplement avoir une référence autonome d'urgence avec des films à portée de main en cas de coupure de courant, ce projet mérite définitivement d'être construit en quelques heures de soirée.
Projets similaires