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.
		
		
		
		
		
			
		
			
				
					
					
						
							46 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
	
	
							46 lines
						
					
					
						
							1.1 KiB
						
					
					
				| #!/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"))
 | |
| 
 |