# Reverse Engineering des Pinsetters: Wie wir veraltete Bowling-Ausrüstung mit einer Mobile-App integriert haben
Nach drei Jahren fehlgeschlagener Versuche, Daten aus mechanischen Bowling-Maschinen (Pinsetters) zu extrahieren, wandte sich das Team von Brooklyn Bowl dem Reverse Engineering der kritischen Sensordigitalisierungs-Einheit zu. Die größten Hürden waren eine proprietäre Schnittstelle, ein veralteter Technologie-Stack und fehlende Dokumentation. In diesem Artikel analysieren wir die architektonischen Besonderheiten des Systems, warum herkömmliche Integrationsmethoden scheiterten und die Lösung, die zwar nicht elegant ist, aber tatsächlich funktioniert.
Architektur des Pinsetters und Datenfluss
Ein mechanischer Pinsetter ist eine komplexe Maschine, die an den automatischen Lader eines Panzers erinnert. Nachdem der Ball geworfen wurde, löst ein optischer Sensor aus, um das vorbeifliegende Objekt zu erkennen. Anschließend senkt sich ein Messrahmen mit Löchern ab, um mit Photodioden oder Kontaktfühlerprüfungen zu prüfen, ob in jeder Position Pins stehen. Die Sensordaten gelangen in die NextGen-Einheit, die sie in Spielereignisse umwandelt (z. B. die Anzahl umgefallener Pins). Diese Einheit verbindet sich über eine proprietäre Stromschleifen-Serienschnittstelle mit einem Dell OptiPlex 3020-Server (Modell von 2014). Der Server verwaltet den Spielstatus und zeigt die Ergebnisse auf Monitoren über den Bahnen an.
Wichtig zu wissen: Die Maschine selbst digitalisiert keine Signale – das übernimmt die externe NextGen-Einheit. Die Daten werden im rohen Hex-Format ohne Standardprotokoll übertragen. Das System unterstützt keine modernen Technologien wie IoT oder MQTT, was die Integration in externe Systeme (wie eine Mobile-App) extrem erschwert.
Drei grundlegende Integrationsherausforderungen
Versuche, Daten abzurufen, scheiterten an drei unüberwindbaren Barrieren:
- Kommerzielle Restriktionen von Brunswick und AMF. Die Hersteller blockieren absichtlich Integrationen durch Dritte, um den Verkauf von Zusatzmodulen (z. B. für die Anzeige von Ergebnissen auf Websites oder die Integration mit Clubkarten) zu monopolisieren. Jeder Workaround erfordert eine Lizenz, was wirtschaftlich untragbar ist.
- Veralteter Technologie-Stack. Der Dell-Server läuft mit FoxPro und Sybase SQL Anywhere-Datenbanken. FoxPro sperrt die Datenbank während Schreibvorgängen, was die Hauptanwendung zum Absturz bringt, wenn gleichzeitig gelesen wird. Sybase benötigt ODBC-Treiber, und die Zugangsdaten sind in den Brunswick-Binaries versteckt, was den Zugriff ohne Dekompilierung fast unmöglich macht.
- Kein Push-Mechanismus und instabile Daten. Das System pusht keine Daten bei Ereignissen; der Server pollst sie ständig ab. Zudem können Spielstände korrigiert werden: Zum Beispiel registriert es zunächst zwei umgefallene Pins, dann sofort alle zehn. Diese asynchronen Korrekturen verursachen Dateninkonsistenzen und machen einen zuverlässigen Ereignisstrom unmöglich.
Gescheiterte Ansätze: Analyse der Schwächen
Das Team und angeheuerte Ingenieure testeten vier Methoden, die alle für den produktiven Einsatz ungeeignet waren:
- Lesen der Datenbank auf dem Dell-Server. Die Verbindung zu FoxPro oder Sybase führte zu Sperrkonflikten und ließ die Kernsoftware abstürzen. Selbst erfolgreiche Lesevorgänge hatten Verzögerungen, die für Echtzeit-Mobile-Apps untauglich waren.
- Integration mit der NextGen-Einheit. Direkter Zugriff auf die Stromschleife lieferte rohe Hex-Daten, aber ohne Dokumentation war das Dekodieren ein Rätsel. Die Traffic-Analyse zeigte, dass das Format je nach Maschinenzustand variiert, und Statuskorrekturen erzeugten "Rauschen" im Stream.
- Computer Vision über der Bahn. Eine Kamera mit OpenCV zur Erkennung der Pin-Positionen erforderte perfekte Beleuchtung und Kalibrierung. Unter realen Bedingungen (Bewegung der Spieler, Schatten, Blendung) sank die Genauigkeit unter 70 %, was inakzeptabel war.
- Vollständiges NextGen-Um schreiben. Die Emulation der Einheit war technisch anspruchsvoll: Sie musste alle Pinsetter-Interaktionen nachbilden, inklusive der Statuskorrektur-Behandlung. Das Projekt stockte beim Prototyp aufgrund der Komplexität.
Ansätze wie OCR von Monitoren über HDMI-Splitter oder Drucker-Emulation wurden nicht getestet – ihre Zuverlässigkeit schien durch zusätzliche Fehlerquellen gering.
Funktionsfähige Lösung: Ersetzen der Digitalisierungs-Einheit
Die aktuelle Einrichtung reverse-engineert die NextGen-Einheit. Statt Integration in das Legacy-System bauten die Ingenieure ein Custom-Modul, das direkt mit den Sensoren des Pinsetters verbindet. Dieses Modul:
- Erfasst analoge Signale von Photodioden und Kontaktfühler.
- Digitalisiert Daten mit 100 Hz und filtert Fehlauslösungen.
- Erzeugt Ereignisse im JSON-Format und sendet sie per MQTT an den Server.
Der entscheidende Vorteil ist die Isolation vom Legacy-System: Das neue Modul umgeht Dell und NextGen vollständig und entgeht allen Restriktionen. Der Nachteil sind physische Modifikationen an jeder Maschine, die 2–3 Stunden Bahn-Ausfallzeit erfordern. Für das Netzwerk von Brooklyn Bowl mit 12 Bowlingbahnen war es jedoch die optimale Lösung.
Wichtige Erkenntnisse für Ingenieure
- Verschwenden Sie keine Zeit mit Umgehung kommerzieller Sperren. Wenn ein Hersteller absichtlich den Zugriff einschränkt (wie Brunswick), isolieren Sie kritische Komponenten statt Integration in Legacy-Systeme.
- Roh-Sensordaten sind Ihr bester Freund. In Systemen ohne digitale Schnittstellen ist der direkte Anschluss an analoge Sensoren oft einfacher als das Dekodieren proprietärer Protokolle.
- Reverse Engineering erfordert Geduld. Die Analyse des Stromschleifen-Traffics dauerte 6 Monate, enthüllte aber Hex-Datenmuster zur Filterung von Statuskorrekturen.
Diese Lösung ist nicht perfekt, aber sie funktioniert. Für andere Betreiber von Bowlingbahnen mit ähnlicher Ausrüstung teilen wir gerne unsere Erfahrungen – Kontaktdaten am Ende des Artikels.
— Editorial Team
Noch keine Kommentare.