Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: ewrfiweirh 09. 03. 2016, 08:50:49
-
Zdravim osadenstvo. Snazim sa komunikovat s kamerou ktora podporuje telnet. Ako "interface" sa ma pouzit prave python. Kamera standardne reaguje na prikazy s hyperterminalu. Problem je ale python script ktory mi proste nenacita cely vystup s terminalu ale len par znakov a potom ako keby "zamerzne".
Moj kod
import sys
import telnetlib
HOST = "192.168.1.78" #Emulator IP
tn = telnetlib.Telnet(HOST)
print tn.read_eager()
tn.write("admin\r\n") #the user name is admin
tn.write("\r\n") #there is no password - just return - now logged in
print tn.read_eager()
tn.write("\r\n")
print tn.read_very_lazy()
tn.write("\r\n")
tn.write("GI\r\n") #hey camera tell me more about you
print tn.read_very_lazy() #read output
tn.write("SO1\r\n")#set camera online
print tn.read_eager()
sess_op = tn.read_all()
print sess_op
tn.close()
Vysledok je niekedy taky ako ma byt ale niekedy to cele zomrie hned ako sa prihlasim do systemu. Vedel by niekto nasmerovat kde je poroblem ? Dakujem
-
Od pohledu bych čekal, že Ti prostě kamera nestačí poslat všechna data.
Vykašlal bych se na telnetlib, posílal bych to normálníma socketama s blokovacím čtením.
-
Není tam nějaký prompt na který by se dalo vždy čekat a až potom poslat příkaz?