10/02/2020, 16:35
Ho un problema al quale non so dare soluzioni.
Questo è il programma:
Output con python2:
('raw:', '$GNGGA,110503.00,4603.89333,N,01314.66017,E,1,10,0.95,154.4,M,44.1,M,,*4E\r\n')
Time(UTC): 11:05:03-- Latitude: 46 deg 03.89333 min(N)-- Longitude:013 deg 14.66017 min(E)-- Altitute:154.4 m--(10 satellites)
Output con python3:
raw: b'$GNGGA,111238.00,4603.87495,N,01314.66244,E,1,08,1.38,114.1,M,44.1,M,,*4F\r\n'
Ho tolto il futile lasciando solo le parti che potrebbero interessare per capire il problema.
Con Python3 ho un output diverso (b'xxxxxxxxx') che non mi permette di entrare nel loop IF data[0:6] == "$GNGGA":
Perchè queste differenze e come posso ovviarle?
Potrei usare Python2 con cui funziona ma vorrei capire la questione.
Grazie ai volontari
Questo è il programma:
Codice:
import serial
def parseGPS(data):
print ("raw:", data)
if data[0:6] == "$GNGGA":
s = data.split(",")
if s[7] == '0':
print "no satellite data available"
return
time = s[1][0:2] + ":" + s[1][2:4] + ":" + s[1][4:6]
lat = decode(s[2])
dirLat = s[3]
lon = decode(s[4])
dirLon = s[5]
alt = s[9] + " m"
sat = s[7]
print ("Time(UTC): %s-- Latitude: %s(%s)-- Longitude:%s(%s)\
-- Altitute:%s--(%s satellites)" %(time, lat, dirLat, lon, dirLon, alt, sat))
ser = serial.Serial(port="/dev/serial0", baudrate=9600, timeout=0.5)
while True:
data = ser.readline()
parseGPS(data)
Output con python2:
('raw:', '$GNGGA,110503.00,4603.89333,N,01314.66017,E,1,10,0.95,154.4,M,44.1,M,,*4E\r\n')
Time(UTC): 11:05:03-- Latitude: 46 deg 03.89333 min(N)-- Longitude:013 deg 14.66017 min(E)-- Altitute:154.4 m--(10 satellites)
Output con python3:
raw: b'$GNGGA,111238.00,4603.87495,N,01314.66244,E,1,08,1.38,114.1,M,44.1,M,,*4F\r\n'
Ho tolto il futile lasciando solo le parti che potrebbero interessare per capire il problema.
Con Python3 ho un output diverso (b'xxxxxxxxx') che non mi permette di entrare nel loop IF data[0:6] == "$GNGGA":
Perchè queste differenze e come posso ovviarle?
Potrei usare Python2 con cui funziona ma vorrei capire la questione.
Grazie ai volontari