12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #!/usr/bin/env python
- #-*- coding: utf-8 -*-
- #-*- coding: cp950 -*-
- import array,time,threading,serial,urllib2,urllib,os,os.path,requests #How to install?? ----> pip install requests
- import traceback
- path_gps='http://www.aisky.com.tw/field/gps.php'
- ser=serial.Serial('/dev/ttyUSB0',9600,timeout=0.1)
- rx_dev_nr = "3"
- case_command = "0"
- def catch_RTK_GPS():
- global rx_dev_nr
- global case_command
- if ser.inWaiting() :
- #if True :
- try :
- x = ser.readline()
- #x = "$GPGGA,140025.00,2503.2423699,N,12136.4594332,E,1,04,1.0,17.259,M,19.013,M,0.0,*7B"
- #print x
- if x[0:6] == "$GPGGA" and len(x) < 90 :
- log = x
- x = x.split(",")
- if x[7] == '0':
- print "no satellite data available"
- if x[2] != "0" and x[4] != "0":
- time_data = x[1][0:2] + ":" + x[1][2:4] + ":" + x[1][4:6]
- lat = x[2]
- lng = x[4]
- print "Time : " + time_data + "/ Lat : " + lat + "/ Lng : " + lng
- mydata=[("dev_nr",rx_dev_nr),("lat",lat),("lng",lng),("log",log)]
- #mydata=[("dev_nr",rx_dev_nr),("lat","2503.5376838"),("lng","12136.8545442")]
- print mydata
- print 'GateWay Catch Nr '+str(rx_dev_nr)+' ok'
- mydata=urllib.urlencode(mydata)
- req=urllib2.Request(path_gps, mydata)
- req.add_header('User-Agent','Magic Browser')
- page=urllib2.urlopen(req).read()
- print time.strftime(' nr '+str(rx_dev_nr)+' command:'+str(case_command)+' %m/%d/%Y'+' %H:%M:%S'+' add ok ')
- x = ""
- y = ""
- print '######################################################################################## \n'
- except Exception, e:
- try :
- print 'traceback.print_exc():'; traceback.print_exc()
- mydata=[("dev_nr",rx_dev_nr),("data_error",traceback.format_exc())]
- mydata=urllib.urlencode(mydata)
- req=urllib2.Request(path_gps, mydata)
- req.add_header('User-Agent','Magic Browser')
- page=urllib2.urlopen(req).read()
- except :
- print ("無法上傳")
- print ("有問題,請確認")
- time.sleep(15)
- print ("開始偵測GPS訊號GO")
- while True :
- catch_RTK_GPS()
- time.sleep(1)
|