diff --git a/gpsreader.py b/gpsreader.py old mode 100644 new mode 100755 index 52c589e..0bfe77a --- a/gpsreader.py +++ b/gpsreader.py @@ -1,25 +1,36 @@ -# https://56k.es/fanta/utilizando-un-modulo-gps-usb-barato-en-gnulinux/ -# apt install python3-nmea2 python3-serial -# NMEA 0183 PROTOCOL: https://www.serialmon.com/protocols/nmea0183.shtml -# ('Timestamp', 'timestamp', timestamp), -# ('Latitude', 'lat'), -# ('Latitude Direction', 'lat_dir'), -# ('Longitude', 'lon'), -# ('Longitude Direction', 'lon_dir'), -# ('GPS Quality Indicator', 'gps_qual', int), -# ('Number of Satellites in use', 'num_sats'), -# ('Horizontal Dilution of Precision', 'horizontal_dil'), -# ('Antenna Alt above sea level (mean)', 'altitude', float), -# ('Units of altitude (meters)', 'altitude_units'), -# ('Geoidal Separation', 'geo_sep'), -# ('Units of Geoidal Separation (meters)', 'geo_sep_units'), -# ('Age of Differential GPS Data (secs)', 'age_gps_data'), -# ('Differential Reference Station ID', 'ref_station_id'), +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" +https://56k.es/fanta/utilizando-un-modulo-gps-usb-barato-en-gnulinux/ +apt install python3-nmea2 python3-serial +NMEA 0183 PROTOCOL: https://www.serialmon.com/protocols/nmea0183.shtml + +'Timestamp', 'timestamp' +'Latitude', 'lat' +'Latitude Direction', 'lat_dir' +'Longitude', 'lon' +'Longitude Direction', 'lon_dir' +'GPS Quality Indicator', 'gps_qual', int +'Number of Satellites in use', 'num_sats' +'Horizontal Dilution of Precision', 'horizontal_dil' +'Antenna Alt above sea level (mean)', 'altitude', float +'Units of altitude (meters)', 'altitude_units' +'Geoidal Separation', 'geo_sep' +'Units of Geoidal Separation (meters)', 'geo_sep_units' +'Age of Differential GPS Data (secs)', 'age_gps_data' +'Differential Reference Station ID', 'ref_station_id' +""" import io +import os +import sys import pynmea2 import serial +if os.geteuid() != 0: + sys.exit("You need to have root privileges to run this script.\nPlease try again, this time using 'sudo' for example. Exiting.") + ser = serial.Serial('/dev/ttyACM0', 9600, timeout=5.0) sio = io.TextIOWrapper(io.BufferedRWPair(ser, ser))