import gps, os, time, httplib session = gps.gps() prevlat = 0 prevlon = 0 while 1: os.system('clear') session.query('admoy') # a = altitude, d = date/time, m=mode, # o=postion/fix, s=status, y=satellites uritext = "/projects/gpsl/update.php" print print ' GPS reading' print '----------------------------------------' print 'latitude ' , session.fix.latitude print 'longitude ' , session.fix.longitude print 'time utc ' , session.utc #, session.fix.time print 'altitude ' , session.fix.altitude print 'eph ' , session.fix.eph print 'epv ' , session.fix.epv print 'ept ' , session.fix.ept print 'speed ' , session.fix.speed print 'climb ' , session.fix.climb print 'track ' , session.fix.track uritext = uritext + "?lat=" + str(session.fix.latitude) uritext = uritext + "&long=" + str(session.fix.longitude) uritext = uritext + "&date=" + session.utc[0:10] uritext = uritext + "&time=" + session.utc[11:19] uritext = uritext + "&alt=" + str(session.fix.altitude) uritext = uritext + "&speed=" + str(session.fix.speed) uritext = uritext + "&heading=" + str(session.fix.track) distance = gps.EarthDistance( (session.fix.latitude, session.fix.longitude), (prevlat, prevlon) ) print 'Distance since last fix: ' , distance prevlat = session.fix.latitude prevlon = session.fix.longitude if distance < 3.0: print print "Not updating SQL, distance diff too small." else: httpc = httplib.HTTPConnection("defcon.no") try: httpc.request("GET", uritext) res = httpc.getresponse() print "HTTP result: ", res.status, res.reason htdata = res.read() print htdata except: print "HTTP Get request failed. Not updated" httpc.close() time.sleep(2)