Hardware + software · Onderdeel van Synero · Prototype
Een verkoopautomaat die standaard alleen werkt als hij een server aan de andere kant van de wereld kan bereiken. Wij schreven de software die hem rechtstreeks aanstuurt — en centraal beheerbaar maakt.
01 · Het probleem
Je koopt een machine, zet ze in je zaak — en ontdekt dat ze niets doet zonder toestemming van een server die je niet kent.
Moderne verkoopautomaten zijn computers met een motor erachter. De fabrikant levert er software bij die er mooi uitziet, maar één ding niet doet: werken zonder zijn eigen cloud. Geen verbinding met de servers van de fabrikant, geen product dat valt. En wat er over die verbinding gaat — verkopen, prijzen, tijdstippen — zie je niet.
Voor een uitbater betekent dat afhankelijkheid: van een server in het buitenland, van een app die je niet kunt aanpassen, van prijzen die je alleen via hun systeem wijzigt. En als die dienst ooit stopt, staat er een dure kast die niets meer doet.
Wij wilden het omgekeerde: een machine die luistert naar jouw platform, met jouw data op jouw infrastructuur.
02 · De oplossing
We vervingen de fabrikantssoftware door een eigen Android-app die rechtstreeks met het motorbord praat, via de officiële SDK van de fabrikant. Geen omweg langs de cloud.
Bij het opstarten maakt de machine verbinding met het Synero-platform en wacht ze in een pool tot een uitbater haar claimt. Valt de verbinding weg, dan herverbindt ze vanzelf.
De uitbater koppelt de machine aan zijn zaak en vult per spiraal product, prijs en voorraad in — vanuit het dashboard, zonder naar de machine te lopen.
Een uitgifte gaat in een fractie van een seconde van dashboard naar machine. De motor draait, het product valt, de voorraad zakt met één en de verkoop staat in het logboek.
“De machine kent alleen spiralen. Wat erin zit, wat het kost en wie het mag verkopen — dat weet alleen het platform. Daardoor verandert een prijs zonder dat er ooit een machine geüpdatet moet worden.”
Het ontwerpprincipe
03 · Wat erin zit
Hetzelfde patroon als het bestelplatform: één systeem, elke uitbater zijn eigen omgeving.
De app spreekt het motorbord rechtstreeks aan over de seriële poort. Het bord bevestigt configuratie- en uitgiftecommando's zoals het hoort.
Live uitlezen wat het bord ziet, spiraal per spiraal. Onmisbaar om te weten of een probleem in de software zit of in de kast.
Uitbater → machines → spiralen. Meerdere zaken op één platform, strikt gescheiden, precies zoals bij het Synero-bestelplatform.
Product, prijs, capaciteit en voorraad staan op de server. Aanpassen is een klik; de machine hoeft er niets van te weten.
Wifi even weg? De machine probeert het rustig opnieuw, steeds iets later, tot ze weer online is. Geen handmatige herstart.
Elke uitgifte trekt de voorraad af en schrijft een transactie weg, per machine en per uitbater. Filterbaar, exporteerbaar.
Een nagebootst motorbord laat ons de hele keten testen op een laptop. Dertien automatische tests bewaken dat alles blijft werken.
Bancontact, Payconiq of een betaalterminal vóór de uitgifte — het haakje zit al in de flow. Gepland
Het beheer verloopt nu via de API; de visuele beheeromgeving volgt in de stijl van Synero. Gepland
04 · Onder de motorkap
Uitbater
Kiest machine en product, of een betaling geeft het startsein.
Cloud van Synero
Controleert voorraad en rechten, geeft het commando een nummer en wacht op het resultaat.
Live verbinding
Over een permanente verbinding, in milliseconden.
In de kast
Vertaalt het commando naar de taal van het motorbord.
Motorbord
Product valt. Bevestiging gaat dezelfde weg terug; voorraad en logboek worden bijgewerkt.
Twee programma's, strikt gescheiden. In de kast draait een bewust eenvoudige app: ze kan een spiraal laten draaien en naar huis bellen, meer niet. In de cloud draait het brein: uitbaters, machines, prijzen, voorraad, transacties. Elke uitgifte passeert één centraal punt dat bijhoudt wat er gevraagd is en wat er geantwoord werd.
Het stukje dat met de hardware praat, zit in één afgezonderde module. Klopt daar iets niet, dan stuurt het systeem liever niets dan iets verkeerds — en zegt het duidelijk waarom.
05 · Waarom dit anders is
De machine hoeft geen enkele buitenlandse server meer te bereiken om te werken. Data blijft bij de uitbater, op infrastructuur die hij kent.
De aansturing loopt via de SDK van de fabrikant zelf. Robuust, ondersteund, en netjes.
Alles wat zeker is, is gebouwd en getest. Het ene stukje dat nog op de leverancier wacht, zit geïsoleerd in één functie — de rest van de stack staat er niet door stil.
Een nagebootst motorbord laat ons de hele keten op een laptop draaien. Sneller bouwen, minder risico op de echte machine.
Zelfde multi-tenant-patroon, zelfde denkwijze. Een uitbater met een cafetaria én een automaat beheert straks allebei op één plek.
06 · Wat we onderweg leerden
De fabrikantssoftware stuurt niets naar het motorbord zolang ze haar cloud niet bereikt. Er viel dus niets te bekijken of te vergelijken.
Het bord rechtstreeks leren kennen via de officiële SDK, stap voor stap: welke poort, welke snelheid, welk adres. Elke aanname pas geloven als het bord ze bevestigde.
Eerste commando's werden compleet genegeerd.
Het bord bleek een ander berichtformaat te spreken dan de documentatie van een zusterbord. Na de juiste "taal" antwoordde het meteen op configuratie- én uitgiftecommando's.
Het bord accepteert alles, maar de motoren blijven stil.
Systematisch uitgesloten tot er één verklaring overbleef: de software doet wat ze moet, de motoren zijn elektrisch niet bereikbaar. Dat ligt bij de kast, niet bij de code — en ligt nu bij de leverancier.
Slechts één programma mag tegelijk met het bord praten.
De fabrikantsapp wordt uitgeschakeld en onze app krijgt de poort exclusief. Simpel, maar het scheelt uren zoeken naar spookfouten.
07 · Wat volgt
App, platform, diagnosetool en tests staan. Het bord bevestigt elk commando.
De hardware-/configuratiekwestie oplossen met de leverancier. Daarna de eerste echte uitgifte.
Bancontact, Payconiq of terminal vóór de uitgifte — het haakje in de flow is er al.
Visueel beheer in de stijl van Synero, met de automaat naast de cafetaria.
Database en hosting zoals bij Synero, updates op afstand, en een tweede en derde machine.
Een machine die je zelf wil beheren?