I did some tinkering this weekend, and came up with a simple APRS to MQTT bridge. Right now it's receiving from APRS-IS only, but could be relatively easily modified to transmit to APRS-IS (assuming you're a legal amateur operator):
https://github.com/mloebl/mqtt-aprs
Uses aprslib from python to parse to custom topics/values:
or can pump on the raw JSON from aprslib:
Feel free to play/fork/comment. Still not 100% perfect, but enough to experiment with for sure. I've been running it all day connected to my local javAPRServer, but no reason since using aprslib, it couldn't connect to an Internet based APRS-IS server.
-Mike
https://github.com/mloebl/mqtt-aprs
Uses aprslib from python to parse to custom topics/values:
Code:
/raw/mike/aprs/KC1BOS-2/raw KC1BOS-2>T3PR5X,KC1BOS-10,WIDE1,AB1OC-10,WIDE2*,qAO,N1MJL:`c,Lr"V>/"5H}TinyTrak4 Mobile /raw/mike/aprs/KC1BOS-2/path [u'KC1BOS-10', u'WIDE1', u'AB1OC-10', u'WIDE2*', u'qAO', u'N1MJL'] /raw/mike/aprs/KC1BOS-2/format mic-e /raw/mike/aprs/KC1BOS-2/icon /> /raw/mike/aprs/KC1BOS-2/latitude 43.043 /raw/mike/aprs/KC1BOS-2/longitude -71.2747 /raw/mike/aprs/KC1BOS-2/distance 30.13 /raw/mike/aprs/KC1BOS-2/altitude 459.317585302 /raw/mike/aprs/KC1BOS-2/comment TinyTrak4 Mobile
Code:
/raw/mike/aprs {'comment': u'WX Station of KD1KE {UIV32N}', 'via': u'T2MAINE', 'posambiguity': 0, 'format': 'uncompressed', 'timestamp': 1521403200, 'symbol': u'_', 'raw': u'KD1KE>APU25N,TCPIP*,qAC,T2MAINE:@182000z4428.85N/06920.58W_188/004g018t026r000p000P000h39b10045WX Station of KD1KE {UIV32N}', 'weather': {'wind_speed': 1.78816, 'wind_gust': 8.04672, 'wind_direction': 188, 'humidity': 39, 'pressure': 1004.5, 'rain_24h': 0.0, 'rain_1h': 0.0, 'rain_since_midnight': 0.0, 'temperature': -3.333333333333333}, 'symbol_table': u'/', 'path': [u'TCPIP*', u'qAC', u'T2MAINE'], 'from': u'KD1KE', 'messagecapable': True, 'longitude': -69.343, 'to': u'APU25N', 'latitude': 44.48083333333334, 'raw_timestamp': u'182000z'} /raw/mike/aprs {'comment': u'iGate Digi Brunswick, NY', 'via': u'T2FEJER', 'posambiguity': 0, 'format': 'uncompressed', 'timestamp': 1521403359, 'symbol': u'#', 'phg': u'8230', 'raw': u'N2JNT-2>APWW10,TCPIP*,qAC,T2FEJER:@200239h4244.58N/07339.32W#PHG8230 iGate Digi Brunswick, NY', 'symbol_table': u'/', 'path': [u'TCPIP*', u'qAC', u'T2FEJER'], 'from': u'N2JNT-2', 'messagecapable': True, 'longitude': -73.65533333333333, 'to': u'APWW10', 'latitude': 42.743, 'raw_timestamp': u'200239h'}
-Mike
Comment