Hoe We Shimano DI2 Integreerden in een Flutter BLE Companion App

Gepubliceerd op June 24, 2025

4 min lezen
Hoe We Shimano DI2 Integreerden in een Flutter BLE Companion App

Toen Classified Cycling toetrad tot het Shimano Connected Partners-programma, moest hun companion app een nieuwe koppelingsflow ondersteunen: het verbinden van Shimano DI2 elektronische shifters met de Classified Powershift Hub. De hardwarecommunicatie tussen DI2 en de hub verloopt via Shimano’s eigen D-Fly draadloze protocol. Onze taak was om die koppeling te orkestreren vanaf de mobiele kant.

Dit was geen eenvoudige “scan en verbind” BLE-functie. D-Fly-koppeling bestaat uit een meerstappenvolgorde waarbij de app zich authenticeert bij de hub, de koppelingsmodus activeert, de verbinding tussen de DI2-shifter en de hub bewaakt, en het resultaat registreert bij een backenddienst. Als een stap mislukt, moet de app de rijder door het herstelproces begeleiden.

Wat D-Fly Anders Maakt

Standaard BLE-koppeling in de Classified-app volgt een patroon dat we al hadden gebouwd: scan naar een apparaat, verbind, authenticeer met een challenge-response handshake, en begin met het lezen van karakteristieken. De app communiceert rechtstreeks met de hardware.

D-Fly-koppeling werkt anders. De app maakt geen directe verbinding met de DI2-shifter. In plaats daarvan vertelt de app de Classified-hub om de koppelingsmodus te activeren, en de hub en de DI2-shifter vinden elkaar via D-Fly-kanalen 3 en 4. De rol van de app is: authenticeren bij de hub via een dedicated BLE-besturingskanaal, de koppelingsmodus starten, de toestandsovergangen bewaken terwijl de hub en DI2-shifter hun verbinding onderhandelen, het resultaat registreren bij de backend, en de rijder vervolgens begeleiden naar de configuratie van knopassignments in Shimano’s E-TUBE PROJECT-app.

Het Internetafhankelijkheidsprobleem

Een uitdaging die we niet hadden voorzien: D-Fly-koppeling vereist een actieve internetverbinding om de registratie af te ronden. Als de rijder zich in een garage of werkplaats bevindt met een slechte WiFi-verbinding, kan de koppeling slagen op hardwareniveau maar mislukken bij de registratie in de backend.

We bouwden een state machine die de volledige koppelingslevenscyclus bijhoudt. Als de registratie mislukt, behoudt de app de koppelingstoestand lokaal en probeert het opnieuw zodra de verbinding terugkeert. De rijder ziet precies wat er is gebeurd en wat hij of zij daarna moet doen.

De Koppelingsflow

Vanuit het perspectief van de rijder is de flow eenvoudig:

01Open de Classified-app terwijl de hub verbonden is
02Selecteer “Shifter toevoegen” en kies “Shimano DI2”
03Volg de checklist op het scherm (hub actief, DI2 in koppelingsmodus, internet verbonden)
04De app regelt authenticatie, activeert koppeling en toont de voortgang
05Na succesvolle koppeling verwijst de app de rijder naar Shimano’s E-TUBE PROJECT-app voor de configuratie van knopassignments

Achter de schermen beheert de app BLE-communicatie met de hub, bewaakt toestandsovergangen tijdens de koppeling, en coördineert met een backenddienst voor authenticatie.

Bekijk Het in Actie

Hier is de DI2-koppelingsflow voor een bestaande Classified-appgebruiker. De hub is al gekoppeld, zodat de app direct naar de DI2-setup gaat:

Bouwen voor het Classified-ecosysteem

De DI2-integratie vereiste een andere architecturale aanpak dan onze bestaande apparaattypes. Classified’s stuurshifter en ringshifter zijn “echte” BLE-apparaten die rechtstreeks koppelen met de telefoon. De DI2-shifter is wat wij in de app een “virtueel apparaat” noemen. Het verschijnt in de UI, heeft een koppelingsflow en toont de verbindingsstatus, maar de telefoon maakt er nooit rechtstreeks verbinding mee. Alle communicatie verloopt via de hub.

Dit virtuele apparaatpatroon bleek herbruikbaar. Toen de Vistar // Powershift-integratie van TRP aan bod kwam, pasten we dezelfde architectuur toe voor de TRP CMD-shifter.

Wat Rijders Krijgen

Shimano DI2-gebruikers kunnen nu de Classified Powershift Hub bedienen rechtstreeks via hun bestaande DI2-shifters. Geen aparte knop, geen extra hardware. De app regelt de eenmalige koppelingsinstallatie, en daarna werkt het gewoon op de fiets.

De integratie werd gepresenteerd op Eurobike 2025 en is beschikbaar als gratis update voor alle bestaande Classified-appgebruikers.