Hallo zusammen, ich schreibe gerade an einer kleinen Anwendung die auf dem uC laeuft. Die Steuerung (GUI) und Teile der Berechnungen (da zu komplex fuer den uC) wollte ich auf einen PC auslagern. Auf dem uC programmiere ich in C. Auf dem PC wollte ich Java verwenden mit der rxtx library. Meine Frage ist nun, wie ich am geschicktesten den Datenaustausch zwischen den beiden hinbekomme. Ich habe da leider gar keine Erfahrung :-) Gibt es da vorgefertigte Protokolle? Das hier habe ich hier im Forum in einem alten thread gefunden: http://www.ibrtses.com/embedded/shortmsgprotocol.html Geeignet? Alternativvorschlaege? Gibt es dazu evtl. ein gutes Tutorial?
Am einfachste ist es wenn du einfach dein eigenes Protokoll definierst. Diese hängt natürlich davon ab WAS du genau mit dem uC absprechen willst. Im Einfachsten Fall sendest du einfach ASCII Kommandos hin und her, der Zeilenumbruch ist dann das Begrenzerzeichen. so kannst du das ganze auch mal ohne "dein" Programm mit einem simplen Terminal testen.
Vincent I. schrieb: > Gibt es da vorgefertigte Protokolle? Natürlich gibt es die, die Frage ist halt wie kompliziert oder wie einfach Du es brauchst. XCP zum Beispiel wird im Automobilbereich eingesetzt: http://www.asam.net/index.php?option=com_content&task=view&id=124&Itemid=206 Allerdings bräuchte man dann einen zumindest teilweise implementierten Protokollstack auf beiden Seiten, ich denke mal das wird für Deine Anwendung eher Overkill sein. Wenn Du uns verraten würdest, welche Datenmenge pro Zeit und was für Datentypen Du so benötigst, könnte man Dir eher weiterhelfen...
Also die Anwendung ist eher klein: Es sollen RFID-Tags ausgelesen werden. Die ausgelesene ID an den PC uebermittelt werden. Umgekehrt sollen daten (bis zu 256 Bytes) an den uC uebertragen werden koennen, der diese dann auf ein Tag schreibt. Das war es auch schon :-) Ich hatte eben gehofft, dass es da von beiden Seiten aus evtl. ein Minimal-Protokoll-Stack gibt, den man ganz einfach nutzen kann. Ansonsten muss ich da wohl selber dran :-)
Die Anforderungen, Punkt-zu-punkt, sichere Verbindung, variable Blockgroesse, bedeutet eine Meldungsstruktur wie : Startbyte (1 oder mehr byte) Datengroesse (2 byte) Command (Lesen oder Schreiben = 1 byte) Daten [] ( >=256 byte ) CRC (2 byte) Sowas kann man in einer Zustandsmaschine beim Empfangen abspulen.
Ich würde jedenfalls ein Blick auf LLRP http://www.llrp.org werfen (selbst wenn es für deine Applikation überdimensioniert sein mag).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.