Advertisement
Guest User

Untitled

a guest
Sep 12th, 2017
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.37 KB | None | 0 0
  1. import socket
  2. import time
  3. import pymysql
  4.  
  5.  
  6. HOST='192.168.1.1'
  7. GPSPORT=8888
  8.  
  9. db=pymysql.connect(host='localhost',port=8889,user='root',password='root'
  10. ,database='gpsdata')
  11.  
  12.  
  13.  
  14. def insertposn(posn):
  15. #print("Posn Below passed to DB Loop for Insetingn")
  16. #print(posn)
  17. db=pymysql.connect(host='localhost',port=8889,user='root',password='root'
  18. ,database='gpsdata')
  19.  
  20. sql="INSERT INTO `position`(`latitude`, `latns`, `longitude`, `longew`, `course`, `speed`,`time`)VALUES ('%s','%s','%s','%s','%s','%s','%s')"% (posn['lat'],posn['latns'],posn['long'],posn['longew'],posn['course'],posn['speed'],posn['time'])
  21. #print(sql)
  22. cursor=db.cursor()
  23. cursor.execute(sql)
  24. db.commit()
  25. db.close()
  26. #print("Completed db insertn")
  27. posn={'lat': '', 'long': '', 'time':'', 'latns': '', 'longew': '','course':'','speed':'' }
  28.  
  29. def dataparse(rdata):
  30. ndata=rdata.decode()
  31. ldata=ndata.splitlines()
  32. #print(ldata)
  33. return ldata
  34.  
  35. def extractposn(ldata,posn):
  36. for line in ldata:
  37. if '$GPGLL' in line:
  38. nline=line.split(sep=',')
  39. posn['lat']=nline[1]
  40. posn['latns']=nline[2]
  41. posn['long']=nline[3]
  42. posn['longew']=nline[4]
  43. #print("After Extracting Posn from GPGLL Stringn")
  44. #print(posn)
  45.  
  46. if '$GPVTG' in line:
  47. cline=line.split(sep=',')
  48. posn['course']=cline[1]
  49. posn['speed']=cline[5]
  50.  
  51. if (posn['lat']!='' or posn['long']!='') :
  52. t=time.localtime()
  53. year=t.tm_year
  54. month=t.tm_mon
  55. day=t.tm_mday
  56. hour=t.tm_hour
  57. minute=t.tm_min
  58. second=t.tm_sec
  59. posn['time']=str(year)+'-'+str(month)+'-'+str(day)+' '+str(hour)+':'+str(minute)+':'+str(second)
  60. insertposn(posn)
  61.  
  62.  
  63. mysock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
  64.  
  65. mysock.connect((HOST,GPSPORT))
  66.  
  67. for i in range(0,1000):
  68. posn={'lat': '', 'long': '', 'time':'', 'latns': '', 'longew': '','course':'','speed':'' }
  69. rdata=mysock.recv(1000)
  70. #print("Raw Data receivedn")
  71. #print(rdata)
  72. ldata=dataparse(rdata)
  73. #print("After Splitting data into linesn")
  74. #print(ldata)
  75. extractposn(ldata,posn)
  76. #print(" Value of i=%d" % (i,) )
  77. #time.sleep(0.25)
  78.  
  79. mysock.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement