← Terug naar het logboek
Verhaal

De doos deelbaar maken

Het derde Raspberry Pi-prototype: een webinterface om de inhoud te beheren, een batterij om het toestel mobiel te maken, knopjes voor interactieve verhalen. Een volwaardig systeem, met code in open source.

Ik stel u prototype 3 van The Open Music Box voor: een audiospeler voor kinderen die met NFC-kaartjes wordt aangestuurd, en vooral een volwaardig open source systeem dat eender wie kan namaken vanuit een Raspberry Pi.

Maar vooraleer wij de doos opendoen, een woordje over het afgelegde traject. In het vorige artikel stelde ik u het tweede prototype voor en zijn grote nieuwigheid, de playlists, die mijn zoontje graag doorbladerde met de twee knopjes vooraan. Er bleef nog één punt dat verbetering vroeg: de behuizing was te compact om een batterij in onder te brengen. Altijd op het stopcontact, en één à twee minuten wachten bij elke herstart. De v3 zet die voortdurende verbetering verder: een afgewerkte versie, klaar om de oude te vervangen, en dit keer ook klaar om gedeeld te worden.

Het prototype dat ik voor mijn zoontje heb gemaakt: 3D-geprinte structuur, houten zijpanelen die wij samen geschilderd hebben, en zijn voornaam samengesteld uit met de laser uitgesneden letters die op het deksel zijn gelijmd. Het kapje van de volumeknop ontbreekt nog.
Het prototype dat ik voor mijn zoontje heb gemaakt: 3D-geprinte structuur, houten zijpanelen die wij samen geschilderd hebben, en zijn voornaam samengesteld uit met de laser uitgesneden letters die op het deksel zijn gelijmd. Het kapje van de volumeknop ontbreekt nog.

Een interface om de inhoud te beheren

Op de v2 betekende het toevoegen van een verhaal: via SSH inloggen, MP3-bestanden in de juiste map droppen, een script starten om de kaartkoppeling voor de nieuwe playlists in gang te zetten, en daarna de service herstarten. Niet echt familievriendelijk...

Daarom heb ik een webinterface ontwikkeld die rechtstreeks door de Raspberry Pi wordt aangeboden. Vanaf eender welke smartphone of computer op hetzelfde netwerk kunt u playlists aanmaken, audiobestanden uploaden en een NFC-kaartje aan een playlist koppelen. Zonder terminal, zonder bestandsmanipulatie.

Het hoofdscherm van de webinterface: de lijst met playlists, elk met hun gekoppelde NFC-tag en het aantal nummers.
Het hoofdscherm van de webinterface: de lijst met playlists, elk met hun gekoppelde NFC-tag en het aantal nummers.

Alles wat moet gebeuren, kunt u vanuit dit scherm doen. De doos weerspiegelt onmiddellijk wat aan smartphonezijde verandert, en omgekeerd.

Als u een playlist openvouwt, ziet u de lijst met nummers met hun duur, in de afspeelvolgorde.
Als u een playlist openvouwt, ziet u de lijst met nummers met hun duur, in de afspeelvolgorde.

Het uploaden gebeurt via drag-and-drop, bestand per bestand, met een voortgangsbalk.

De bewerkmodus: elke playlist toont een dropzone om audiobestanden toe te voegen.
De bewerkmodus: elke playlist toont een dropzone om audiobestanden toe te voegen.

Het koppelen van een NFC-tag volgt dezelfde logica: u start de koppelmodus vanuit de interface, u biedt het kaartje aan bij de lezer en het is gelinkt aan de playlist. Geen handmatige manipulatie van identifiers meer.

Het NFC-koppeldialoog: u start de operatie en biedt vervolgens het kaartje aan bij de lezer van de doos.
Het NFC-koppeldialoog: u start de operatie en biedt vervolgens het kaartje aan bij de lezer van de doos.

Een batterij om het toestel mobiel te maken

Aan de hardwarekant was de grote werf van de v3 om eindelijk een batterij in de behuizing onder te brengen, zodat het netstroomsnoer overbodig werd. Ik heb de buitenkant dus opnieuw getekend, vertrekkend vanuit de batterij: eerst die afmeten, en daarna al de rest eromheen organiseren.

Binnenin is een LiPo-batterij verbonden met een kleine kaart die via USB oplaadt en in autonome modus overschakelt zodra u de stekker uittrekt. Op papier loste dat het probleem op: geen snoer meer aan het been, geen wachttijd meer bij de start.

Behalve dat de overschakeling tussen USB-voeding en batterij in de praktijk een micro-stroomonderbreking veroorzaakt, waardoor de Raspberry Pi herstart. Resultaat: wij hebben mobiliteit gewonnen, maar de wachttijd van één à twee minuten blijft.

Geen drama, u organiseert zich daar wel rond, maar wel behoorlijk frustrerend. Ik heb geprobeerd om condensatoren toe te voegen om de stroom uit te vlakken, maar ik ben geen elektronicus en dit probleem houdt tot op vandaag aan.

Knopjes voor de interactieve verhalen

Tijdens het ontwerp van de v3 begon ik na te denken over interactieve verhalen: een audioverhaal waarbij het kind het vervolg kiest door op een knopje te drukken. Daarvoor volstonden twee knopjes vooraan niet meer, het moesten er vier worden, voor een maximum aan interactiviteit.

Ik heb die vier gekleurde knopjes dus bovenop de behuizing geplaatst. Het is meteen ook de kans op een betere ergonomie: een druk op het deksel is aangenamer om mee te werken, en zo wordt de doos niet meer weggeduwd wanneer u erop drukt.

Het formaat van de interactieve verhalen is nog in de maak, maar de behuizing is nu al klaar om ze te ontvangen op de dag dat alles in orde is.

De behuizing maken

De uiteindelijke behuizing volgt dezelfde logica als die van de v2: een 3D-geprinte structuur opgevat als het skelet van een kubus, met plaatjes van MDF, uitgesneden met de laser voor de zijvlakken. Wat verandert: de afmetingen, de openingen voor de nieuwe knopjes bovenop, een toegang tot de batterij langs onder zonder dat alles uit elkaar moet, en een verfijndere structuur.

Het 3D-model van de V3-behuizing, in alle richtingen te draaien om het detail van de openingen en de assemblage te bekijken.

Om die kubusvormige structuur in één stuk te kunnen printen, was heel wat afstelling nodig. De uitdaging zaten in de lange bruggen van wand tot wand: ze moesten zich netjes leggen zonder door te zakken, en de supports moesten daarna zonder sporen verwijderd kunnen worden.

Het kritieke stuk van de behuizing tijdens het printen, op zijn boom van supports. Hier worden de lange bruggen en het netjes verwijderen van de supports beslist.
Het kritieke stuk van de behuizing tijdens het printen, op zijn boom van supports. Hier worden de lange bruggen en het netjes verwijderen van de supports beslist.

Heel wat geofferde prints alvorens tot een nette afwerking te komen.

Vier opeenvolgende pogingen van hetzelfde kritieke deel: de hoek van de kubus, waar de inserts, de bruggen en de support-tests samenkomen.
Vier opeenvolgende pogingen van hetzelfde kritieke deel: de hoek van de kubus, waar de inserts, de bruggen en de support-tests samenkomen.

Eens de structuur geprint, bleef er nog een andere oefening over: de maatvoering doen kloppen tussen de interne plaatjes die de componenten dragen, de geprinte stukken, en de met de laser uitgesneden houten panelen. Drie fabricagetechnieken, drie verschillende nauwkeurigheden, allemaal op één lijn te krijgen. Ik ben er uitgekomen met heel veel bijgeleerd over de kalibratie van een 3D-printer en de instellingen die echt het verschil maken voor de eindkwaliteit.

Het systeem reproduceren

Prototype 3 werkt, het draait elke dag bij ons thuis. Er bleef nog een laatste stap om er echt een project van te maken: het reproduceerbaar maken.

Voorlopig is het vooral de applicatie die beschikbaar is: de code is werkend op GitHub, en een configuratiescript bereidt de Raspberry Pi automatisch voor, van de installatie van de afhankelijkheden tot het opstarten van de service. Niet-commerciële licentie, vrij voor persoonlijk gebruik, voor educatieve doeleinden, en voor aanpassingen.

Explorer le projet sur GitHub
Libre d'usage, fonctionnel, prêt à installer
The-Open-Music-Box/raspberrypi-firmware

Aan de behuizingskant zijn de STL-bestanden en de BOM nog in afwerking. Ik publiceer ze liever pas wanneer ze echt klaar zijn om gevolgd te worden. Het komt eraan, en ik antwoord op de vragen die gesteld worden via issues.

En daarna

Deze Raspberry Pi-versie is een eindpunt, maar ook een kantelpunt. In dagelijks gebruik is hij duur, verbruikt hij veel, start hij traag op en heeft hij een volwaardig besturingssysteem nodig voor wat in wezen een door NFC aangestuurde audiospeler is. Het is te veel voor wat het doet. Ik heb veel (te veel) tijd aan deze proof of concept besteed, en het is tijd om die bladzijde om te draaien naar meer geschikte componenten.

Daarom is de Raspberry Pi-repo als afgeschreven gemarkeerd op GitHub: het vervolg vraagt op dit moment al mijn energie, en ik zal het in het volgende artikel toelichten.

Dat gezegd zijnde, deze versie blijft open source, beschikbaar en bruikbaar voor wie er mee aan de slag wil. De code staat er, werkend. De bestanden van de behuizing volgen. Als u uw eigen versie bouwt, laat het mij dan weten.

Newsletter

Blijf op de hoogte

Laat uw e-mail achter om de voortgang van het project te volgen en de lancering niet te missen.