You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					47 lines
				
				1.1 KiB
			
		
		
			
		
	
	
					47 lines
				
				1.1 KiB
			| 
											8 years ago
										 | #!/usr/bin/env python
 | ||
|  | from __future__ import print_function
 | ||
|  | import socket
 | ||
|  | import threading
 | ||
|  | import select
 | ||
|  | 
 | ||
|  | class Reader(threading.Thread):
 | ||
|  |     def __init__(self, s, *args, **kwargs):
 | ||
|  |         super(Reader, self).__init__(*args, **kwargs)
 | ||
|  |         self._s = s
 | ||
|  |         self.__stop = False
 | ||
|  | 
 | ||
|  |     def stop(self):
 | ||
|  |         self.__stop = True
 | ||
|  | 
 | ||
|  |     def run(self):
 | ||
|  |         while not self.__stop:
 | ||
|  |             s.recv(1000)
 | ||
|  | 
 | ||
|  | def read_or_fail(s):
 | ||
|  |     ready = select.select([s], [], [], 4)
 | ||
|  |     assert ready[0], "Socket did not receive data within the timeout duration."
 | ||
|  |     return s.recv(1000)
 | ||
|  | 
 | ||
|  | def send_msg(s, msg):
 | ||
|  |     s.send(msg)
 | ||
|  |     res = b''
 | ||
|  |     while not res.endswith(">"):
 | ||
|  |         res += read_or_fail(s)
 | ||
|  |     return res
 | ||
|  | 
 | ||
|  | if __name__ == "__main__":
 | ||
|  |     s = socket.create_connection(("192.168.0.10", 35000))
 | ||
|  |     #t1 = Reader(s)
 | ||
|  |     #t1.start()
 | ||
|  |     send_msg(s, b"ATZ\r")
 | ||
|  |     send_msg(s, b"ATL1\r")
 | ||
|  |     print(send_msg(s, b"ATE0\r"))
 | ||
|  |     print(send_msg(s, b"ATS0\r"))
 | ||
|  |     print(send_msg(s, b"ATSP6\r"))
 | ||
|  | 
 | ||
|  |     print("\nLOOP\n")
 | ||
|  | 
 | ||
|  |     while True:
 | ||
|  |         print(send_msg(s, b"0100\r"))
 | ||
|  |         print(send_msg(s, b"010d\r"))
 |