Zum Inhalt springen
Hardware

Brainbox Serielles Protokoll Referenz

7 min Lesezeit Aktualisiert Juni 2026

Die Brainbox empfängt Daten von Podcatcher-Geräten über BLE und stellt sie als CSV-Frames über eine USB serial-Verbindung bereit. Interaktive Installationen, Kioske und Individualsoftware können diese Frames auslesen, um in Echtzeit auf Besucheraktionen zu reagieren.

ParameterWert
InterfaceUSB Serial (CDC)
Line delimiter\r\n (CR+LF)
USB Vendor ID0x2dcf
USB Product ID0x6003

Verbinde die Brainbox über USB mit einem Computer. Sie erscheint als standardmäßiger serieller (COM-)Port — auf modernen Betriebssystemen sind keine speziellen Treiber erforderlich.

Aktiviere nach dem Öffnen des seriellen Ports die Brainbox-Konsole und schalte die benötigten Frametypen ein:

<CR> ← send a carriage return (0x0D), wait 300 ms
console tracking 1<CR> ← enable Tracking V2 frames, wait 200 ms
console interactive 1<CR> ← enable Interactive V1 frames, wait 200 ms
version<CR> ← response: "version: 2.5.1"
CommandFunktion
console tracking 1Tracking V2-Ausgabe einschalten
console tracking 0Tracking V2-Ausgabe ausschalten
console interactive 1Interactive V1-Ausgabe einschalten
console interactive 0Interactive V1-Ausgabe ausschalten
console syncdock 1Basecamp-Frames einschalten (noch nicht in der Firmware — siehe AVS-147)
versionFirmware-Version abfragen
helpAlle verfügbaren Befehle anzeigen

Um die Framedaten zu verstehen, hilft es zu wissen, wie Inhalte im Guide-ID CMS organisiert sind:

Site
└── Tour
└── Stop
└── Clip (audio file + optional Interactive Clip Id)
  • Eine Site hat eine oder mehrere Tours
  • Eine Tour enthält einen oder mehrere Stops
  • Ein Stop enthält einen oder mehrere Clips — ein Clip ist der eigentliche Inhalt, in der Regel mit einer verknüpften Audiodatei
  • Jeder Clip hat eine optionale Interactive Clip Id (1–65535), die ihn für interaktive Aufbauten eindeutig identifiziert

Der Wert clipIdUser in den untenstehenden Frames entspricht dieser Interactive Clip Id. Du legst sie pro Clip im CMS unter den Clip-Einstellungen fest.

Clip-Einstellungen im CMS — das Feld Interactive Clip Id unten identifiziert diesen Clip eindeutig für interaktive Aufbauten.

Ein Clip beginnt auf eine der folgenden Arten auf dem Podcatcher abzuspielen:

  • Beacon scan — der Besucher scannt manuell einen Beacon an einem Stop
  • UWB auto-trigger — der Besucher betritt eine Zone und der Podcatcher löst automatisch auf Basis der Nähe aus (UWB-Abstand)
  • Clip flow-Navigation — der Besucher drückt Tasten (Up, Down, Left, Right), um innerhalb eines Stops durch den Clip Flow zu navigieren (z. B. Choice Clips mit mehreren Verzweigungen)

Der Clip Flow im Tour Editor — ein Stop mit mehreren Clips, die über Tastenauswahl (Left, Up) verbunden sind.

Jedes Mal, wenn ein Clip startet, sendet die Brainbox ein Frame mit der entsprechenden Interactive Clip Id — unabhängig davon, wie der Clip ausgelöst wurde.

Alle Frames kommen als CSV-Zeilen über serial an. Das erste Feld (version byte) bestimmt den Frametyp.

Wird ungefähr einmal pro Sekunde für jedes Gerät in Reichweite gesendet. Verwende dies für das Echtzeit-Tracking der Besucherposition, die Akkuüberwachung und den Tastenstatus.

66,pp009071,0xA1B2C3D4E5F60718,1001,150,3700,0x0004,0x0000
#FeldTypBeispielBeschreibung
0versiondecimal66Immer 66
1deviceSerialstringpp009071Seriennummer des Podcatchers (pp + 6 Ziffern)
2visitorIdhex0xA1B2C3D4E5F6071816 Hex-Zeichen (8 Bytes) — 0x0000000000000000 = inaktiv
3clipIdUserdecimal1001Interactive Clip Id des zuletzt aktivierten Clips (0 = keine)
4lastTriggerDistancedecimal150UWB-Abstand in cm (0 = kein Trigger)
5batteryMvdecimal3700Akkuspannung in mV
6keysLasthex0x0004Zuletzt gedrückte Tasten (Bitmaske)
7keysHeldhex0x0000Aktuell gedrückt gehaltene Tasten (Bitmaske)
BitHexButtonBeschreibung
00x0001DownTaste unten
10x0002RightTaste rechts
20x0004CenterTaste mitte
30x0008UpTaste oben
40x0010LeftTaste links
120x1000Volume UpLautstärke einen Schritt erhöhen
130x2000Volume DownLautstärke einen Schritt verringern

Wird jedes Mal gesendet, wenn ein Clip auf einem Podcatcher abzuspielen beginnt — egal ob durch einen Beacon-Scan, einen UWB-Auto-Trigger oder Clip flow-Navigation ausgelöst. Jedes Frame teilt dir mit:

  • Welches Gerät ausgelöst hat (deviceSerial)
  • Welcher Besucher es verwendet (visitorId — eindeutig pro Sitzung)
  • Welche Sprache ausgewählt wurde (NL, EN, DE, FR, ES, IT)
  • Welcher Clip ausgelöst wurde (clipIdUser — die im CMS konfigurierte Interactive Clip Id)
  • Welcher armed code vom Podcatcher gesetzt wurde (requestedVideoCode — in der Regel ein AV-Sync-Videocode)
  • Wie viele Trigger dieser Besucher bisher hatte (sequence)
161,pp009071,A1B2C3D4E5F60718,2005,EN,7,0x0000001A
#FeldTypBeispielBeschreibung
0versiondecimal161161 oder 160 (beide akzeptiert)
1deviceSerialstringpp009071Seriennummer des Podcatchers
2visitorIdhex0xA1B2C3D4E5F60718Visitor ID (eindeutig pro Sitzung)
3clipIdUserdecimal2005Interactive Clip Id des ausgelösten Clips
4languagestringEN2-Zeichen-Sprachcode aus der Trigger-Datei (NL, EN, DE, FR, ES, IT)
5sequencedecimal7Zähler, der pro Trigger hochzählt und nach 255 überläuft
6requestedVideoCodehex0x0000001AArmed code — in der Regel ein AV-Sync-Videocode (0x00000000 = keiner)

Ein Besucher geht mit seinem Podcatcher an einem interaktiven Display vorbei. Das Display empfängt:

161,pp009071,0xA1B2C3D4E5F60718,2005,EN,7,0x0000001A

Das Display weiß nun sofort:

  • Besucher 0xA1B2C3D4E5F60718 → auch am nächsten Display wiedererkennbar
  • Sprache ist Englisch → englische Untertitel oder Texte anzeigen
  • Clip 2005 → die passende Animation abspielen
  • Armed code 0x1A → das diesem Stop zugewiesene AV-Sync-Video abspielen
  • Trigger #7 → der Besucher ist schon eine Weile aktiv, passe die Inhalte entsprechend an

Automatische Sprachanpassung Der Besucher wählt seine Sprache auf dem Podcatcher. Jedes Display im Museum passt sich automatisch an — kein Touchscreen oder Sprachknopf am Display selbst nötig.

Besuchererkennung zwischen Räumen Die visitorId bleibt während des gesamten Besuchs erhalten. Ein Besucher löst ein Display in Raum A aus und geht dann zu Raum B — das dortige Display erkennt dieselbe visitorId und kann personalisieren: “Willkommen zurück, du hast zuvor gesehen…” Kein Login oder QR-Scan erforderlich.

Interaktive Projektionen und Animationen Ein Podcatcher kommt in Reichweite → die Projektion startet automatisch. Mehrere Besucher gleichzeitig? Deine Anwendung sieht alle aktiven visitorId-Werte in der Zone und kann die Inhalte an die Anzahl der Besucher anpassen (Solo-Erlebnis vs. Gruppenerlebnis).

AV-Sync mit externen Displays Wenn ein Besucher einen Stop auslöst, setzt der Podcatcher einen Code (in der Regel einen AV-Sync-Videocode). Dieser requestedVideoCode wird über das Interactive-Frame gesendet. Das verbundene Display gleicht den armed code ab und spielt den entsprechenden Inhalt ab — keine zusätzliche Hardware (Tablet, Touchscreen) nötig.

Verwende bei der Entwicklung einer interaktiven Installation einen seriellen Monitor, um:

  • Live zu debuggen: Frames in Echtzeit eintreffen zu sehen, während du vor dem Display stehst
  • Das Wechseln der Sprache zu testen: die Sprache am Podcatcher ändern und prüfen, ob das Display reagiert
  • Das Timing zu prüfen: Frames treffen innerhalb von 1 Sekunde nach dem Beacon-Trigger ein
  • Mit mehreren Besuchern zu testen: mit 2–3 Podcatchern gleichzeitig testen und alle visitorId-Werte beobachten
War dieser Artikel hilfreich?