telnet to Cognex In-Sight 4001 camera

MRAB python at mrabarnett.plus.com
Mon Feb 25 18:29:54 CET 2013


On 2013-02-25 17:02, chris.annin at gmail.com wrote:
> Hello,  ive been struggling with this for a couple weeks now and was hoping someone might be able to help.  I have an older Cognex camera that I need to communicate with via telnet.  I can get a response from the camera when I initiate a telnet session but I dont seem to get any response when I write the user name to the camera -  I havnt been able to get any response writing anything. Im using python 2.7 and windows xp.  here is the code:
> [code]
>>>>import sys
>>>>import telnetlib
>>>>HOST = "10.31.18.21"
>>>>USER = "admin"
>>>>tn = telnetlib.Telnet(HOST)
>>>>tn.read_until("Login: ")
> "Welcome to In-Sight(R) 4001 Session 1\r\nUser:"

The returned string ends with "User:", presumably the prompt to enter
the username, which makes we wonder whether you should be reading until
"User:" instead of until "Login: ".

>>>>tn.write(USER + "\r\n")

Should you be ending that with just "\r" or just "\n" instead? (That
would be equivalent to typing the username and then pressing the Return
key.)

>>>>tn.read_until("User: ")

Haven't you already seen "User: "?

> Traceback (most recent call last):
>    File "<stdin>", line 1, in <module>
>    File "C:\Python27\lib\telnetlib.py", line 319,
>      return self.read_very_lazy()
>    File "C:\Python27\lib\telnetlib.py", line 395,
>      raise EOFError, 'telnet connection closed'
> EOFError: telnet connection closed
>>>>
> [\code]
>
> if i do a read_all instead of read_until for user I just get "..." returned.  Im assuming tn.write command isnt working?  any help would be greatly appreciated.
>




More information about the Python-list mailing list