-
-
Erfahrener Benutzer
Fleißiges Mitglied
Hallo, jetzt muss ich mich mal auch in diese Diskussion einschalten.
Meiner Meinung nach reden wir hier im Moment über drei Dinge:
- Nachrichten zwischen logischen Einheiten (Aufbau, Syntax)
- Übertragungsmedien für diese Nachrichten (Seriell, IP, ...)
- Bedeutung der Nachrichten (Semantik)
Diese drei Schichten kann und sollte man bei der Diskussion auseinanderhalten. Man kann jede Schicht getrennt entwerfen und sich damit viel Durcheinander ersparen. Ich möchte im folgenden zu den drei Schichten mal meine Meinung abgeben.
1. Nachrichten
Prinzipiell finde ich die Idee einer Nachricht zur Kommunikation in einem Robotersystem sehr gut. Mit Nachrichten lässt sich fast alles abbilden. Direkte Kommunikation, Dienste für gemeinsamen (synchronisierten) Speicher, etc.
Nachrichten sollten folgende Eigenschaften haben:
- einfach genug, um auf uCs verarbeitet werden zu können
(kleiner Protokolloverhead)
- komplex/groß genug, um auch größere Daten zu tragen
(50-100 Bytes sollten schon möglich sein)
- Leicht Maschinen und Menschenlesbar (Konflikt !)
Leichte Maschinenlesbarkeit erhöht die Performanz bei uC Verarbeitung.
Lesbarkeit für Menschen ist für das Debugging wünschenswert.
- Gute Addressierbarkeit, leichtes Routing
Wie können Teilnehmer addressiert werden ?
Wie finden addressierte Nachrichten ihren Weg über verschiedene Übertragungsmedien ?
(IMHO die schwierigste Frage)
2. Übertragungsmedien
Hat man erstmal ein Datenformat definiert, ist es relativ leicht, verschiedene Übertragungsprotokolle für diese Nachrichten zu entwerfen. Hat man bei der Addressierbarkeit gut gearbeitet, kann man diese auch leicht zwischen verschiedenen Medien konvertieren (Bridging).
Dieselben Nachrichten können im Idealfall vom Rechner an einen anderen Rechner per LAN übertragen werden, dort dann über seriell an den uC weitergeschickt werden der die Nachricht dann über I2C an einen zweiten uC schickt.
3. Bedeutung der Nachrichten (Semantik)
In dieser Schicht ist es egal, wie die Nachricht zum Ziel kommt. Diese Schicht arbeitet nur auf der Syntax der Nachrichten und weist den Daten dieser Nachricht eine Bedeutung zu. So wird z.B. aus der Nachricht 'XX XX XX XX' die Bedeutung 'Sensor xx hat Wert yy'. Nachrichten mit festgelegter Bedeutung können nun allgemein verarbeitet werden, angezeigt werden usw.
Eine GUI setzt auf dieser Schicht auf und HW-Komponenten implementieren diese Schicht um Standard-Funktionalität zur Verfügung zu stellen. Auf dieser Schicht kann auch eine Automatische Beschreibung von Komponenten und Sensoren stattfinden.
Bei den Schichten 1+2 würde ich auf jeden Fall mithelfen.
Es kommen sicher noch mehr Beiträge von mir nur heute ists schon spät
.
Georg
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen