2022-03-03 09:53:51 +08:00

63 lines
1.8 KiB
Python

import usr.settings as settings
from usr.tracker import Tracker
from usr.logging import getLogger
import UART
import osTimer
tracker = None
log = getLogger('tracker')
PROFILE_IDX = 0
settings.init()
current_settings = settings.get()
locator_init_params = {}
if current_settings['app']['loc_method'] & settings.default_values_app._loc_method.gps:
locator_init_params['gps_cfg'] = {
'UARTn': UART.UART0,
'buadrate': 115200,
'databits': 8,
'parity': 0,
'stopbits': 1,
'flowctl': 0
}
if current_settings['app']['loc_method'] & settings.default_values_app._loc_method.cell:
locator_init_params['cellLocator_cfg'] = {
'serverAddr': 'www.queclocator.com',
'port': 80,
'token': 'xGP77d2z0i91s67n',
'timeout': 3,
'profileIdx': PROFILE_IDX
}
if current_settings['app']['loc_method'] & settings.default_values_app._loc_method.wifi:
locator_init_params['wifiLocator_cfg'] = {
'token': 'xGP77d2z0i91s67n'
}
def loc_read_cb(data):
if data:
loc_method = data[0]
loc_data = data[1]
log.info("loc_method:", loc_method)
log.info("loc_data:", loc_data)
if loc_method == settings.default_values_app._loc_method.gps:
data_type = tracker.remote.DATA_LOCA_GPS
else:
data_type = tracker.remote.DATA_LOCA_NON_GPS
tracker.remote.post_data(data_type, loc_data)
tracker = Tracker(loc_read_cb, **locator_init_params)
def loc_timer_cb(argv):
tracker.trigger()
if (current_settings['app']['loc_mode'] & settings.default_values_app._loc_mode.cycle) and current_settings['app']['loc_cycle_period']:
loc_timer = osTimer()
loc_timer.start(current_settings['app']['loc_cycle_period'] * 1000, 1, loc_timer_cb)