UUID - so finden sich die CalliBots von ganz allein

Einleitung

In vielen Calliope-Projekten wird der Funkkanal, über den Geräte miteinander kommunizieren, fest im Programmcode vorgegeben. Das funktioniert zwar in einfachen Szenarien, stößt aber an Grenzen, sobald mehrere Geräte flexibel miteinander interagieren sollen – zum Beispiel in wechselnden Gruppen oder wenn Geräte dynamisch hinzukommen.

Das zentrale Problem:
Die Geräte können nicht eindeutig identifiziert oder gezielt angesprochen werden. Eine skalierbare, individuelle Kommunikation ist auf diese Weise nicht möglich.

Die Lösung ist ein dynamisches Verfahren zur Funkverbindung:
Ein zentraler Controller (Sendegerät) erkennt zur Laufzeit individuelle Teilnehmer (Empfangsgeräte) einer Gruppe und weisst Ihnen eindeutige IDs zu. Statt einen festen Funkkanal zu nutzen, handeln Controller und Teilnehmer während der Kommunikation dynamische Kanäle aus.

Die Vorteile:

👉 Wie dieses Verfahren genau abläuft, zeigt die folgende Schritt-für-Schritt-Anleitung.


Vorbereitung


Schritt 1: Teilnehmer aktivieren


Schritt 2: Controller aktivieren


Schritt 3: Antwort der Teilnehmer


Schritt 4: Bestätigung der Teilnehmer


Schritt 5: Reaktion der ausgewählten Teilnehmer


Schritt 6: Übermittlung der UUID 


Ergebnis


Eindeutigkeit: Wenn zwei oder mehr Teilnehmer zufällig die gleiche ID gewählt haben, dann werden sie dennoch erfolgreich eingerichtet. Da die möglichen IDs im Bereich von 10–100 liegen, ist die Wahrscheinlichkeit einer Kollision jedoch sehr gering. Das Verfahren kann im Schritt 4 - Bestätigung der Teilnehmer entsprechen erweitert werden, dass nur T-IDs angenommen werden, die eindeutig sind. 

Beispielimplementierung

Programm Code Beschreibung
UID zuweisen

uid_fuer_callibots7.xml

 

uid_fuer_callibots7.hex

Das Programm auf alle Geräte der Gruppe spielen und die Empfänger (Callibots) starten.

Nach 5s erscheint auf allen Callibots ein Herz.

Danach den Controller starten und die Taste A drücken. 

Der Controller und die Callibots zählen die Synchronisationsschritte bis auf 1 runter und stellen dann die UUID auf dem Display da. 

Durch Drücken der Taste A am Controller wird die Empängerliste (UUIDs - T-IDs Pärchen) angezeigt.  

Durch Drücken der Taste A am Empänger wird die Eingen UUID und T-ID angezeigt.  








Revision #22
Created 2025-05-26 04:51:12 UTC by Christian
Updated 2025-05-31 06:10:01 UTC by Christian