mirror of
https://gitee.com/qpy-solutions/tracker-v2.git
synced 2025-05-19 02:58:25 +08:00
update: device module status
This commit is contained in:
parent
4db774bc21
commit
10acc7d5df
@ -66,12 +66,12 @@ object_model = [
|
|||||||
|
|
||||||
object_model_struct = {
|
object_model_struct = {
|
||||||
'device_module_status': {
|
'device_module_status': {
|
||||||
'net_error': 1,
|
'net': 1,
|
||||||
'gps_error': 2,
|
'location': 2,
|
||||||
'temp_sensor_error': 3,
|
'temp_sensor': 3,
|
||||||
'light_sensor_error': 4,
|
'light_sensor': 4,
|
||||||
'move_sensor_error': 5,
|
'move_sensor': 5,
|
||||||
'mike_error': 6,
|
'mike': 6,
|
||||||
},
|
},
|
||||||
'loc_method': {
|
'loc_method': {
|
||||||
'gps': 1,
|
'gps': 1,
|
||||||
@ -130,7 +130,7 @@ class QuecThing(object):
|
|||||||
|
|
||||||
def post_data(self, data):
|
def post_data(self, data):
|
||||||
res = True
|
res = True
|
||||||
log.debug('quecIot post_data: %s' % str(data))
|
# log.debug('post_data: %s' % str(data))
|
||||||
for k, v in data.items():
|
for k, v in data.items():
|
||||||
if object_model_code.get(k) is not None:
|
if object_model_code.get(k) is not None:
|
||||||
# Event Data Format From object_mode_code
|
# Event Data Format From object_mode_code
|
||||||
@ -145,10 +145,8 @@ class QuecThing(object):
|
|||||||
nv[object_model_struct[k].get(ik)] = iv
|
nv[object_model_struct[k].get(ik)] = iv
|
||||||
else:
|
else:
|
||||||
nv[ik] = iv
|
nv[ik] = iv
|
||||||
log.debug('nv: %s' % str(nv))
|
|
||||||
v = nv
|
v = nv
|
||||||
log.debug('v: %s' % str(v))
|
# log.debug('k: %s, v: %s' % (k, v))
|
||||||
log.debug('k: %s, v: %s' % (k, v))
|
|
||||||
phymodelReport_res = quecIot.phymodelReport(1, {object_model_code.get(k): v})
|
phymodelReport_res = quecIot.phymodelReport(1, {object_model_code.get(k): v})
|
||||||
if not phymodelReport_res:
|
if not phymodelReport_res:
|
||||||
res = False
|
res = False
|
||||||
|
@ -39,12 +39,12 @@ ALERTCODE = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
DEVICE_MODULE_STATUS = {
|
DEVICE_MODULE_STATUS = {
|
||||||
'net_error': 1,
|
'net': 1,
|
||||||
'gps_error': 2,
|
'location': 2,
|
||||||
'temp_sensor_error': 3,
|
'temp_sensor': 3,
|
||||||
'light_sensor_error': 4,
|
'light_sensor': 4,
|
||||||
'move_sensor_error': 5,
|
'move_sensor': 5,
|
||||||
'mike_error': 6,
|
'mike': 6,
|
||||||
}
|
}
|
||||||
|
|
||||||
DRIVE_BEHAVIOR_CODE = {
|
DRIVE_BEHAVIOR_CODE = {
|
||||||
|
@ -31,7 +31,6 @@ from usr.common import numiter
|
|||||||
from usr.common import Singleton
|
from usr.common import Singleton
|
||||||
from usr.mpower import PowerManage
|
from usr.mpower import PowerManage
|
||||||
from usr.logging import getLogger
|
from usr.logging import getLogger
|
||||||
# from usr.location import GPS
|
|
||||||
from usr.location import Location
|
from usr.location import Location
|
||||||
from usr.timer import LEDTimer
|
from usr.timer import LEDTimer
|
||||||
|
|
||||||
@ -64,8 +63,6 @@ class Tracker(Singleton):
|
|||||||
self.power_manage = PowerManage(self)
|
self.power_manage = PowerManage(self)
|
||||||
|
|
||||||
self.led_timer = LEDTimer(self)
|
self.led_timer = LEDTimer(self)
|
||||||
# self.energy = 100
|
|
||||||
# self.cenergy = -10
|
|
||||||
|
|
||||||
if PowerKey is not None:
|
if PowerKey is not None:
|
||||||
self.power_key = PowerKey()
|
self.power_key = PowerKey()
|
||||||
@ -102,14 +99,6 @@ class Tracker(Singleton):
|
|||||||
|
|
||||||
current_settings = settings.settings.get()
|
current_settings = settings.settings.get()
|
||||||
|
|
||||||
# TODO: Test Energy
|
|
||||||
# if self.energy <= 10:
|
|
||||||
# self.cenergy = 10
|
|
||||||
# if self.energy >= 100:
|
|
||||||
# self.cenergy = -10
|
|
||||||
# self.energy = self.energy + self.cenergy
|
|
||||||
# energy = self.energy
|
|
||||||
|
|
||||||
energy = self.battery.energy()
|
energy = self.battery.energy()
|
||||||
if energy <= current_settings['app']['low_power_alert_threshold']:
|
if energy <= current_settings['app']['low_power_alert_threshold']:
|
||||||
alert_data = self.get_alert_data(30002, {'local_time': self.get_local_time()})
|
alert_data = self.get_alert_data(30002, {'local_time': self.get_local_time()})
|
||||||
@ -144,35 +133,28 @@ class Tracker(Singleton):
|
|||||||
|
|
||||||
def get_device_check(self):
|
def get_device_check(self):
|
||||||
alert_data = {}
|
alert_data = {}
|
||||||
device_module_status = []
|
device_module_status = {}
|
||||||
alert_code = 20000
|
alert_code = 20000
|
||||||
|
|
||||||
net_check_res = self.check.net_check()
|
net_check_res = self.check.net_check()
|
||||||
gps_check_res = self.check.gps_check()
|
loc_check_res = self.check.loc_check()
|
||||||
sensor_check_res = self.check.sensor_check()
|
sensor_check_res = self.check.sensor_check()
|
||||||
|
|
||||||
if net_check_res == (3, 1):
|
self.net_enable = True if net_check_res == (3, 1) else False
|
||||||
self.net_enable = True
|
device_module_status['net'] = 1 if net_check_res == (3, 1) else 0
|
||||||
else:
|
|
||||||
self.net_enable = False
|
|
||||||
device_module_status.append('net_error')
|
|
||||||
|
|
||||||
if not gps_check_res:
|
device_module_status['location'] = 1 if loc_check_res else 0
|
||||||
device_module_status.append('gps_error')
|
|
||||||
|
|
||||||
|
# TODO: Check Sensor.
|
||||||
if not sensor_check_res:
|
if not sensor_check_res:
|
||||||
# TODO: Need To Check What Sensor Error To Report.
|
|
||||||
pass
|
pass
|
||||||
|
|
||||||
if device_module_status:
|
self.running_led.period = 0.5 if not (net_check_res == (3, 1) and loc_check_res and sensor_check_res) else 2
|
||||||
self.running_led.period = 0.5
|
|
||||||
else:
|
|
||||||
self.running_led.period = 2
|
|
||||||
|
|
||||||
alert_info = {'device_module_status': {i: 1 if i in device_module_status else 0 for i in settings.DEVICE_MODULE_STATUS.keys()}}
|
if not (net_check_res == (3, 1) and loc_check_res and sensor_check_res):
|
||||||
if device_module_status:
|
|
||||||
alert_data = self.get_alert_data(alert_code, {'local_time': self.get_local_time()})
|
alert_data = self.get_alert_data(alert_code, {'local_time': self.get_local_time()})
|
||||||
alert_data.update(alert_info)
|
|
||||||
|
alert_data.update({'device_module_status': device_module_status})
|
||||||
|
|
||||||
return alert_data
|
return alert_data
|
||||||
|
|
||||||
@ -296,9 +278,8 @@ class SelfCheck(object):
|
|||||||
check_res = checknet.wait_network_connected(timeout)
|
check_res = checknet.wait_network_connected(timeout)
|
||||||
return check_res
|
return check_res
|
||||||
|
|
||||||
def gps_check(self):
|
def loc_check(self):
|
||||||
# return True if OK
|
# return True if OK
|
||||||
# gps = GPS(settings.default_values_sys._gps_cfg)
|
|
||||||
locator = Location()
|
locator = Location()
|
||||||
|
|
||||||
retry = 0
|
retry = 0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user