summaryrefslogtreecommitdiffstats
path: root/misc_scripts/gpsd_tracker_krakenmap.py
blob: 5a3e5b40562b7cb0f428509b5f0df0f3d31b857d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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)