Volver al inicio

Integración de equipos de bolos heredados: desafíos y solución

El artículo analiza un caso de tres años de integración de equipos de bolos heredados con una app móvil. Se describen tres problemas clave: restricciones comerciales del fabricante, stack tecnológico obsoleto e inestabilidad de datos. Se presenta una solución mediante ingeniería inversa de la unidad de digitalización de sensores.

Ingeniería inversa del pinsetter: caso de integración de equipos heredados
Advertisement 728x90

# Ingeniería inversa del montapines: Cómo integramos equipo antiguo de bolos con una app móvil

Después de tres años de intentos fallidos para extraer datos de máquinas mecánicas de bolos (montapines), el equipo de Brooklyn Bowl recurrió a la ingeniería inversa de la unidad crítica de digitalización de sensores. Los principales obstáculos fueron una interfaz propietaria, una pila tecnológica obsoleta y la falta de documentación. En este artículo, desglosaremos las peculiaridades arquitectónicas del sistema, por qué los métodos estándar de integración fallaron y la solución que, aunque no es elegante, realmente funciona.

Arquitectura del montapines y flujo de datos

Un montapines mecánico es una máquina compleja que recuerda al cargador automático de un tanque. Después de lanzar la bola, un sensor óptico se activa para detectar el objeto al pasar. Luego, un marco de medición con orificios desciende para verificar la presencia de bolos en cada posición mediante fotodiodos o sondas de contacto. Los datos de los sensores se envían a la unidad NextGen, que los convierte en eventos de juego (como el número de bolos derribados). Esta unidad se conecta a un servidor Dell OptiPlex 3020 (modelo de 2014) mediante una interfaz serial de lazo de corriente propietaria. El servidor gestiona el estado del juego y muestra los resultados en monitores sobre las pistas.

Es crucial entender que la máquina en sí no digitaliza señales: eso lo hace la unidad externa NextGen. Los datos se envían en formato hex crudo sin un protocolo estándar. El sistema carece de soporte para tecnologías modernas como IoT o MQTT, lo que hace extremadamente difícil la integración con sistemas externos (como una app móvil).

Google AdInline article slot

Tres desafíos fundamentales de integración

Los intentos de extraer datos se toparon con tres barreras insuperables:

  • Restricciones comerciales de Brunswick y AMF. Los fabricantes bloquean deliberadamente las integraciones de terceros para monopolizar las ventas de módulos adicionales (por ejemplo, para mostrar puntuaciones en sitios web o integrar con tarjetas de club). Cualquier solución alternativa requiere comprar una licencia, lo que la hace económicamente inviable.
  • Pila tecnológica obsoleta. El servidor Dell ejecuta FoxPro y bases de datos Sybase SQL Anywhere. FoxPro bloquea la base de datos durante las escrituras, lo que hace que el software principal se cuelgue si se lee al mismo tiempo. Sybase necesita controladores ODBC, y las credenciales están enterradas en los binarios de Brunswick, lo que hace el acceso casi imposible sin descompilar.
  • Sin mecanismo de push y datos inestables. El sistema no envía datos en eventos; el servidor los consulta constantemente. Además, el estado del juego puede corregirse: por ejemplo, podría registrar primero dos bolos caídos y luego, al instante, los diez. Estas correcciones asíncronas causan discrepancias en los datos, haciendo imposible un flujo de eventos fiable.

Enfoques fallidos: Analizando las deficiencias

El equipo y los ingenieros contratados probaron cuatro métodos, todos inviables para producción:

  • Leer la base de datos en el servidor Dell. Conectarse a FoxPro o Sybase causaba conflictos de bloqueo y colgaba el software principal. Incluso las lecturas exitosas tenían retrasos inadecuados para apps móviles en tiempo real.
  • Integrar con la unidad NextGen. El acceso directo al lazo de corriente daba datos hex crudos, pero sin documentación, descifrarlos era un rompecabezas. El análisis de tráfico mostró que el formato varía según el estado de la máquina, y las correcciones de estado añadían "ruido" al flujo.
  • Visión por computadora sobre la pista. Instalar una cámara y usar OpenCV para detectar posiciones de bolos requería iluminación y calibración perfectas. En condiciones reales (movimiento de jugadores, sombras, reflejos), la precisión caía por debajo del 70%, lo que lo hacía inaceptable.
  • Reescritura completa de NextGen. Emular la unidad era técnicamente abrumador: necesitaba replicar todas las interacciones del montapines, incluida la gestión de correcciones de estado. El proyecto se estancó en el prototipo por complejidad.

Enfoques como OCR de monitores vía divisor HDMI o emulación de impresora no se probaron: su fiabilidad parecía baja por puntos de fallo adicionales.

Google AdInline article slot

Solución funcional: Reemplazando la unidad de digitalización

La configuración actual hace ingeniería inversa de la unidad NextGen. En lugar de integrar con el sistema legado, los ingenieros construyeron un módulo personalizado que se conecta directamente a los sensores del montapines. Este módulo:

  • Captura señales analógicas de fotodiodos y sondas de contacto.
  • Digitaliza datos a 100 Hz, filtrando activaciones falsas.
  • Genera eventos en formato JSON y los envía al servidor vía MQTT.

La principal ventaja es el aislamiento del sistema legado: el nuevo módulo evita por completo Dell y NextGen, eludiendo todas las restricciones. El inconveniente son las modificaciones físicas en cada máquina, que requieren 2-3 horas de inactividad de la pista. Pero para la red de 12 boleras de Brooklyn Bowl, fue la solución óptima.

Lecciones clave para ingenieros

  • No pierdas tiempo sorteando bloqueos comerciales. Si un fabricante restringe intencionalmente el acceso (como Brunswick), aísla los componentes críticos en lugar de integrar con sistemas legados.
  • Los datos crudos de sensores son tu mejor aliado. En sistemas sin interfaces digitales, conectar directamente a sensores analógicos suele ser más simple que descifrar protocolos propietarios.
  • La ingeniería inversa requiere paciencia. Analizar el tráfico del lazo de corriente tomó 6 meses, pero reveló patrones en los datos hex para filtrar correcciones de estado.

Esta solución no es perfecta, pero funciona. Para otros dueños de boleras con equipo similar, estamos encantados de compartir nuestra experiencia: contactos al final del artículo.

Google AdInline article slot

— Editorial Team

Advertisement 728x90

Leer después