-
-
Erfahrener Benutzer
Roboter Genie
@ragnar
Ich wollte nicht diskreditieren, schade das es so angekommen ist.
Im Gegenteil find ich gut das aus dem Layer-Gelayer dann doch eine Grundlegend verständliche Struktur (bzw. Erklärung) geworden ist.
(Das war ja nicht vorhersehbar)
Zudem war mir als Quer-Leser bzw. Quereinsteiger in diesem Thread nicht unbedingt gleich klar an welcher Ecke gerade definiert wird.
Layer 1 bis X gibt es nun mal an mehreren Stellen eines "verteilten" Systems.
Ansonsten wie Du schon gesagt hast und ich in späteren Beiträgen erwähnt habe... ich halt mich aus der Hardwareanbindung raus.
Für diese Aufgabe habe ich nicht den nötigen Background um gleich ein Standard daraus zu generieren.
Im Grunde hab ich ja auch nur Wünsche fürs Frontend bzw. die Schnittstellen
... passt schon.
Was soll die GUI alles können ?
Die GUI die ich mir vorstelle ist sehr schmal gehalten.
Und soll in erster Linie eine Software sein um einen Roboter durch das WWW zu steuern und die gängigsten Messdaten zu visualisieren.
Welche Messdaten? da bin ich mir noch nicht einig.
Die Steuerung soll mit Richtungspfeilen realisiert werden.
Das einzige was wirklich sicher ist, ist das eins bis vier Kameras visualisiert werden sollen.
Wie die genau aussehen soll wird die Praxis+Anforderungen entscheiden.
Die WWW-GUI soll aber "kein" Bestandteil der hier behandelten Standardisierung sein!
Es wäre zu weitgreifend hier über weitergehenden Technischen Schnickschnack zu plaudern.
Ich möchte nur irgendwo aufsetzen können (eine Schnittstelle) ... der Rest hat dann wieder mehr mit CGI + Content-Menagement-Systemen zu tun.
Es ist lediglich eins von X Anwendungsbeispielen.
Die internas/features der WEB-GUI könnte ich nun zwar noch aufdröseln, aber das würde nix zur Sache beitragen.
Es ist ja gerade kompliziert bis verwirrend genug wenn an zwei Enden diskutiert wird.
Ich beantworte aber im Rahmen meiner Entwicklung gerne Fragen im Detail ... Mail ... die keine Elementarerklärung zur folge haben.
Der erzwungene Standard durch den AppServer währe folgender.
Dei Module müssen vom AppServer geladen werden können um im System mit anderen Teilen zu Funktionieren.
...wird erzwungen durch eine DLL Schnittstelle die verwendet bzw. implementiert werden muss.
Weitergehend sollten die Businessobjekte (Module/treibe etc.) alle von einem Masterobjekt abgeleitet werden und dessen Funktionen verwenden.
(im Falle von C eine statische Lib)
...diese abgeleiteten/bzw. verwendbaren Funktionen beschreiben die interne Schnittstelle (programmiertechnisch).
Die Kommunikation erledigt der AppServer ... wenn alles so läuft wie ich es mir erdacht habe... wird der Programmierer des Treibers kein SMIRS oder XML zu Gesicht bekommen... sondern nur die vorhandenen Funktionen bedienen.
Der Appserver ist im weiten Sinne als LoginServer des SMIRS oder als Proxi/Router der Module zu verstehen.
Ich möchte das Ding auch nur bauen um eine Programmierschnittstelle und kein Protokoll zu haben.
...
Dieser (Teil) Standard ist dann nur die Programmierschnittstelle zum ganzen.
Wieder Beispiel Web-GUI (wie geh ich vor):
1.Ich installiere das System (Appserver + Module)
2.Lese die Schnittstellenbeschreibung
3.(Programmierbeginn) Ich leite das Masterobjekt ab und habe die Funktionen die ich für das anhacken der anderen Systemteile brauche.
4.Ich überlege mir von welchem Modul ich welche Daten brauche. ... ich brauch nur das Bild
5.Programmabel sage ich (durch die Funktionen) Modul "CAM" gib mir "BILD1"
6.Da ich auf dem System aufsetze und nicht auf der Hardware selbst bekomme ich ein Bildobjekt (das Format ist von Modul "CAM" bestimmt)
7.Das bild ist nun in meinem Modul und ich habe die Freiheit damit zu tun was ich möchte...
8.Ich schicke es über CGI an meinen Webserver wo schon ein Script darauf wartet.
9.Nun will ich Den Roboter Steuern (also ein anderes Modul mit Daten versorgen)
10.Ich Frage den Webserver ob einer die Steuerung bedient hat. (Fernab vom System den ich bin ja nur Nutzer wie alle Module anderen auch)
11.Der Webserver erzählt mir JA und zwar 10 cm vorfahren.
12.Programmabel sage ich nun wieder (durch die Funktionen) Modul "DUALMOTORSTEUERUNG" "POWER_ENGINE_A" "10"
13.Programmabel sage ich nun wieder (durch die Funktionen) Modul "DUALMOTORSTEUERUNG" "POWER_ENGINE_B" "10"
14.Programmabel sage ich nun wieder (durch die Funktionen) Modul "DUALMOTORSTEUERUNG" "WEGSTRECKE" "1000"
15.Programmabel sage ich nun wieder (durch die Funktionen) Modul "DUALMOTORSTEUERUNG" "RUN" "TRUE"
16.Programmabel erzählt mir (durch die Funktionen) Modul "MOTORSTEUERUNG" "SENSOR_ERROR" "SENSOR1"
...oder
12.Programmabel sage ich nun wieder (durch die Funktionen) Modul "EASY_NAVYGATOR" "FORWARD" "10000"
...oder
12.Programmabel sage ich nun wieder (durch die Funktionen) Modul "2D_NAVIGAROR" "ABS_POS_X" "121"
13.Programmabel sage ich nun wieder (durch die Funktionen) Modul "2D_NAVIGAROR" "ABS_POS_Y" "12"
14.Programmabel sage ich nun wieder (durch die Funktionen) Modul "2D_NAVIGAROR" "RUN" "TRUE"
...oder
12.Programmabel sage ich nun wieder (durch die Funktionen) Modul "WEBROBOTER" "FORWARD_10"
xx.Programmabel erzählt mir (durch die Funktionen) Modul "xxxxxxxxx" "SENSOR_ERROR" "SENSOR1"
xx. Ich schicke meinem Webserver das es ein netter Versuch war aber er sollte die nächste Version des Programms abwarten.
... so im groben.
Welche Befehle für die unkomplizierte Kommunikation unter den Modulen sinnvoll sind und welche nicht wird die Praxis zeigen.
(oben schon erzählt)
Die Datentypen bzw. Definitionen / Parameter / werden vom Modul selbst festgelegt...
...vielleicht in einem XML-Mapping direkt neben der vorgeschriebenen Config jedes Moduls.
...
Das ist ja nur der Begin und die Überlegung der Geschichte meinerseits.
Ob der AppServer dann auch SMIRS-Geschichten über einen SCHNITTSTELLEBMODUL_SMIRS macht oder gleich dies in erweiterter Form verwendet...
...
Das nach Marketing-Gefasel ist nur gewählt um Breitbandig ... Intensionen zu vermitteln 
...
Ich hoffe das ich manches Beantwortet habe.
Ich bin leider erst nächste Woche wieder da...
Netter Gruß,
Chris
EDIT:
Gerade erst das Thema des Threads nochmal gelesen.
Diese Schnittstelle zum WWW hat dann nochmal 10 Seiten zur Folge...
...glatt überlesen.
Wenn ich das Ding (WWW-GUI) schreibe im RFC Standard und in Verbindung mit dem hier Beschrieben Standards für alle Layer aufsetze sollte es genügen. Denn darüber zu plaudern dauert fast länger als einen Prototype zu entwerfen
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen