Fernsteuerung eines Messgeräts

Hallo allereseits
Ich möchte mit einem PC über Netzwerk (LAN) ein Messgerät fernsteuern.
Entsprechend der Dokumentation agiert das Messgerät als Server, der fernsteuernde PC als Client.
In der Dokumentation sind jetzt die verschiedenen Befehle aufgeführt, mit denen ich das steuern kann bzw. die als Zeichenkette an den Server gesendet werden (und empfangen).

Problem:
Wie binde ich diese Befehle konkret in ein Programm (am liebsten VBA)ein?
Gibt es so etwas wie "SendString(IP-dresse,Port, „Befehl“) ?

Wäre nett, wenn mir da jemand weiterhelfen könnte.

Gruss

Ratz

Hi,

Na dann darfst du einen Treiber schreiben.
Ist aber nicht all zu schwer wenn das Protokoll nicht zu komplex ist.

Hast du ne Spezifikation ?
Hast du ein Protokollaufbau ?
Was nutzt er für ein Protokoll ?

z.B. ist es ein eigenes Protokoll dann sendest du ByteArrays einer bestimmten Größe.
Meisten mit Anfangs und Endbit. ner Prüfsumme usw.
Und im Inhalt deinen Text.
Das mußt du in dein Array rein bauen.

Oder geht es über das einfache UDP Protokoll, dann würde es ungefähr so aussehen.

System.Net.IPAddress[] ipAddress = System.Net.Dns.GetHostAddresses(„localhost“);
endpoint = new System.Net.IPEndPoint(ipAddress[0], port);
UDPClient udp;
udp.Connect(ipAddress[0], port);

Bsp.Array
sendKeys[0] = Convert.ToByte(‚a‘);
sendKeys[1] = Convert.ToByte(‚b‘);
sendKeys[2] = Convert.ToByte(‚c‘);

Und dann dein Array senden …
udp.Send(sendKeys, 3);

Über TCP müßte es ähnlich gehen.

hoffe dich in die richtige Richtung gelenkt zu haben …

mfg
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo

Ich möchte mit einem PC über Netzwerk (LAN) ein Messgerät
fernsteuern.
Entsprechend der Dokumentation agiert das Messgerät als
Server, der fernsteuernde PC als Client.
In der Dokumentation sind jetzt die verschiedenen Befehle
aufgeführt, mit denen ich das steuern kann bzw. die als
Zeichenkette an den Server gesendet werden (und empfangen).

Wie binde ich diese Befehle konkret in ein Programm (am
liebsten VBA)ein?
Gibt es so etwas wie "SendString(IP-dresse,Port, „Befehl“) ?

Wäre nett, wenn mir da jemand weiterhelfen könnte.

Ich vermute mal, es handelt sich um einen
„Server“, der einfach auf Port xyz wartet,
bis irgend etwas Verwertbares ankommt.

Im einfachsten Fall könntest Du mit
dem Server über ‚netcat‘ (nc) sprechen,
also auf der Kommandozeile (Konsole):

 echo "Befehl" | nc 10.11.12.13 333

Um den Befehl „Befehl“ an der Server 10.11.12.13
auf dessen Port 333 zu schicken

Die Antwort des Servers würde dann auch direkt
angezeigt werden (Standard-Ausgabe).

Wenn das geht, kannst Du aus VB(A) ohne
zu „programmieren“ einfach das Kommando
abschicken.

Netcat findest Du hier,
http://www.vulnwatch.org/netcat/nc111nt.zip
Du mußt es nur auspacken und in ein Verzeichnis
legen, in welchem es beim Aufruf auch gefunden
werden kann.

Grüße

CMБ

Danke erstmal
Hallo

Danke erstmal für die Antworten.

Ich werde dann sehen, ob mich das weiterbringt.

Aber jetzt gibts erstmal Feiertage :smile:

Viele Grüsse

Ratz