Publish für MQTT integriert
This commit is contained in:
13
nmea0183.py
13
nmea0183.py
@@ -55,18 +55,17 @@ def GGA(boatdata, msg):
|
||||
def GLL(boatdata, msg):
|
||||
# Position data: position fix, time of position fix, and status
|
||||
# UTC of position ignored
|
||||
print(msg.data)
|
||||
if not msg.status == 'A':
|
||||
return
|
||||
lat_fac = 1 if msg.lat_dir == 'N' else -1
|
||||
lat_deg = int(msg.lat[0:2])
|
||||
lat_min = float(msg.lat[2:])
|
||||
print(lat_deg, lat_min)
|
||||
boatdata.setValue("LAT", lat_fac * lat_deg + lat_min / 60)
|
||||
lon_fac = 1 if msg.lon_dir == 'E' else -1
|
||||
lon_deg = int(msg.lon[0:3])
|
||||
lon_min = float(msg.lon[3:])
|
||||
boatdata.setValue("LON", lon_fac * lon_deg + lon_min / 60)
|
||||
boatdata.setValue("TSPOS", msg.timestamp) # datetime.time, UTC
|
||||
|
||||
def GSA(boatdata, msg):
|
||||
# Satellites
|
||||
@@ -297,7 +296,7 @@ def VBW(boatdata, msg):
|
||||
print("-> VBW")
|
||||
|
||||
def VHW(boatdata, msg):
|
||||
print("-> VHW")
|
||||
#print("-> VHW")
|
||||
boatdata.setValue("STW", float(msg.water_speed_knots))
|
||||
|
||||
def VPW(boatdata, msg):
|
||||
@@ -319,15 +318,17 @@ def VTG(boatdata, msg):
|
||||
('FAA mode indicator', 'faa_mode'))
|
||||
['', 'T', '', 'M', '0.117', 'N', '0.216', 'K', 'A']
|
||||
"""
|
||||
print("-> VTG")
|
||||
#print("-> VTG")
|
||||
# msg.true_track true_track_sym
|
||||
# msg.mag_track mag_track_sym
|
||||
# msg.faa_mode
|
||||
#TODO klären was für Typen hier ankommen können
|
||||
# bytearray, str, decimal.Decimal?
|
||||
sog = float(msg.spd_over_grnd_kts)
|
||||
#sog = float(msg.spd_over_grnd_kts)
|
||||
#str von OpenCPN: sog = float(msg.spd_over_grnd_kts[:-1])
|
||||
boatdata.setValue("SOG", sog)
|
||||
#boatdata.setValue("SOG", sog)
|
||||
#print("VTG", msg.spd_over_grnd_kts)
|
||||
print("VTG", msg)
|
||||
|
||||
def VWR(boatdata, msg):
|
||||
# Relative Wind Speed and Angle
|
||||
|
||||
Reference in New Issue
Block a user