⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dgps_server.py

📁 在linux系统下开发的GPS接收程序,具有良好的图形操作界面.
💻 PY
字号:
#!/usr/env python#------------------------------------------------------------------------------# dgps_server.py : DGPS server that send RTCM correction data##	- programmed by Boyoon Jung (boyoon@robotics.usc.edu)#------------------------------------------------------------------------------import uspp.usppfrom SocketServer import *import socketimport timeimport sysimport threadimport os# constantsDGPSServerPort = 7777# global variablesrtcm_msg = ''counter = 0terminated = 0# DGPS server classclass DGPSServer (BaseRequestHandler):    """    DGPSServer: a TCP server that send RTCM correction data."    """    def handle(self):	"""	process a request from clients.	"""	# global variables	global rtcm_msg	global counter	# local variable	cntr = counter	dir(self)	conn = self.request	try:	    peer = conn.getpeername()	    print '[Info] accepted a request from ', peer, '.'	    # send RTCM messages	    while not terminated:		if cntr != counter:		    conn.send(rtcm_msg)		    cntr = counter		time.sleep(0.1)	except:	    print '[Info] unexpected socket close by a client (', peer, ').'# main functionif __name__ == '__main__':    # default settings    device = '/dev/ttyS0'    baudrate = 9600    # process the command-line arguments    if len(sys.argv) > 1: device = sys.argv[1]    if len(sys.argv) > 2: baudrate = int(sys.argv[2])    # open a seiral port    serial = uspp.SerialPort(device, 100, baudrate)    # start a DGPS server    dgps_server = ThreadingTCPServer(('', DGPSServerPort), DGPSServer)    thread.start_new_thread(dgps_server.serve_forever, ())    # start to send RTCM messages    try:	print 'Started to send RTCM messages.'	while 1:	    # retrieve a RTCM message	    try:		message = ''		while 1:		    message = message + serial.read()	    # send the RTCM message if it is valid	    except uspp.SerialPort_linux.SerialPortException:		if message:		    rtcm_msg = message		    counter += 1		    print message    except:	terminated = 1	print 'Terminated.'

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -