Seite 1 von 1

Telnet Verbindung aufbauen

Verfasst: Mittwoch 9. Juli 2014, 14:36
von dominik123
Hallo zusammen,

ich möchte eine telnet- Verbindung zu einem Messgerät aufbauen. Wenn ich mit IP und Port Commands über PuTTY schicke, bekomme ich die entsprechenden Antworten zurück. Genau diese Funktionalität möchte ich nun in mein Python-Programm implementieren.
Auf sämtlichen anderen Messgeräten konnte ich via socket eine Verbindung aufbauen.

Code: Alles auswählen

equipment = socket.socket()
equipment.connect(IPaddr,Portnr)
Wie müsste der entsprechende Code für eine telnet- Verbindung aussehen?
Vielen Dank im Voraus!

Grüße,
Dominik

Re: Telnet Verbindung aufbauen

Verfasst: Mittwoch 9. Juli 2014, 14:40
von Hyperion
In der Standard-Lib gibt es ein Modul für Telnet: https://docs.python.org/3/library/telnetlib.html

Das solltest Du mal probieren :-)

Re: Telnet Verbindung aufbauen

Verfasst: Mittwoch 9. Juli 2014, 14:48
von dominik123
Auf dieses Modul bin ich bereits gestoßen, allerdings habe ich weiterhin Probleme eine Verbindung aufzubauen.
Wie muss ich die Verbindung aufbauen, wenn ich das Modul "telnetlib" importiert habe?
Stehe leider gerade auf dem Schlauch...

Re: Telnet Verbindung aufbauen

Verfasst: Mittwoch 9. Juli 2014, 15:01
von pillmuncher
@dominik123: Hast du schon das Beispiel aus der Dokumentation ausprobiert?

Re: Telnet Verbindung aufbauen

Verfasst: Mittwoch 9. Juli 2014, 15:11
von dominik123
Ja, scheinbar wird auch eine Verbindung aufgebaut, allerdings kann ich nichts zurücklesen.

Code: Alles auswählen

import telnetlib

tn = telnetlib.Telnet("129.168.3.80",4001)
tn.write("$01I\n")
variable = tn.read_until("z",5)
print (""+variable)
Im Normalfall sollte ein String zurückgelesen werden der in etwa aussieht wie folgt:
(-040.0 -039.5 0050.0 0000.0 0100.0 0100.0 0000.0 0100.0 0000.0 0100.0 0000.0 0000.0 0000.0 0000.0 01000000000000000000000000000000)

Vielen Danke für die bisherigen Antworten!

Re: Telnet Verbindung aufbauen

Verfasst: Mittwoch 9. Juli 2014, 15:18
von dominik123
Ok mit "\r" anstelle von "\n" funktioniert das zurücklesen...

Re: Telnet Verbindung aufbauen

Verfasst: Mittwoch 9. Juli 2014, 16:42
von Sirius3
@dominik123: Historischerweise werden bei Telnet-Verbindungen Zeilen häufig mit \r\n abgeschlossen (ähnlich wie bei HTTP).