Kommunikations-Protokoll
Die verschiedenen Module der Robotersteuerung müssen über ein Protokoll kommunizieren.
Bei dem entwickelten Protokoll werden einzelne Elemente mit “,” getrennt. Ein Befehl wird mit “;” abgeschossen.
Das GUI sendet und empfängt als erstes Element immer die ID vom Empfänger/Sender
Kommandos die zwischen GUI und BTB gesendet werden:
getNxtIds args:NO nxtIds args: id1, id2,… int > 0
NXT-Kommandos:
setPointToVisit args: x, y float 0..1 positionVisited args: x, y float 0..1 setPosition args: x, y float 0..1 getPosition args:NO delPoints args:NO drive args:speed, angle float -1..1, int -180..180
GUI<->Bluetooth
id, ack, cmd, arg1, arg2, argi;
Bluetooth<->NXT
ack, cmd, arg1, arg2, argi;
id = int (id = 0 für BluetoothBridge, weitere für NXT)
ack = bool 0/1 sagt aus ob eine Antwort erwartet wird oder nicht.
Beispielnachrichten:
## kommt vom GUI nach dem Start: ## 0,1,getNxtIds; ## von BTB 0,0,nxtIds,1,2,3,4; ## vom GUI an die einzelnen NXT: ## 1,1,getPosition; 2,1,getPosition; 3,1,getPosition; 4,1,getPosition; ## von BTB an das GUI: ## 1,0,setPosition,0.1,0.2; 2,0,setPosition,0.2,0.3; 3,0,setPosition,0.3,0.4; 4,0,setPosition,0.4,0.5;