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;