summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--misc_scripts/gpsd_tracker_krakenmap.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/misc_scripts/gpsd_tracker_krakenmap.py b/misc_scripts/gpsd_tracker_krakenmap.py
new file mode 100644
index 0000000..5a3e5b4
--- /dev/null
+++ b/misc_scripts/gpsd_tracker_krakenmap.py
@@ -0,0 +1,35 @@
+# Uses an attached USB GPS and GPSd to get location data, and then upload it as a marker to the Kraken Cloud Mapper.
+
+import gpsd
+import time
+import requests
+
+gpsd.connect()
+time.sleep(2)
+
+API_SERVER = 'https://map.krakenrf.com:443'
+login = {'username': 'username', 'password': 'password'}
+
+while(1):
+ try:
+ x = requests.post(API_SERVER + '/login', json = login)
+ break
+ except:
+ time.sleep(1)
+ pass
+
+token = x.text
+
+while(1):
+ try:
+ packet = gpsd.get_current()
+ lat, lon = packet.position()
+ print("lat: " + str(lat))
+ print("lon: " + str(lon))
+
+ beaconData = {'lat': lat, 'lon': lon, 'speed': 0, 'height': 0}
+ x = requests.post(API_SERVER + '/beacon', json = beaconData, headers = {'Authorization': token})
+
+ except (gpsd.NoFixError, UserWarning):
+ print("waiting for fix")
+ time.sleep(1)