from datetime import datetime
import sqlite3
import time
import requests
class db_create():
def __init__(self,lon,lat,speed):
self.lon=lon
self.lat=lat
self.speed=speed
self.time=time.time()
def __str__(self):
return(" Lon={}\n Lat={}\n Speed={}".format(self.lon,self.lat,self.speed))
class decode():
def __init__(self,serial_data):
self.raw_lat=serial_data[3]
self.raw_lon=serial_data[5]
self.speed_knot=serial_data[7]
self.to_decaminal()
def to_decaminal(self):
self.lat=float(self.raw_lat[0:2])+(float(self.raw_lat[2:4])/60)+(float(self.raw_lat[5:7])/3600)
self.lon=float(self.raw_lon[0:3])+(float(self.raw_lon[3:5])/60)+(float(self.raw_lon[6:8])/3600)
self.speed=float(self.speed_knot)*1.85200 #knots to kmh
gprmc="$GNRMC,091805.00,A,3953.300557,N,03252.202539,E,0.102,,200619,,,A*6"#exapmle data string of telnet
if (gprmc[0:6] == "$GNRMC"):
parsed_data=gprmc.split(",")
if (parsed_data[2]=="A"):
decoded_data=decode(parsed_data)
print(db_create(decoded_data.lon,decoded_data.lat,decoded_data.speed))
else:
print("gps error")
It is an example for parsing nmea sentes with python and it creates the db , you need to create serial connection to use with gps receiver.
#gprmc string is example of serial data stream you need to create serial connection to use
http://aprs.gids.nl/nmea/ # here, you can find more information about gps nema sentences