mirror of
https://gitee.com/qpy-solutions/tracker-v2.git
synced 2025-05-18 18:48:25 +08:00
update: object module change
This commit is contained in:
parent
3e08c59e60
commit
ccbb3ede4f
@ -121,8 +121,11 @@
|
||||
"0": "无",
|
||||
"1": "GPS",
|
||||
"2": "基站",
|
||||
"4": "WIFI",
|
||||
"7": "全部支持"
|
||||
"3": "GPS_基站",
|
||||
"4": "Wifi",
|
||||
"5": "GPS_Wifi",
|
||||
"6": "基站_Wifi",
|
||||
"7": "GPS_基站_Wifi"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -161,12 +164,8 @@
|
||||
"accessMode": "r",
|
||||
"required": false,
|
||||
"dataType": {
|
||||
"type": "int",
|
||||
"specs": {
|
||||
"min": "0",
|
||||
"max": "2147483647",
|
||||
"step": "1"
|
||||
}
|
||||
"type": "date",
|
||||
"specs": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -329,16 +328,17 @@
|
||||
},
|
||||
{
|
||||
"identifier": "drive_behavior_code",
|
||||
"name": "驾驶行为代码",
|
||||
"name": "异常驾驶行为",
|
||||
"accessMode": "r",
|
||||
"required": false,
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"40001": "quick_start",
|
||||
"40002": "quick_stop",
|
||||
"40003": "quick_turn_left",
|
||||
"40004": "quick_turn_right"
|
||||
"0": "无",
|
||||
"1": "急起",
|
||||
"2": "急停",
|
||||
"3": "左急转弯",
|
||||
"4": "右急转弯"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -348,10 +348,9 @@
|
||||
"accessMode": "rw",
|
||||
"required": false,
|
||||
"dataType": {
|
||||
"type": "bool",
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "关",
|
||||
"1": "开"
|
||||
"1": "重启"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -372,20 +371,80 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"identifier": "fault_code",
|
||||
"name": "故障代码",
|
||||
"identifier": "device_module_status",
|
||||
"name": "设备模块状态",
|
||||
"accessMode": "r",
|
||||
"required": false,
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"20001": "net_error",
|
||||
"20002": "gps_error",
|
||||
"20003": "temp_sensor_error",
|
||||
"20004": "light_sensor_error",
|
||||
"20005": "move_sensor_error",
|
||||
"20006": "mike_error"
|
||||
}
|
||||
"type": "struct",
|
||||
"specs": [
|
||||
{
|
||||
"identifier": "net_error",
|
||||
"name": "网络状态",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "正常",
|
||||
"1": "异常"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"identifier": "gps_error",
|
||||
"name": "GPS状态",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "正常",
|
||||
"1": "异常"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"identifier": "temp_sensor_error",
|
||||
"name": "温湿度传感器状态",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "正常",
|
||||
"1": "异常"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"identifier": "light_sensor_error",
|
||||
"name": "光照传感器状态",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "正常",
|
||||
"1": "异常"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"identifier": "move_sensor_error",
|
||||
"name": "三轴加速传感器状态",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "正常",
|
||||
"1": "异常"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"identifier": "mike_error",
|
||||
"name": "麦克风状态",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "正常",
|
||||
"1": "异常"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -409,10 +468,10 @@
|
||||
"desc": "用户操作,只写功能",
|
||||
"required": false,
|
||||
"dataType": {
|
||||
"type": "bool",
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "拒绝升级",
|
||||
"1": "接受升级"
|
||||
"0": "取消升级",
|
||||
"1": "确认升级"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -548,8 +607,11 @@
|
||||
"0": "无",
|
||||
"1": "GPS",
|
||||
"2": "基站",
|
||||
"4": "WIFI",
|
||||
"7": "全部支持"
|
||||
"3": "GPS_基站",
|
||||
"4": "Wifi",
|
||||
"5": "GPS_Wifi",
|
||||
"6": "基站_Wifi",
|
||||
"7": "GPS_基站_Wifi"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -582,12 +644,8 @@
|
||||
"identifier": "local_time",
|
||||
"name": "本地时间",
|
||||
"dataType": {
|
||||
"type": "int",
|
||||
"specs": {
|
||||
"min": "0",
|
||||
"max": "2147483647",
|
||||
"step": "1"
|
||||
}
|
||||
"type": "date",
|
||||
"specs": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -726,14 +784,15 @@
|
||||
},
|
||||
{
|
||||
"identifier": "drive_behavior_code",
|
||||
"name": "驾驶行为代码",
|
||||
"name": "异常驾驶行为",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"40001": "quick_start",
|
||||
"40002": "quick_stop",
|
||||
"40003": "quick_turn_left",
|
||||
"40004": "quick_turn_right"
|
||||
"0": "无",
|
||||
"1": "急起",
|
||||
"2": "急停",
|
||||
"3": "左急转弯",
|
||||
"4": "右急转弯"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -741,10 +800,9 @@
|
||||
"identifier": "power_restart",
|
||||
"name": "模块重启",
|
||||
"dataType": {
|
||||
"type": "bool",
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "关",
|
||||
"1": "开"
|
||||
"1": "重启"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -763,18 +821,78 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"identifier": "fault_code",
|
||||
"name": "故障代码",
|
||||
"identifier": "device_module_status",
|
||||
"name": "设备模块状态",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"20001": "net_error",
|
||||
"20002": "gps_error",
|
||||
"20003": "temp_sensor_error",
|
||||
"20004": "light_sensor_error",
|
||||
"20005": "move_sensor_error",
|
||||
"20006": "mike_error"
|
||||
}
|
||||
"type": "struct",
|
||||
"specs": [
|
||||
{
|
||||
"identifier": "net_error",
|
||||
"name": "网络状态",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "正常",
|
||||
"1": "异常"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"identifier": "gps_error",
|
||||
"name": "GPS状态",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "正常",
|
||||
"1": "异常"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"identifier": "temp_sensor_error",
|
||||
"name": "温湿度传感器状态",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "正常",
|
||||
"1": "异常"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"identifier": "light_sensor_error",
|
||||
"name": "光照传感器状态",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "正常",
|
||||
"1": "异常"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"identifier": "move_sensor_error",
|
||||
"name": "三轴加速传感器状态",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "正常",
|
||||
"1": "异常"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"identifier": "mike_error",
|
||||
"name": "麦克风状态",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "正常",
|
||||
"1": "异常"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -793,10 +911,10 @@
|
||||
"identifier": "user_ota_action",
|
||||
"name": "是否OTA升级",
|
||||
"dataType": {
|
||||
"type": "bool",
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "拒绝升级",
|
||||
"1": "接受升级"
|
||||
"0": "取消升级",
|
||||
"1": "确认升级"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -830,21 +948,7 @@
|
||||
"type": "error",
|
||||
"required": false,
|
||||
"method": "thing.event.fault_alert.post",
|
||||
"outputData": [
|
||||
{
|
||||
"identifier": "fault_code",
|
||||
"name": "故障代码",
|
||||
"dataType": {
|
||||
"type": "array",
|
||||
"specs": {
|
||||
"size": "10",
|
||||
"item": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
"outputData": []
|
||||
},
|
||||
{
|
||||
"identifier": "low_power_alert",
|
||||
@ -852,22 +956,7 @@
|
||||
"type": "alert",
|
||||
"required": false,
|
||||
"method": "thing.event.low_power_alert.post",
|
||||
"outputData": [
|
||||
{
|
||||
"identifier": "energy",
|
||||
"name": "电量",
|
||||
"dataType": {
|
||||
"type": "int",
|
||||
"specs": {
|
||||
"min": "0",
|
||||
"max": "100",
|
||||
"unit": "%",
|
||||
"unitName": "百分比",
|
||||
"step": "1"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
"outputData": []
|
||||
},
|
||||
{
|
||||
"identifier": "sim_abnormal_alert",
|
||||
@ -879,25 +968,11 @@
|
||||
},
|
||||
{
|
||||
"identifier": "drive_behavior_alert",
|
||||
"name": "驾驶行为报警",
|
||||
"name": "异常驾驶行为报警",
|
||||
"type": "alert",
|
||||
"required": false,
|
||||
"method": "thing.event.drive_behavior_alert.post",
|
||||
"outputData": [
|
||||
{
|
||||
"identifier": "drive_behavior_code",
|
||||
"name": "驾驶行为代码",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"40001": "quick_start",
|
||||
"40002": "quick_stop",
|
||||
"40003": "quick_turn_left",
|
||||
"40004": "quick_turn_right"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
"outputData": []
|
||||
},
|
||||
{
|
||||
"identifier": "disassemble_alert",
|
||||
@ -955,8 +1030,11 @@
|
||||
"0": "无",
|
||||
"1": "GPS",
|
||||
"2": "基站",
|
||||
"4": "WIFI",
|
||||
"7": "全部支持"
|
||||
"3": "GPS_基站",
|
||||
"4": "Wifi",
|
||||
"5": "GPS_Wifi",
|
||||
"6": "基站_Wifi",
|
||||
"7": "GPS_基站_Wifi"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -1123,10 +1201,9 @@
|
||||
"identifier": "power_restart",
|
||||
"name": "模块重启",
|
||||
"dataType": {
|
||||
"type": "bool",
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "关",
|
||||
"1": "开"
|
||||
"1": "重启"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -1148,10 +1225,10 @@
|
||||
"identifier": "user_ota_action",
|
||||
"name": "是否OTA升级",
|
||||
"dataType": {
|
||||
"type": "bool",
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "拒绝升级",
|
||||
"1": "接受升级"
|
||||
"0": "取消升级",
|
||||
"1": "确认升级"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1189,7 +1266,7 @@
|
||||
"drive_behavior_code",
|
||||
"power_restart",
|
||||
"over_speed_threshold",
|
||||
"fault_code",
|
||||
"device_module_status",
|
||||
"gps_mode",
|
||||
"user_ota_action",
|
||||
"ota_status"
|
||||
@ -1301,8 +1378,11 @@
|
||||
"0": "无",
|
||||
"1": "GPS",
|
||||
"2": "基站",
|
||||
"4": "WIFI",
|
||||
"7": "全部支持"
|
||||
"3": "GPS_基站",
|
||||
"4": "Wifi",
|
||||
"5": "GPS_Wifi",
|
||||
"6": "基站_Wifi",
|
||||
"7": "GPS_基站_Wifi"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -1335,12 +1415,8 @@
|
||||
"identifier": "local_time",
|
||||
"name": "本地时间",
|
||||
"dataType": {
|
||||
"type": "int",
|
||||
"specs": {
|
||||
"min": "0",
|
||||
"max": "2147483647",
|
||||
"step": "1"
|
||||
}
|
||||
"type": "date",
|
||||
"specs": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -1479,14 +1555,15 @@
|
||||
},
|
||||
{
|
||||
"identifier": "drive_behavior_code",
|
||||
"name": "驾驶行为代码",
|
||||
"name": "异常驾驶行为",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"40001": "quick_start",
|
||||
"40002": "quick_stop",
|
||||
"40003": "quick_turn_left",
|
||||
"40004": "quick_turn_right"
|
||||
"0": "无",
|
||||
"1": "急起",
|
||||
"2": "急停",
|
||||
"3": "左急转弯",
|
||||
"4": "右急转弯"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -1494,10 +1571,9 @@
|
||||
"identifier": "power_restart",
|
||||
"name": "模块重启",
|
||||
"dataType": {
|
||||
"type": "bool",
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "关",
|
||||
"1": "开"
|
||||
"1": "重启"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -1516,18 +1592,78 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"identifier": "fault_code",
|
||||
"name": "故障代码",
|
||||
"identifier": "device_module_status",
|
||||
"name": "设备模块状态",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"20001": "net_error",
|
||||
"20002": "gps_error",
|
||||
"20003": "temp_sensor_error",
|
||||
"20004": "light_sensor_error",
|
||||
"20005": "move_sensor_error",
|
||||
"20006": "mike_error"
|
||||
}
|
||||
"type": "struct",
|
||||
"specs": [
|
||||
{
|
||||
"identifier": "net_error",
|
||||
"name": "网络状态",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "正常",
|
||||
"1": "异常"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"identifier": "gps_error",
|
||||
"name": "GPS状态",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "正常",
|
||||
"1": "异常"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"identifier": "temp_sensor_error",
|
||||
"name": "温湿度传感器状态",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "正常",
|
||||
"1": "异常"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"identifier": "light_sensor_error",
|
||||
"name": "光照传感器状态",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "正常",
|
||||
"1": "异常"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"identifier": "move_sensor_error",
|
||||
"name": "三轴加速传感器状态",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "正常",
|
||||
"1": "异常"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"identifier": "mike_error",
|
||||
"name": "麦克风状态",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "正常",
|
||||
"1": "异常"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -1546,10 +1682,10 @@
|
||||
"identifier": "user_ota_action",
|
||||
"name": "是否OTA升级",
|
||||
"dataType": {
|
||||
"type": "bool",
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"0": "拒绝升级",
|
||||
"1": "接受升级"
|
||||
"0": "取消升级",
|
||||
"1": "确认升级"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -63,7 +63,7 @@ object_model = {
|
||||
'drive_behavior_code',
|
||||
'power_restart',
|
||||
'over_speed_threshold',
|
||||
'fault_code',
|
||||
'device_module_status',
|
||||
'gps_mode',
|
||||
'user_ota_action',
|
||||
'ota_status',
|
||||
@ -177,7 +177,7 @@ class AliYunIot(object):
|
||||
}
|
||||
elif k in object_model['event']:
|
||||
event_params[k] = {
|
||||
'value': v,
|
||||
'value': {},
|
||||
'time': utime.mktime(utime.localtime()) * 1000
|
||||
}
|
||||
else:
|
||||
|
@ -48,7 +48,7 @@ object_model = [
|
||||
(21, ('drive_behavior_code', 'r')),
|
||||
(33, ('power_restart', 'w')),
|
||||
(34, ('over_speed_threshold', 'rw')),
|
||||
(36, ('fault_code', 'r')),
|
||||
(36, ('device_module_status', 'r')),
|
||||
(37, ('gps_mode', 'r')),
|
||||
(38, ('user_ota_action', 'w')),
|
||||
(39, ('ota_status', 'r')),
|
||||
@ -63,6 +63,17 @@ object_model = [
|
||||
(35, ('over_speed_alert', 'r')),
|
||||
]
|
||||
|
||||
object_model_struct = {
|
||||
'device_module_status': {
|
||||
'net_error': 1,
|
||||
'gps_error': 2,
|
||||
'temp_sensor_error': 3,
|
||||
'light_sensor_error': 4,
|
||||
'move_sensor_error': 5,
|
||||
'mike_error': 6,
|
||||
}
|
||||
}
|
||||
|
||||
object_model_code = {i[1][0]: i[0] for i in object_model}
|
||||
|
||||
|
||||
@ -113,12 +124,25 @@ class QuecThing(object):
|
||||
|
||||
def post_data(self, data):
|
||||
res = True
|
||||
log.debug('quecIot post_data: %s' % str(data))
|
||||
for k, v in data.items():
|
||||
if object_model_code.get(k) is not None:
|
||||
# Event Data Format From object_mode_code
|
||||
if v:
|
||||
if v is not None:
|
||||
if isinstance(v, dict):
|
||||
v = {object_model_code.get(ik) if object_model_code.get(ik) else ik: iv for ik, iv in v.items()}
|
||||
nv = {}
|
||||
for ik, iv in v.items():
|
||||
if object_model_code.get(ik):
|
||||
nv[object_model_code.get(ik)] = iv
|
||||
else:
|
||||
if object_model_struct.get(k):
|
||||
nv[object_model_struct[k].get(ik)] = iv
|
||||
else:
|
||||
nv[ik] = iv
|
||||
log.debug('nv: %s' % str(nv))
|
||||
v = nv
|
||||
log.debug('v: %s' % str(v))
|
||||
log.debug('k: %s, v: %s' % (k, v))
|
||||
phymodelReport_res = quecIot.phymodelReport(1, {object_model_code.get(k): v})
|
||||
if not phymodelReport_res:
|
||||
res = False
|
||||
|
@ -76,9 +76,9 @@ class Controller(Singleton):
|
||||
|
||||
def user_ota_action(self, perm, action):
|
||||
if perm == 'w':
|
||||
if action is False:
|
||||
if action == 0:
|
||||
self.tracker.remote.cloud_ota_action(0)
|
||||
elif action is True:
|
||||
elif action == 1:
|
||||
self.tracker.remote.cloud_ota_action(1)
|
||||
|
||||
def ota_status(self, perm, status=None):
|
||||
@ -89,6 +89,10 @@ class Controller(Singleton):
|
||||
settings.settings.set('ota_status', status)
|
||||
settings.settings.save()
|
||||
|
||||
def power_restart(self, perm, flag):
|
||||
if perm == 'w':
|
||||
self.tracker.device_data_report(power_switch=False, msg='power_restart')
|
||||
|
||||
|
||||
class DownLinkOption(object):
|
||||
def __init__(self, tracker):
|
||||
|
@ -38,20 +38,21 @@ ALERTCODE = {
|
||||
50001: 'sos_alert',
|
||||
}
|
||||
|
||||
FAULT_CODE = {
|
||||
20001: 'net_error',
|
||||
20002: 'gps_error',
|
||||
20003: 'temp_sensor_error',
|
||||
20004: 'light_sensor_error',
|
||||
20005: 'move_sensor_error',
|
||||
20006: 'mike_error',
|
||||
DEVICE_MODULE_STATUS = {
|
||||
'net_error': 1,
|
||||
'gps_error': 2,
|
||||
'temp_sensor_error': 3,
|
||||
'light_sensor_error': 4,
|
||||
'move_sensor_error': 5,
|
||||
'mike_error': 6,
|
||||
}
|
||||
|
||||
DRIVE_BEHAVIOR_CODE = {
|
||||
40001: 'quick_start',
|
||||
40002: 'quick_stop',
|
||||
40003: 'quick_turn_left',
|
||||
40004: 'quick_turn_right',
|
||||
0: 'none',
|
||||
1: 'quick_start',
|
||||
2: 'quick_stop',
|
||||
3: 'quick_turn_left',
|
||||
4: 'quick_turn_right',
|
||||
}
|
||||
|
||||
LOWENERGYMAP = {
|
||||
@ -204,7 +205,9 @@ class default_values_sys(object):
|
||||
|
||||
ota_status = _ota_status.none
|
||||
|
||||
cloud = _cloud.quecIot
|
||||
drive_behavior_code = 0
|
||||
|
||||
cloud = _cloud.AliYun
|
||||
|
||||
cloud_init_params = {}
|
||||
|
||||
|
@ -114,9 +114,9 @@ def test_tracker():
|
||||
log.info('[.] sleep 3')
|
||||
utime.sleep(3)
|
||||
|
||||
log.info('[.] tracker.device_data_report()')
|
||||
device_data_report_res = tracker.device_data_report()
|
||||
log.info('[.] device_data_report_res:', device_data_report_res)
|
||||
log.info('[.] tracker.device_check()')
|
||||
device_check_res = tracker.device_check()
|
||||
log.info('[.] device_check_res:', device_check_res)
|
||||
|
||||
log.info('[.] sleep 3')
|
||||
utime.sleep(3)
|
||||
|
@ -76,9 +76,7 @@ class Tracker(Singleton):
|
||||
dataCall.setCallback(self.nw_callback)
|
||||
|
||||
def get_local_time(self):
|
||||
now = utime.localtime()
|
||||
# return '%s/%s/%s %s:%s:%s' % (now[1], now[2], now[0], now[3], now[4], now[5])
|
||||
return '%s:%s:%s' % (now[3], now[4], now[5])
|
||||
return str(utime.mktime(utime.localtime()) * 1000)
|
||||
|
||||
def get_alert_data(self, alert_code, alert_info):
|
||||
alert_data = {}
|
||||
@ -123,6 +121,7 @@ class Tracker(Singleton):
|
||||
'energy': energy,
|
||||
'local_time': self.get_local_time(),
|
||||
'ota_status': current_settings['sys']['ota_status'],
|
||||
'drive_behavior_code': current_settings['sys']['drive_behavior_code'],
|
||||
})
|
||||
device_data.update(current_settings['app'])
|
||||
|
||||
@ -130,30 +129,35 @@ class Tracker(Singleton):
|
||||
|
||||
def get_device_check(self):
|
||||
alert_data = {}
|
||||
fault_code = []
|
||||
device_module_status = []
|
||||
alert_code = 20000
|
||||
|
||||
net_check_res = self.check.net_check()
|
||||
gps_check_res = self.check.gps_check()
|
||||
sensor_check_res = self.check.sensor_check()
|
||||
|
||||
if net_check_res == (3, 1) and gps_check_res and sensor_check_res:
|
||||
if net_check_res == (3, 1):
|
||||
self.net_enable = True
|
||||
self.running_led.period = 2
|
||||
else:
|
||||
self.running_led.period = 0.5
|
||||
if net_check_res != (3, 1):
|
||||
self.net_enable = False
|
||||
fault_code.append(20001)
|
||||
if not gps_check_res:
|
||||
fault_code.append(20002)
|
||||
if not sensor_check_res:
|
||||
# TODO: Need To Check What Sensor Error To Report.
|
||||
pass
|
||||
self.net_enable = False
|
||||
device_module_status.append('net_error')
|
||||
|
||||
if fault_code:
|
||||
alert_info = {'fault_code': fault_code, 'local_time': self.get_local_time()}
|
||||
alert_data = self.get_alert_data(alert_code, alert_info)
|
||||
if not gps_check_res:
|
||||
device_module_status.append('gps_error')
|
||||
|
||||
if not sensor_check_res:
|
||||
# TODO: Need To Check What Sensor Error To Report.
|
||||
pass
|
||||
|
||||
if device_module_status:
|
||||
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 device_module_status:
|
||||
alert_data = self.get_alert_data(alert_code, {'local_time': self.get_local_time()})
|
||||
alert_data.update(alert_info)
|
||||
|
||||
return alert_data
|
||||
|
||||
@ -192,6 +196,8 @@ class Tracker(Singleton):
|
||||
self.running_led.period = None
|
||||
self.running_led.switch(0)
|
||||
Power.powerDown()
|
||||
elif topic.endswith('/power_restart'):
|
||||
Power.powerRestart()
|
||||
|
||||
if self.power_manage.callback:
|
||||
self.power_manage.callback()
|
||||
@ -282,6 +288,7 @@ class SelfCheck(object):
|
||||
retry = 0
|
||||
gps_data = None
|
||||
sleep_time = 1
|
||||
|
||||
while retry < 5:
|
||||
gps_data = gps.read()
|
||||
if gps_data:
|
||||
@ -290,6 +297,7 @@ class SelfCheck(object):
|
||||
retry += 1
|
||||
utime.sleep(sleep_time)
|
||||
sleep_time *= 2
|
||||
|
||||
if gps_data:
|
||||
return True
|
||||
|
||||
|
@ -257,7 +257,7 @@ tracker.remote.post_data(topic, data)
|
||||
|驾驶行为代码|`drive_behavior_code`|`int`|取值范围:40001 ~ 40004|40001: quick_start;40002: quick_stop;40003: quick_turn_left;40004: quick_turn_right|只读|
|
||||
|模块重启|`power_restart`|`bool`|`True`:重启,`False`:无动作||读写|
|
||||
|超速报警阈值|`over_speed_threshold`|`int`|取值范围:0 ~ 132|单位km/h|读写|
|
||||
|故障代码|`fault_code`|`int`|取值范围:20001 ~ 29999|20001: net_error,20002: gps_error,20003: temp_sensor_error,20004: light_sensor_error,20005: move_sensor_error,20006: mike_error|只读|
|
||||
|设备模块状态|`device_module_status`|`int`|1: net_error,2: gps_error,3: temp_sensor_error,4: light_sensor_error,5: move_sensor_error,6: mike_error|只读|
|
||||
|GPS模块类型|`gps_mode`|`int`|取值范围:0 ~ 2|0: 无GPS模块,1: 内置GPS模块,2: 外置GPS模块|只读|
|
||||
|是否OTA升级|`user_ota_action`|`bool`|`True`:接受升级,`False`:拒绝升级||只写|
|
||||
|OTA升级状态|`ota_status`|`int`|取值范围:0 ~ 5|0: 无升级;1: 待升级;2: 升级中;3: 升级成功;4: 升级失败|只读|
|
||||
@ -267,10 +267,10 @@ tracker.remote.post_data(topic, data)
|
||||
|功能名称|标识符|数据定义|
|
||||
|:---|:---|:---|
|
||||
|SOS报警|`sos_alert`|`{'local_time': xxx}`|
|
||||
|故障报警|`fault_alert`|`{'local_time': xxx, 'fault_code': 20001}`|
|
||||
|低电报警|`low_power_alert`|`{'local_time': xxx, 'energy': 20}`|
|
||||
|故障报警|`fault_alert`|`{'local_time': xxx}`|
|
||||
|低电报警|`low_power_alert`|`{'local_time': xxx}`|
|
||||
|SIM卡异常报警|`sim_abnormal_alert`|`{'local_time': xxx}`|
|
||||
|驾驶行为报警|`drive_behavior_alert`|`{'local_time': xxx, 'drive_behavior_code': 40001}`|
|
||||
|驾驶行为报警|`drive_behavior_alert`|`{'local_time': xxx}`|
|
||||
|拆卸报警|`disassemble_alert`|`{'local_time': xxx}`|
|
||||
|超速报警|`over_speed_alert`|`{'local_time': xxx}`|
|
||||
|
||||
@ -290,7 +290,6 @@ tracker.remote.post_data(topic, data)
|
||||
import utime
|
||||
alert_code = 20000
|
||||
alert_info = {
|
||||
'fault_code': 20001,
|
||||
'local_time': utime.mktime(utime.localtime())
|
||||
}
|
||||
res = tracker.get_alert_data(alert_code, alert_info)
|
||||
|
@ -2,7 +2,7 @@
|
||||
"profile":{
|
||||
"tslVersion":"1.1.0",
|
||||
"productKey":"p11275",
|
||||
"version":"20220325114956585"
|
||||
"version":"20220328195506205"
|
||||
},
|
||||
"properties":[
|
||||
{
|
||||
@ -57,36 +57,78 @@
|
||||
"desc":""
|
||||
},
|
||||
{
|
||||
"specs":{
|
||||
"unit":"",
|
||||
"min":"0",
|
||||
"max":"7",
|
||||
"step":"1"
|
||||
},
|
||||
"specs":[
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"无",
|
||||
"value":"0"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"GPS",
|
||||
"value":"1"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"基站",
|
||||
"value":"2"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"GPS_基站",
|
||||
"value":"3"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"Wifi",
|
||||
"value":"4"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"GPS_Wifi",
|
||||
"value":"5"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"基站_Wifi",
|
||||
"value":"6"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"GPS_基站_Wifi",
|
||||
"value":"7"
|
||||
}
|
||||
],
|
||||
"code":"loc_method",
|
||||
"dataType":"INT",
|
||||
"dataType":"ENUM",
|
||||
"name":"定位方式",
|
||||
"subType":"RW",
|
||||
"id":24,
|
||||
"sort":3,
|
||||
"type":"PROPERTY",
|
||||
"desc":"0: 无\n1: GPS\n2: 基站\n4: WIFI(暂不支持)\n7: 全部支持"
|
||||
"desc":""
|
||||
},
|
||||
{
|
||||
"specs":{
|
||||
"unit":"",
|
||||
"min":"1",
|
||||
"max":"2",
|
||||
"step":"1"
|
||||
},
|
||||
"specs":[
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"周期性模式",
|
||||
"value":"1"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"智能模式",
|
||||
"value":"2"
|
||||
}
|
||||
],
|
||||
"code":"work_mode",
|
||||
"dataType":"INT",
|
||||
"dataType":"ENUM",
|
||||
"name":"工作模式",
|
||||
"subType":"RW",
|
||||
"id":25,
|
||||
"sort":4,
|
||||
"type":"PROPERTY",
|
||||
"desc":"1: 周期性模式\n2: 智能模式"
|
||||
"desc":""
|
||||
},
|
||||
{
|
||||
"specs":{
|
||||
@ -105,14 +147,8 @@
|
||||
"desc":""
|
||||
},
|
||||
{
|
||||
"specs":{
|
||||
"unit":"",
|
||||
"min":"",
|
||||
"max":"",
|
||||
"step":""
|
||||
},
|
||||
"code":"local_time",
|
||||
"dataType":"INT",
|
||||
"dataType":"DATE",
|
||||
"name":"本地时间",
|
||||
"subType":"R",
|
||||
"id":19,
|
||||
@ -189,7 +225,7 @@
|
||||
],
|
||||
"code":"sw_ota_auto_upgrade",
|
||||
"dataType":"BOOL",
|
||||
"name":"OTA自动升级功能开关",
|
||||
"name":"OTA自动升级开关",
|
||||
"subType":"RW",
|
||||
"id":13,
|
||||
"sort":10,
|
||||
@ -373,38 +409,54 @@
|
||||
"desc":""
|
||||
},
|
||||
{
|
||||
"specs":{
|
||||
"unit":"",
|
||||
"min":"40001",
|
||||
"max":"40004",
|
||||
"step":"1"
|
||||
},
|
||||
"specs":[
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"无",
|
||||
"value":"0"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"急起",
|
||||
"value":"1"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"急停",
|
||||
"value":"2"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"左急转弯",
|
||||
"value":"3"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"右急转弯",
|
||||
"value":"4"
|
||||
}
|
||||
],
|
||||
"code":"drive_behavior_code",
|
||||
"dataType":"INT",
|
||||
"name":"驾驶行为代码",
|
||||
"dataType":"ENUM",
|
||||
"name":"异常驾驶行为",
|
||||
"subType":"R",
|
||||
"id":21,
|
||||
"sort":19,
|
||||
"type":"PROPERTY",
|
||||
"desc":"40001: quick_start\n40002: quick_stop\n40003: quick_turn_left\n40004: quick_turn_right"
|
||||
"desc":""
|
||||
},
|
||||
{
|
||||
"specs":[
|
||||
{
|
||||
"dataType":"BOOL",
|
||||
"dataType":"ENUM",
|
||||
"name":"重启",
|
||||
"value":"true"
|
||||
},
|
||||
{
|
||||
"dataType":"BOOL",
|
||||
"name":"无动作",
|
||||
"value":"false"
|
||||
"value":"1"
|
||||
}
|
||||
],
|
||||
"code":"power_restart",
|
||||
"dataType":"BOOL",
|
||||
"dataType":"ENUM",
|
||||
"name":"模块重启",
|
||||
"subType":"W",
|
||||
"subType":"RW",
|
||||
"id":33,
|
||||
"sort":26,
|
||||
"type":"PROPERTY",
|
||||
@ -427,72 +479,211 @@
|
||||
"desc":"单位km/h"
|
||||
},
|
||||
{
|
||||
"specs":{
|
||||
"size":"10",
|
||||
"dataType":"INT"
|
||||
},
|
||||
"code":"fault_code",
|
||||
"dataType":"ARRAY",
|
||||
"name":"故障代码",
|
||||
"specs":[
|
||||
{
|
||||
"specs":[
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"正常",
|
||||
"value":"0"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"异常",
|
||||
"value":"1"
|
||||
}
|
||||
],
|
||||
"code":"net_error",
|
||||
"dataType":"ENUM",
|
||||
"name":"网络状态",
|
||||
"id":1
|
||||
},
|
||||
{
|
||||
"specs":[
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"正常",
|
||||
"value":"0"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"异常",
|
||||
"value":"1"
|
||||
}
|
||||
],
|
||||
"code":"gps_error",
|
||||
"dataType":"ENUM",
|
||||
"name":"GPS状态",
|
||||
"id":2
|
||||
},
|
||||
{
|
||||
"specs":[
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"正常",
|
||||
"value":"0"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"异常",
|
||||
"value":"1"
|
||||
}
|
||||
],
|
||||
"code":"temp_sensor_error",
|
||||
"dataType":"ENUM",
|
||||
"name":"温湿度传感器状态",
|
||||
"id":3
|
||||
},
|
||||
{
|
||||
"specs":[
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"正常",
|
||||
"value":"0"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"异常",
|
||||
"value":"1"
|
||||
}
|
||||
],
|
||||
"code":"light_sensor_error",
|
||||
"dataType":"ENUM",
|
||||
"name":"光照传感器状态",
|
||||
"id":4,
|
||||
"desc":""
|
||||
},
|
||||
{
|
||||
"specs":[
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"正常",
|
||||
"value":"0"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"异常",
|
||||
"value":"1"
|
||||
}
|
||||
],
|
||||
"code":"move_sensor_error",
|
||||
"dataType":"ENUM",
|
||||
"name":"三轴加速传感器状态",
|
||||
"id":5
|
||||
},
|
||||
{
|
||||
"specs":[
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"正常",
|
||||
"value":"0"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"异常",
|
||||
"value":"1"
|
||||
}
|
||||
],
|
||||
"code":"mike_error",
|
||||
"dataType":"ENUM",
|
||||
"name":"麦克风状态",
|
||||
"id":6
|
||||
}
|
||||
],
|
||||
"code":"device_module_status",
|
||||
"dataType":"STRUCT",
|
||||
"name":"设备模块状态",
|
||||
"subType":"R",
|
||||
"id":36,
|
||||
"sort":29,
|
||||
"type":"PROPERTY",
|
||||
"desc":"20001: net_error,\n20002: gps_error,\n20003: temp_sensor_error,\n20004: light_sensor_error,\n20005: move_sensor_error,\n20006: mike_error,"
|
||||
"desc":""
|
||||
},
|
||||
{
|
||||
"specs":{
|
||||
"unit":"",
|
||||
"min":"0",
|
||||
"max":"2",
|
||||
"step":"1"
|
||||
},
|
||||
"specs":[
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"无GPS模块",
|
||||
"value":"0"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"内置GPS模块",
|
||||
"value":"1"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"外置GPS模块",
|
||||
"value":"2"
|
||||
}
|
||||
],
|
||||
"code":"gps_mode",
|
||||
"dataType":"INT",
|
||||
"dataType":"ENUM",
|
||||
"name":"GPS模块类型",
|
||||
"subType":"R",
|
||||
"id":37,
|
||||
"sort":30,
|
||||
"type":"PROPERTY",
|
||||
"desc":"0: 无GPS模块,\n1: 内置GPS模块,\n2: 外置GPS模块,"
|
||||
"desc":""
|
||||
},
|
||||
{
|
||||
"specs":[
|
||||
{
|
||||
"dataType":"BOOL",
|
||||
"name":"接受升级",
|
||||
"value":"true"
|
||||
"dataType":"ENUM",
|
||||
"name":"取消升级",
|
||||
"value":"0"
|
||||
},
|
||||
{
|
||||
"dataType":"BOOL",
|
||||
"name":"拒绝升级",
|
||||
"value":"false"
|
||||
"dataType":"ENUM",
|
||||
"name":"确认升级",
|
||||
"value":"1"
|
||||
}
|
||||
],
|
||||
"code":"user_ota_action",
|
||||
"dataType":"BOOL",
|
||||
"dataType":"ENUM",
|
||||
"name":"是否OTA升级",
|
||||
"subType":"W",
|
||||
"subType":"RW",
|
||||
"id":38,
|
||||
"sort":31,
|
||||
"type":"PROPERTY",
|
||||
"desc":"当OTA自动升级关闭时, 用户通过查看设备当前是否有OTA升级来进行自主选择升级或不升级"
|
||||
},
|
||||
{
|
||||
"specs":{
|
||||
"unit":"",
|
||||
"min":"0",
|
||||
"max":"5",
|
||||
"step":"1"
|
||||
},
|
||||
"specs":[
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"无升级",
|
||||
"value":"0"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"待升级",
|
||||
"value":"1"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"升级中",
|
||||
"value":"2"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"升级成功",
|
||||
"value":"3"
|
||||
},
|
||||
{
|
||||
"dataType":"ENUM",
|
||||
"name":"升级失败",
|
||||
"value":"4"
|
||||
}
|
||||
],
|
||||
"code":"ota_status",
|
||||
"dataType":"INT",
|
||||
"dataType":"ENUM",
|
||||
"name":"OTA升级状态",
|
||||
"subType":"R",
|
||||
"id":39,
|
||||
"sort":32,
|
||||
"type":"PROPERTY",
|
||||
"desc":"0: 无升级;\n1: 待升级;\n2: 升级中;\n3: 升级成功;\n4: 升级失败"
|
||||
"desc":""
|
||||
}
|
||||
],
|
||||
"events":[
|
||||
@ -514,9 +705,6 @@
|
||||
"outputData":[
|
||||
{
|
||||
"$ref":"#/properties/id/19"
|
||||
},
|
||||
{
|
||||
"$ref":"#/properties/id/36"
|
||||
}
|
||||
],
|
||||
"code":"fault_alert",
|
||||
@ -529,14 +717,8 @@
|
||||
},
|
||||
{
|
||||
"outputData":[
|
||||
{
|
||||
"$ref":"#/properties/id/4"
|
||||
},
|
||||
{
|
||||
"$ref":"#/properties/id/19"
|
||||
},
|
||||
{
|
||||
"$ref":"#/properties/id/15"
|
||||
}
|
||||
],
|
||||
"code":"low_power_alert",
|
||||
@ -563,15 +745,12 @@
|
||||
},
|
||||
{
|
||||
"outputData":[
|
||||
{
|
||||
"$ref":"#/properties/id/21"
|
||||
},
|
||||
{
|
||||
"$ref":"#/properties/id/19"
|
||||
}
|
||||
],
|
||||
"code":"drive_behavior_alert",
|
||||
"name":"驾驶行为报警",
|
||||
"name":"异常驾驶行为报警",
|
||||
"subType":"WARN",
|
||||
"id":22,
|
||||
"sort":24,
|
||||
|
Loading…
x
Reference in New Issue
Block a user