telnet to Cognex In-Sight 4001 camera

chris.annin at gmail.com chris.annin at gmail.com
Mon Feb 25 14:48:46 EST 2013


On Monday, February 25, 2013 9:29:54 AM UTC-8, MRAB wrote:
> 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 "", line 1, in 
> 
> >    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.
> 

yea you are right I shouldnt be doing read_until("User: ") I tried read_until("Password: ") instead but didnt make any difference.  If I use read_all() I just get ,,, like there is nothing to read.  in hyperterminal I had to set the “Send Line Ends with Line Feeds” option for it to work.  I thought by using "\r\n" would emulate the same thing?



More information about the Python-list mailing list