Hallo, mein LPCxpresso lpc1769 angeschlossen über ethernet an einen PC mit windows XP soll folgendes tun: file auf dem PC lesen (Dateiname bekannt), gelesen Daten verarbeiten file auf dem PC löschen file auf dem PC schreiben mit berechneten Daten Zustand des Boards auf dem PC z.B. im Browser darstellen Wie kann ich so etwas realisieren? Bin für jeden Hinweis dankbar Danke im Voraus Klaus
Wenn du Ethernet verwenden willst wäre folgende Methode Möglich: Programmieren einen einfachen Server auf dem Rechner der auf Requests (am besten nutzt du für die Übertragung TCP) von deinem Board reagiert und bei erhalt des Requests den Inhalt der Datei versendet. Der lpcxpresso empfängt dann das Packet (ggf. auch die einzelteile und fügt sie zusammen, sollte aber bereits der TCP/IP Stack erledigen) und verarbeitet nun die empfangenen Daten. Daraufhin eifnach ein weiteres TCP Frame an den Rechner mit den Ergebnissen schicken. Der Rechner löscht dann die Datei und erzeugt die neue mit den nun neuen Daten darin. Das schwierigste wird es sein den Server auf dem Rechner zu erstellen und sich zu überlegen wie du "request Data" und "update Data" im TCP Frame unterscheidest. Da wirst du dir ein eifnaches Proprietäres Protokoll ausdenken das du dann in die TCP Frames einbettest. Das kann dan sehr eifnach erweitert werden für Statusanfragen/-rückmeldungen. Andere Möglichkeit wäre das ganze über USB zu erledigen. Da würde sich der lpcxpresso dann als HID Device am Rechner anmelden (dafür gibt es einen On-Chip USb HID treiber der sehr eifnach zu verwenden ist) und mit einem eifnachen programm über USB mit dem rechner kommunizieren (bei HID Devices ist das sehr eifnach). Rest ist dann genau gleich. zu der USb Variante könnte ich dir auch die wichtigsten Zeilen Code für den lpcxpresso und auf dem Windows XP zusenden. Ist wirklich nicht schwer.
Hallo Albert, vielen Dank für Deine Antwort. Ich denke das mit dem TCP habe ich verstanden. Ich habe gelesen, dass UDP weniger Overhead verursacht, was bei zeitkritischen Anwendungen von Vorteil sein kann. Welche SW auf lpcxpresso könnte ich denn für TCP bzw UDP einsetzen? Etwas aus dem Beispielbereich? re USB: Das ist ein interessanter Vorschlag. Die Kabellänge könnte ein Problem sein, muss ich prüfen. Zur Entscheidungsfindung wäre es sehr schön, wenn Du mir die wichtigsten Zeilen Code schicken könntest. Vielen Dank im Voraus Klaus
Hi sry das ich erst jetzt antworte: Das Problem an UDP wird sein das dabei natürlich auch Packete verloren gehen können. UDP ist zwar besser für Real-Time Anwendungen geeignet und hat nen kleineren Overhead, aber es garantiert die übermittlung eines packetes nicht. TCP garantiert die Übermittlung eines packetes. Wenn das natürlich für deine Anwendung nicht wichtig ist kannst du auch UDP verwenden. Mit der lpcXpresso IDE ist auch eine Portierung von uIP als TCP/IP Stack für die LPC17xx mitgeliefert worden. Im Zip Ordner RDB1768Cmsis2.zip im Ordner Installationsordner_von_LPCXpresso\lpcxpresso\Examples\NXP\LPC1000\LPC17 xx findest du im Projekt RDBCMSIS2_uIP den fertigen uIP Stack und auch seine grundlegende Verwendung. Siehe zu besserem Verstädnis folgende Application note AN10845 Porting uIP1.0 to LPC1700 http://www.nxp.com/documents/application_note/AN10845.pdf Ein anderer möglicher TCP Stack findet sich im Projekt LPCX176x_cmsis2_EasyWeb im ZIP Ordner LPCX176x_cmsis2.zip Den Beispielcode für USB sende ich dir auch mal per Mail zu.
Hallo Albert, vielen Dank für die Antwort besonders auch für den Link. Das mit der Datensicherheit ist schon ein Punkt. Müsste ich wohl mit checksum oder sonstwie absichern. Zumindest für kritische Daten ist dann wohl TCP besser. Über die USB - Teile würde ich mich freuen. Danke im Voraus Klaus
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.