Skip to main content

Kommunikation

Überblick

Calliopes senden und empfangen Nachrichten über ein einfaches Funkprotokoll (Nordic EnhancedShockBurst/Gazell). Dafür stellt OpenRoberta Kommunikationsblöcke bereit. Die Kommunikationsteilnehmer müssen den selben Kommunikationskanal gewählt haben und können danach auf diesem Kanal Nachrichten austauschen. Der Calliope mini hat einen kleinen Empfangspuffer, in den empfangene Nachrichten automatisch geschrieben werden. Sender und Empfänger sollten im selben Moment aktiv sein, damit die Nachricht sicher übertragen wird. Eine gesendete Nachricht wird an alle Empfänger (des selben Kommunikationskanals) gleichzeitig übertragen (Broadcast-Verfahren).

Bildschirmfoto 2025-05-31 um 11.48.27.png

Quelle: https://calliope.cc/projekte/funk

Besonderheiten: Senden und Empfangen sind für den Programmfluss nicht blockierend. Das bedeutet, dass eine Nachricht von Sender im Fire-and-Forget Prinzip übertragen wird. Dabei erfolgt keine Prüfung ob die Nachricht tatsächlich beim Empfänger angekommen ist. Der Empfang von Nachrichten ist ebenfalls nicht blockierend. Das heißt, dass der Empfänger den Empfangspuffer ausliest. Sind dort Nachricht enthalten, dann wird die älteste ausgegeben und aus dem Puffer gelöscht. Ist der Empfangspuffer leer, dann wird eine leere Nachricht ausgegeben. 


Beispiel

Bildschirmfoto 2025-05-31 um 12.08.22.png

Name Programm Beschreibung
Zahlen Senden und Empfangen

Zahlen_SendenEmpfangen.xml

Zahlen_SendenEmpfangen.hex

Das Programm auf die 2-n Calliopes spielen.

  1. Die Empfänger werden durch Drücken der Taste B gestartet. Der Calliope zeigt ein E auf dem Display und eine grüne Lampe an. Nun der der Calliope bereit, Nachrichten zur empfangen. 
  2. Der Sender wird durch Drücken der Taste A gestartet. Der Calliope zeigt ein S auf dem Display und eine rote Lampe an. Nach nochmaligem Drücken der Taste A sende der Calliope die Zahlen 1,2,3,4,5 an alle Empfänger.
  3. Die Empfänger zeigen ebenfalls die Zahlensequenz 1-5 an.  

Channel Hopping

Ping-Pong

Channel-hopping-liste.xml

Channel-hopping-liste.hex

Das Programm wird auf zwei Calliopes gespielt. 

  1. Ping - der erste Calliope wird durch Drücken der Taste A gestartet. 
  2. Pong - zweite Calliope durch Drücken der Taste B.

Beide Calliope tausche nun zyklisch die ID des nächsten Kommunikationskanals aus, auf dem Sie die Nachrichten senden und empfangen. Der Kanal wird von beiden Calliope auf dem Display angezeigt.

Beide Calliopes sind versetzt zueinander sowohl Sender als auch Empfänger. Das grüne Licht des Senders wechselt zwischen den beiden Calliopes hin und her. (Ping-Pong)

Anwendungsfälle