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"))
							 |