Op het randje van 2019 (nou, vooruit: net óver het randje) hielden we onze jaarlijkse hackathon. Dit jaar klusten de speciaal voor de gelegenheid samengestelde teams er vlijtig op los en met resultaat: 36 uur na de start van dit feest was Infi een racesimulator, een gepersonaliseerde deurbel, een sprekende vis en nog meer gekheid rijker.
Jeroen, Danny, Sander, Corné en Laurens doen verslag!
Team Deurbel
Stel je voor, je ziet (levensgroot) op het raam naast onze kantoordeur een semi-transparant overzicht van de aanwezige teams. Je bent blij verrast! Je kan direct al zien dat degene voor wie je komt aanwezig is.
Je wordt ook uitgenodigd om direct met Touch op het raam ‘aan te bellen’ – de bel gaat af, met custom ringtone. Degene die je ontvangt ziet dat direct in Slack, en drukt op een knopje om te laten weten dat ze de deur open gaan doen. Alle andere Infiërs zien dat ook, en bovendien zie jij op het raam door wie je wordt opgehaald!
Science Fiction? Neen! We hebben op de Infinithon 2019+1 een werkend prototype gebouwd. En als er een stemming voor een winnaar was gehouden, hadden we ongetwijfeld gewonnen!
Team Temperatuur
Met team Temperatuur hebben we aan een oplossing gebouwd om de temperatuur, luchtvochtigheid en CO2-niveaus zichtbaar te maken. Hiervoor hebben we gewerkt met de Wemos D1 Mini samen met een aantal shields. De sensordata wordt middels Domoticz verrijkt en naar de backend gestuurd, die de opslag in InfluxDB regelt en een API beschikbaar stelt aan de frontend. Allemaal zo ingeregeld dat updates aan de backend en frontend middels Ansible worden gereleased.
De technische uitdaging was om de hele keten op tijd te creëren, waarbij het begon met het solderen. Dan is het wel handig als je het niet op z’n kop soldeert, anders past het niet zo goed ;-). Toen er ergens rond het middaguur data binnenkwam, werd er hard aan de backend en de frontend gewerkt. Om het project af te ronden is er nog wat tijd na de Infinithon nodig om straks deze data op de schermen te tonen.

Team Happininfinimeter
Tijdens de afgelopen Infinithon hebben Daniel, Wilco en ik gewerkt aan de Happininfinimeter! Hiermee kan iedereen bij binnenkomst aangeven hoe de ‘stress/drukte-index’ van die dag is voor hem/haar persoonlijk. Zit je wat minder lekker in je vel (moe, slecht geslapen, krakkemikkig), heb je last van stress, of gaat alles juist heerlijk? Laat het weten via het scherm bij de ingang! Zodra een stem wordt uitgebracht, toont de LED-strip langs de ramen hoe het overall gaat met iedereen die tot dan toe gestemd heft (in een combinatie van rood, geel of groen – uiteraard afhankelijk van de uitgebrachte stemmen).
Technisch gezien zat de belangrijkste uitdaging in de LED-strip langs de ramen. Tijdens een eerdere Inifinithon was deze strip al gemaakt met een API, maar die had nog geen ondersteuning voor wat wij wilden weergeven. Er moest dus een nieuwe versie van de API gemaakt worden, en die moest vervolgens op de Raspberry Pi gezet worden. Terwijl Wilco en ik bezig waren met de back- en front-end van de applicatie voor het stemmen, was Daniel druk bezig om uit te zoeken hoe ons gewenste patroon gemaakt kon worden op de LED-strip.
Natuurlijk ging het mis bij het uploaden van de nieuwe LED-strip API naar de Rapsberry Pi: ineens deed de LED-strip helemaal niks meer! Daniel is vervolgens een aantal uur bezig geweest om uit te vogelen wat daar misgegaan was, met hier en daar wat hulp van collega’s die de eerdere versie gemaakt hadden, en dat is uiteindelijk helemaal goed gekomen natuurlijk.
Zaterdag de schone taak aan met name Wilco om de applicatie die wij samen gemaakt hadden te koppelen aan de nieuwe LED-strip API van Daniel. Vanuit het zwembad en huis was ik bezig om de applicatie te fine-tunen, en heeft Wilco ervoor gezorgd dat het resultaat van de stemmen automatisch getoond wordt op de LED-strip langs de ramen. Benieuwd hoe het geworden is? Kom dan eens langs en breng je stem uit!

Team De Vis
Op het kantoor in Amsterdam hebben wij een Big Mouth Billy Bass waar we dagelijks gebruik van maken, maar het enige nummer dat deze vis zingt, “I will survive”, begon na een half jaar wel een beetje te vervelen. Ons doel was daarom om de vis te modden zodat we deze kunnen voorzien van onze eigen geluiden met bijbehorend gespartel. Om dit te bereiken was het masterplan om de vis uit te rusten met een arduino + motor shield voor de beweging, raspberry pi voor de geluidsbibliotheek en API waarmee we via de spiksplinter nieuwe Flutter app de vis kunnen aansturen, zie hier het UML diagram:

Dit ging natuurlijk niet zonder slag of stoot; onze proefvis heeft het niet overleefd en we kwamen er na een uurtje kloten met de arduino achter dat motortjes liever stroom uit het stopcontact krijgen dan uit de laptop. Uiteindelijk is alles goedgekomen en begonnen we diep in de nacht al met stretch goals zoals Text To Speech, eigen geluiden uploaden via de app en nog meer. We kunnen dus weer jaren plezier hebben van onze vis Billy Bass.
Team Samagotchi
Bij Infi worden we vaak verblijd met de aanwezigheid van onze favoriete hond Sambal. Helaas is deze vrolijke snuiter er niet elke dag. Daarom heeft Niels de perfecte oplossing bedacht: Sambal in tamagotchi-vorm, oftewel een Samagotchi! Samen met Susanne, Joralf, Jolanda en Laurens is dit in elkaar gezet tijdens de Infinithon.
Omdat een Samagotchi wel handzaam moet zijn, hebben we gekozen voor een Raspberry Pi met een 2,7 inch e-ink scherm. Een uitdaging met dit scherm is dat het verversen tijd kost, dus we konden niet al te gekke animaties laten zien. Aan de andere kant kost het scherm weinig stroom en is het perfect afleesbaar in elk licht.
We hebben een lijstje gemaakt van de dingen die Sambal nodig heeft (zoals slapen, aandacht en VEEL wortels) en bij elke behoefte een bijpassend plaatje bedacht.

Daardoor kan het nog lastig zijn: als ze haar tong uit haar bek laat hangen, heeft ze dan honger of is ze gewoon moe? Als je niet oplet, wordt Sambal steeds verdrietiger. Gelukkig (of, volgens sommige teamleden, helaas) kan Sambal in de Samagotchi niet dood gaan. Met de knopjes onderaan het scherm kies je een bijpassende oplossing voor Sambals behoefte. Verwend als ze is komt er dan ook gelijk weer een nieuwe behoefte te voorschijn. Heb je even geen zin om voor de hond te zorgen, is er ook de optie om even lekker op je mobiel te gaan zitten. Die hond zorgt maar zelf voor haar eten, nu even tijd voor jezelf!
Al met al was dit een leuk project, waardoor we ons nu geen zorgen meer hoeven te maken als Sambal er niet is: de Samagotchi wil altijd wel een wortel. Woef!
En dan was er nog team Racesimulator, die – je raadt het al – een eigen racesimulator hebben gebouwd. Awesome! Binnenkort lees je hoe ‘ie precies werkt (en hoe je dit thuis ook kunt doen).