summaryrefslogtreecommitdiffstats
path: root/misc_scripts/sondehub_krakenmap.py
blob: d44308b11b1b09a5fa9d5f339f19e74c3f38329e (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
36
# Uses the SondeHub API to gather data about a sonde, and upload it to the krakenrf web mapper. It will show up on the map as a moving beacon. 
# Useful for testing tracking of a moving object
# Note that if the elevation angle between the antenna array and sonde is >45deg, direction finding  results will be poor. 

# Requires "pip install sondehub"

import sondehub
import requests

# The unique 8-digit Sonde identifier. Shown in the sondehub.org UI.
SONDE_ID = "U1140595"

API_SERVER = 'https://map.krakenrf.com'

# Your Kraken Pro Cloud username email and password
login = {'email': 'email', 'password': 'password'}

x = requests.post(API_SERVER + '/login', json = login)
token = x.text

#print(x.text)

def on_message(message):
    beaconData = {'id': str(message['serial']), 'lat': message['lat'], 'lon': message['lon'], 'speed': round(message['vel_h'] * 3.6), 'height': int(message['alt']), 'heading' : int(message['heading'])}
    x = requests.post(API_SERVER + '/beacon', json = beaconData, headers = {'Authorization': token})
    #print(x.text)
    #print(message['lat'])
    #print(message['lon'])
    #print(message['alt'])

# Set sondes to whatever active sonde you want
test = sondehub.Stream(on_message=on_message, sondes=[SONDE_ID])

while 1:
    pass