Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| embedded_systems:robi2:remote [2011-11-16 13:12] – angelegt niederer | embedded_systems:robi2:remote [2012-01-30 11:40] (aktuell) – Kleinere Ergänzungen als Vorbereitung für aktuellen Stand niederer | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | <box red 80% | **Actung**> | + | <box red 80% | **Actung**> |
| ======Robi2 Remote Interface====== | ======Robi2 Remote Interface====== | ||
| - | Es besteht die Möglichkeit, | + | Es besteht die Möglichkeit, |
| ===== Das Kommunikationsprotokoll ===== | ===== Das Kommunikationsprotokoll ===== | ||
| - | Das Protokoll funktioniert nach dem Request-Response Prinzip wobei jeweils der Client die Requests stellt. Das Protokoll ist als Textformat entworfen. Dies ermöglicht die Überquerung von Plattformen, | + | Das Protokoll funktioniert nach dem Request-Response Prinzip wobei jeweils der Client die Requests stellt. Das Protokoll ist im Textformat entworfen. Dies ermöglicht die Überquerung von Plattformen, |
| + | |||
| + | ====Protokoll==== | ||
| + | Das Framing beschränkt sich auf eine Zeilenweise Trennung der einzelnen Requests und den jeweiligen Responses. Um das Protokoll möglichst zu vereinfachen wird auf eine Versionierung des Protokolls | ||
| + | |||
| + | FIXME Eventuelle, transparente Erweiterung? | ||
| + | Ist ein Aufruf nicht in Ordnung, so wird dem Aufrufer ein Fehlercode zurückgeliefert. In diesem Fall ist das erste Zeichen im Frame ein ' | ||
| + | |||
| + | Eine Beschreibung der möglichen Aufrufe befindet sich im Abschnitt [[ .# | ||
| + | |||
| + | ===Beispiele=== | ||
| + | **Gültige Kommando** | ||
| + | < | ||
| + | Request: | ||
| + | Response: < | ||
| + | </ | ||
| + | < | ||
| + | Request: | ||
| + | Response: 10 0 12 45 100 200 312 450 35 35 32 31 32 31 30 30< | ||
| + | </ | ||
| + | |||
| + | **Ungültige Kommando** | ||
| + | < | ||
| + | Request: | ||
| + | Response: *1 Command Unknown< | ||
| + | </ | ||
| + | |||
| + | ===Formale Beschreibung=== | ||
| + | < | ||
| + | Traffic | ||
| + | Request | ||
| + | Response = [ ReturnValue ] FrameEnd . | ||
| + | |||
| + | Command | ||
| + | Parameter | ||
| + | ReturnValue = [ FixedPoint | ||
| + | | Integer | ||
| + | | ( " | ||
| + | |||
| + | FixedPoint = Integer " | ||
| + | Integer | ||
| + | ErrorCode | ||
| + | Token = ( Grossbuchstabe | Kleinbuchstabe ) { AlphaNumerisch } . | ||
| + | |||
| + | AlphaNumerisch = Grossbuchstabe | Kleinbuchstabe | Digit . | ||
| + | Number | ||
| + | Grossbuchstabe = " | ||
| + | | " | ||
| + | | " | ||
| + | Kleinbuchstabe = " | ||
| + | | " | ||
| + | | " | ||
| + | Digit = " | ||
| + | NonZeroDigit | ||
| + | Delimiter | ||
| + | FrameEnd | ||
| + | </ | ||
| + | |||
| + | ===== Das Objektmodell ===== | ||
| + | ====Client Implementation==== | ||
| + | TODO | ||
| + | |||
| + | ====Server Implementation==== | ||
| + | TODO | ||
| + | |||
| + | =====Befehlssatz===== | ||
| - | Request und Response werden jeweils durch ein Startzeichen FIXME | ||