Cuando Classified Cycling se unió al programa Shimano Connected Partners, su aplicación companion necesitaba soportar un nuevo flujo de emparejamiento: conectar los shifters electrónicos Shimano DI2 con el Classified Powershift Hub. La comunicación de hardware entre DI2 y el hub se realiza a través del protocolo inalámbrico propietario D-Fly de Shimano. Nuestra tarea era orquestar ese emparejamiento desde el lado móvil.
Esto no era una simple función BLE de “escanear y conectar”. El emparejamiento D-Fly implica una secuencia de múltiples pasos en la que la aplicación se autentica con el hub, activa el modo de emparejamiento, monitoriza la conexión entre el shifter DI2 y el hub, y registra el resultado con un servicio backend. Si algún paso falla, la aplicación debe guiar al ciclista a través del proceso de recuperación.
Qué hace diferente a D-Fly
El emparejamiento BLE estándar en la aplicación Classified sigue un patrón que ya habíamos construido: escanear un dispositivo, conectar, autenticarse con un handshake de challenge-response, y comenzar a leer características. La aplicación se comunica directamente con el hardware.
El emparejamiento D-Fly es diferente. La aplicación no se conecta directamente al shifter DI2. En cambio, indica al hub de Classified que entre en modo de emparejamiento, y el hub y el shifter DI2 se encuentran mutuamente a través de los canales D-Fly 3 y 4. El rol de la aplicación es autenticarse con el hub a través de un canal de control BLE dedicado, iniciar el modo de emparejamiento, monitorizar las transiciones de estado mientras el hub y el shifter DI2 negocian su conexión, registrar el resultado con el backend, y luego guiar al ciclista para configurar las asignaciones de botones en la aplicación E-TUBE PROJECT de Shimano.
El problema de dependencia de Internet
Un desafío que no habíamos anticipado: el emparejamiento D-Fly requiere una conexión a Internet activa para finalizar el registro. Si el ciclista está en un garaje o taller con WiFi deficiente, el emparejamiento puede tener éxito a nivel de hardware pero fallar al registrarse en el backend.
Construimos una máquina de estados que rastrea el ciclo de vida completo del emparejamiento. Si el registro falla, la aplicación retiene el estado de emparejamiento localmente y reintenta cuando se restablece la conectividad. El ciclista ve exactamente lo que ocurrió y qué debe hacer a continuación.
El flujo de emparejamiento
Desde la perspectiva del ciclista, el flujo es sencillo:
Entre bastidores, la aplicación gestiona la comunicación BLE con el hub, monitoriza las transiciones de estado del emparejamiento, y coordina con un servicio backend para la autenticación.
Véalo en acción
Aquí está el flujo de emparejamiento DI2 para un usuario existente de la aplicación Classified. El hub ya está emparejado, por lo que la aplicación va directamente a la configuración DI2:
Construyendo para el ecosistema Classified
La integración DI2 requirió un enfoque arquitectónico diferente al de nuestros tipos de dispositivos existentes. El handlebar shifter y el ringshifter de Classified son dispositivos BLE “reales” que se emparejan directamente con el teléfono. El shifter DI2 es lo que llamamos un “dispositivo virtual” en la aplicación. Aparece en la interfaz, tiene un flujo de emparejamiento y muestra el estado de conexión, pero el teléfono nunca se conecta directamente a él. Toda la comunicación pasa a través del hub.
Este patrón de dispositivo virtual resultó ser reutilizable. Cuando llegó la integración Vistar // Powershift de TRP, aplicamos la misma arquitectura para el shifter TRP CMD.
Lo que obtienen los ciclistas
Los usuarios de Shimano DI2 ahora pueden cambiar de marcha en el Classified Powershift Hub directamente desde sus shifters DI2 existentes. Sin botón adicional, sin hardware extra. La aplicación gestiona la configuración de emparejamiento única, y después simplemente funciona en la bicicleta.
La integración se presentó en Eurobike 2025 y está disponible como actualización gratuita para todos los usuarios existentes de la aplicación Classified.