add APRS beacon script for gps_data
This commit is contained in:
commit
fe1daeb406
16
gps_data.py
16
gps_data.py
@ -58,7 +58,7 @@ import datetime
|
|||||||
from bitarray.util import ba2int as ba2num
|
from bitarray.util import ba2int as ba2num
|
||||||
from bitarray.util import ba2hex as ba2hx
|
from bitarray.util import ba2hex as ba2hx
|
||||||
import codecs
|
import codecs
|
||||||
|
import time
|
||||||
#Needed for working with NMEA
|
#Needed for working with NMEA
|
||||||
import pynmea2
|
import pynmea2
|
||||||
|
|
||||||
@ -238,7 +238,7 @@ def process_sms(_rf_src, sms):
|
|||||||
logger.info('Longitude: ' + str(aprs_lon))
|
logger.info('Longitude: ' + str(aprs_lon))
|
||||||
user_settings = ast.literal_eval(os.popen('cat ./user_settings.txt').read())
|
user_settings = ast.literal_eval(os.popen('cat ./user_settings.txt').read())
|
||||||
if int_id(_rf_src) not in user_settings:
|
if int_id(_rf_src) not in user_settings:
|
||||||
aprs_loc_packet = str(get_alias(int_id(_rf_src), subscriber_ids)) + '-' + str(user_ssid) + '>APRS,TCPIP*:/' + str(datetime.datetime.utcnow().strftime("%H%M%Sh")) + str(aprs_lat) + '/' + str(aprs_lon) + '[/' + aprs_comment + ' DMR ID: ' + str(int_id(_rf_src))
|
aprs_loc_packet = str(get_alias(int_id(_rf_src), subscriber_ids)) + '-' + str(user_ssid) + '>APHBL3,TCPIP*:/' + str(datetime.datetime.utcnow().strftime("%H%M%Sh")) + str(aprs_lat) + '/' + str(aprs_lon) + '[/' + aprs_comment + ' DMR ID: ' + str(int_id(_rf_src))
|
||||||
else:
|
else:
|
||||||
if user_settings[int_id(_rf_src)][1]['ssid'] == '':
|
if user_settings[int_id(_rf_src)][1]['ssid'] == '':
|
||||||
ssid = user_ssid
|
ssid = user_ssid
|
||||||
@ -254,7 +254,7 @@ def process_sms(_rf_src, sms):
|
|||||||
ssid = user_settings[int_id(_rf_src)][1]['ssid']
|
ssid = user_settings[int_id(_rf_src)][1]['ssid']
|
||||||
if user_settings[int_id(_rf_src)][3]['comment'] != '':
|
if user_settings[int_id(_rf_src)][3]['comment'] != '':
|
||||||
comment = user_settings[int_id(_rf_src)][3]['comment']
|
comment = user_settings[int_id(_rf_src)][3]['comment']
|
||||||
aprs_loc_packet = str(get_alias(int_id(_rf_src), subscriber_ids)) + '-' + ssid + '>APRS,TCPIP*:/' + str(datetime.datetime.utcnow().strftime("%H%M%Sh")) + str(aprs_lat) + icon_table + str(aprs_lon) + icon_icon + '/' + str(comment)
|
aprs_loc_packet = str(get_alias(int_id(_rf_src), subscriber_ids)) + '-' + ssid + '>APHBL3,TCPIP*:/' + str(datetime.datetime.utcnow().strftime("%H%M%Sh")) + str(aprs_lat) + icon_table + str(aprs_lon) + icon_icon + '/' + str(comment)
|
||||||
logger.info(aprs_loc_packet)
|
logger.info(aprs_loc_packet)
|
||||||
try:
|
try:
|
||||||
aprslib.parse(aprs_loc_packet)
|
aprslib.parse(aprs_loc_packet)
|
||||||
@ -288,6 +288,7 @@ class DATA_SYSTEM(HBSYSTEM):
|
|||||||
# Capture data headers
|
# Capture data headers
|
||||||
global n_packet_assembly
|
global n_packet_assembly
|
||||||
#logger.info(_dtype_vseq)
|
#logger.info(_dtype_vseq)
|
||||||
|
logger.info(time.strftime('%H:%M:%S - %m/%d/%y'))
|
||||||
if int_id(_dst_id) == data_id:
|
if int_id(_dst_id) == data_id:
|
||||||
#logger.info(type(_seq))
|
#logger.info(type(_seq))
|
||||||
if type(_seq) is bytes:
|
if type(_seq) is bytes:
|
||||||
@ -340,7 +341,7 @@ class DATA_SYSTEM(HBSYSTEM):
|
|||||||
user_settings = ast.literal_eval(f.read())
|
user_settings = ast.literal_eval(f.read())
|
||||||
user_settings = ast.literal_eval(os.popen('cat ./user_settings.txt').read())
|
user_settings = ast.literal_eval(os.popen('cat ./user_settings.txt').read())
|
||||||
if int_id(_rf_src) not in user_settings:
|
if int_id(_rf_src) not in user_settings:
|
||||||
aprs_loc_packet = str(get_alias(int_id(_rf_src), subscriber_ids)) + '-' + str(user_ssid) + '>APRS,TCPIP*:/' + str(datetime.datetime.utcnow().strftime("%H%M%Sh")) + str(loc.lat[0:7]) + str(loc.lat_dir) + '/' + str(loc.lon[0:8]) + str(loc.lon_dir) + '[' + str(round(loc.true_course)).zfill(3) + '/' + str(round(loc.spd_over_grnd)).zfill(3) + '/' + aprs_comment + ' DMR ID: ' + str(int_id(_rf_src))
|
aprs_loc_packet = str(get_alias(int_id(_rf_src), subscriber_ids)) + '-' + str(user_ssid) + '>APHBL3,TCPIP*:/' + str(datetime.datetime.utcnow().strftime("%H%M%Sh")) + str(loc.lat[0:7]) + str(loc.lat_dir) + '/' + str(loc.lon[0:8]) + str(loc.lon_dir) + '[' + str(round(loc.true_course)).zfill(3) + '/' + str(round(loc.spd_over_grnd)).zfill(3) + '/' + aprs_comment + ' DMR ID: ' + str(int_id(_rf_src))
|
||||||
else:
|
else:
|
||||||
if user_settings[int_id(_rf_src)][1]['ssid'] == '':
|
if user_settings[int_id(_rf_src)][1]['ssid'] == '':
|
||||||
ssid = user_ssid
|
ssid = user_ssid
|
||||||
@ -357,7 +358,7 @@ class DATA_SYSTEM(HBSYSTEM):
|
|||||||
if user_settings[int_id(_rf_src)][3]['comment'] != '':
|
if user_settings[int_id(_rf_src)][3]['comment'] != '':
|
||||||
comment = user_settings[int_id(_rf_src)][3]['comment']
|
comment = user_settings[int_id(_rf_src)][3]['comment']
|
||||||
#logger.info(retrieve_aprs_settings(_rf_src))
|
#logger.info(retrieve_aprs_settings(_rf_src))
|
||||||
aprs_loc_packet = str(get_alias(int_id(_rf_src), subscriber_ids)) + '-' + ssid + '>APRS,TCPIP*:/' + str(datetime.datetime.utcnow().strftime("%H%M%Sh")) + str(loc.lat[0:7]) + str(loc.lat_dir) + icon_table + str(loc.lon[0:8]) + str(loc.lon_dir) + icon_icon + str(round(loc.true_course)).zfill(3) + '/' + str(round(loc.spd_over_grnd)).zfill(3) + '/' + str(comment)
|
aprs_loc_packet = str(get_alias(int_id(_rf_src), subscriber_ids)) + '-' + ssid + '>APHBL3,TCPIP*:/' + str(datetime.datetime.utcnow().strftime("%H%M%Sh")) + str(loc.lat[0:7]) + str(loc.lat_dir) + icon_table + str(loc.lon[0:8]) + str(loc.lon_dir) + icon_icon + str(round(loc.true_course)).zfill(3) + '/' + str(round(loc.spd_over_grnd)).zfill(3) + '/' + str(comment)
|
||||||
logger.info(aprs_loc_packet)
|
logger.info(aprs_loc_packet)
|
||||||
logger.info('User comment: ' + comment)
|
logger.info('User comment: ' + comment)
|
||||||
logger.info('User SSID: ' + ssid)
|
logger.info('User SSID: ' + ssid)
|
||||||
@ -365,7 +366,7 @@ class DATA_SYSTEM(HBSYSTEM):
|
|||||||
## f.close()
|
## f.close()
|
||||||
except:
|
except:
|
||||||
logger.info('Error or user settings file not found, proceeding with default settings.')
|
logger.info('Error or user settings file not found, proceeding with default settings.')
|
||||||
aprs_loc_packet = str(get_alias(int_id(_rf_src), subscriber_ids)) + '-' + str(user_ssid) + '>APRS,TCPIP*:/' + str(datetime.datetime.utcnow().strftime("%H%M%Sh")) + str(loc.lat[0:7]) + str(loc.lat_dir) + '/' + str(loc.lon[0:8]) + str(loc.lon_dir) + '[' + str(round(loc.true_course)).zfill(3) + '/' + str(round(loc.spd_over_grnd)).zfill(3) + '/' + aprs_comment + ' DMR ID: ' + str(int_id(_rf_src))
|
aprs_loc_packet = str(get_alias(int_id(_rf_src), subscriber_ids)) + '-' + str(user_ssid) + '>APHBL3,TCPIP*:/' + str(datetime.datetime.utcnow().strftime("%H%M%Sh")) + str(loc.lat[0:7]) + str(loc.lat_dir) + '/' + str(loc.lon[0:8]) + str(loc.lon_dir) + '[' + str(round(loc.true_course)).zfill(3) + '/' + str(round(loc.spd_over_grnd)).zfill(3) + '/' + aprs_comment + ' DMR ID: ' + str(int_id(_rf_src))
|
||||||
try:
|
try:
|
||||||
# Try parse of APRS packet. If it fails, it will not upload to APRS-IS
|
# Try parse of APRS packet. If it fails, it will not upload to APRS-IS
|
||||||
aprslib.parse(aprs_loc_packet)
|
aprslib.parse(aprs_loc_packet)
|
||||||
@ -380,8 +381,7 @@ class DATA_SYSTEM(HBSYSTEM):
|
|||||||
# Assume this is an SMS message
|
# Assume this is an SMS message
|
||||||
if '$GPRMC' not in final_packet:
|
if '$GPRMC' not in final_packet:
|
||||||
if '0005' in hdr_start:
|
if '0005' in hdr_start:
|
||||||
logger('This may be an NMEA coded packet from an MD-380!')
|
logger('This may be an NMEA coded packet from an MD-380 type radio!')
|
||||||
|
|
||||||
# Revisit below later.
|
# Revisit below later.
|
||||||
#### # Motorola type SMS header
|
#### # Motorola type SMS header
|
||||||
## if '824a' in hdr_start or '024a' in hdr_start:
|
## if '824a' in hdr_start or '024a' in hdr_start:
|
||||||
|
Loading…
Reference in New Issue
Block a user