import socket,location,urllib class GPS: def __init__(self): self.connect() def connect(self): self.sock = socket.socket(socket.AF_BT,socket.SOCK_STREAM) address,services = socket.bt_discover() print "Discovered: %s, %s"%(address, services) target = (address, services.values()[0]) print "Connecting to " + str(target) self.sock.connect(target) def close(self): self.sock.close() def getPacket(self): return GPSPacket(self.sock) class GPSPacket: def __init__(self, sock): self.sock = sock ch = self.sock.recv(1) packetReceived = 0 # Loop until packet received while(packetReceived == 0): buffer = "" while(ch !='\n'): buffer+=ch ch = self.sock.recv(1) print buffer # print buffer if (buffer[0:6]=="$GPRMC"): gsmData = buffer.split(",") # Parse the GPS packet self.GPRMC = gsmData[0] self.utc = gsmData[1] self.status = gsmData[2] self.lat = gsmData[3] self.latns = gsmData[4] self.lon = gsmData[5] self.lonew = gsmData[6] self.knots = gsmData[7] self.course = gsmData[8] self.date = gsmData[9] self.xx1 = gsmData[10] self.xx2 = gsmData[11] # Break the loop execution packetReceived = 1 gps = GPS() i = 0 while (i < 10): packet = gps.getPacket() print packet.lat + " " + gps.lon i += 1