towards #3
This commit is contained in:
parent
bc11d35338
commit
f8a37d5b65
18
main.py
18
main.py
@ -1,4 +1,4 @@
|
||||
from plyer import gps
|
||||
from plyer import gps, uniqueid
|
||||
from kivy.app import App
|
||||
from kivy.clock import Clock
|
||||
from kivy.core.window import Window
|
||||
@ -16,9 +16,7 @@ from math import atan2, sin, cos, degrees, floor
|
||||
import requests
|
||||
from datetime import timedelta, datetime
|
||||
from dateutil.parser import isoparse
|
||||
|
||||
from geopy.distance import geodesic
|
||||
|
||||
from os import path
|
||||
import pickle
|
||||
|
||||
@ -186,7 +184,7 @@ class FlockompassApp(App):
|
||||
self.gps_data = kwargs
|
||||
|
||||
if ('dest_lat' not in self.session_data and 'dest_lon' not in self.session_data):
|
||||
|
||||
|
||||
self.session_data['dest_lat'] = self.gps_data['lat']
|
||||
self.session_data['dest_lon'] = self.gps_data['lon']
|
||||
|
||||
@ -270,7 +268,7 @@ class FlockompassApp(App):
|
||||
|
||||
lat2 = self.session_data.get('dest_lat', 0)
|
||||
lon2 = self.session_data.get('dest_lon', 0)
|
||||
|
||||
|
||||
dbearing = atan2(sin(lon2 - lon1) * cos(lat2),
|
||||
cos(lat1) * sin(lat2)
|
||||
- sin(lat1) * cos(lat2) * cos(lon2-lon1))
|
||||
@ -320,6 +318,7 @@ class FlockompassApp(App):
|
||||
self.gps_start(1000, 0)
|
||||
|
||||
def flock_server_register(self):
|
||||
Logger.info("Unique ID: %s" % uniqueid.get_uid())
|
||||
try:
|
||||
register_url = "{server}/register/?dest_lon={dest_lon}&dest_lat={dest_lat}"
|
||||
|
||||
@ -327,6 +326,7 @@ class FlockompassApp(App):
|
||||
dest_lon=self.session_data['dest_lon'],
|
||||
dest_lat=self.session_data['dest_lat']),
|
||||
timeout=0.5)
|
||||
# TODO: check for response code, only proceed if 200
|
||||
self.session_data['bike_id'] = r.json()['bike_id']
|
||||
Logger.info('registered! got bike_id: %s' % self.session_data['bike_id'])
|
||||
self.flock_server_update()
|
||||
@ -341,7 +341,7 @@ class FlockompassApp(App):
|
||||
|
||||
|
||||
def flock_server_update(self):
|
||||
|
||||
Logger.info("Unique ID: %s" % uniqueid.get_uid())
|
||||
try:
|
||||
update_url = "{server}/update/{bike_id}/?lat={lat}&lon={lon}&speed={speed}&bearing={bearing}"
|
||||
req = requests.get(update_url.format(server=self.session_data['settings_flock_server'],
|
||||
@ -352,7 +352,7 @@ class FlockompassApp(App):
|
||||
lon=self.session_data['lon']),
|
||||
timeout=0.5)
|
||||
resp = req.json()
|
||||
if resp:
|
||||
if resp:
|
||||
self.session_data['last_update'] = isoparse(resp.pop('last_update'))
|
||||
|
||||
if 'flock_size' not in resp:
|
||||
@ -360,9 +360,9 @@ class FlockompassApp(App):
|
||||
self.session_data.pop('flock_lat', None)
|
||||
self.session_data.pop('flock_lon', None)
|
||||
self.session_data.pop('flock_size', None)
|
||||
|
||||
|
||||
pLogger.info(self.session_data)
|
||||
|
||||
|
||||
except requests.exceptions.Timeout:
|
||||
Logger.info('comm timeout while updating flock server')
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user