add: 1. readme.md; 2. quec_cloud_module.json

This commit is contained in:
JackSun-qc 2022-03-13 16:28:15 +08:00
parent 9feabc5ab3
commit cae4a0dbc8
3 changed files with 798 additions and 2 deletions

View File

@ -89,9 +89,9 @@ class Tracker(Singleton):
else:
self.running_led.period = 0.5
if not net_check_res:
self.alert.post_alert(20000, {'fault_code': 20001})
self.alert.post_alert(20000, {'fault_code': 20001, 'local_time': utime.mktime(utime.localtime())})
if not gps_check_res:
self.alert.post_alert(20000, {'fault_code': 20002})
self.alert.post_alert(20000, {'fault_code': 20002, 'local_time': utime.mktime(utime.localtime())})
if not sensor_check_res:
# TODO: Need To Check What Sensor Error To Report.
pass

574
quec_cloud_module.json Normal file
View File

@ -0,0 +1,574 @@
{
"profile":{
"tslVersion":"1.1.0",
"productKey":"p11275",
"version":"20220313162641877"
},
"properties":[
{
"specs":[
{
"dataType":"BOOL",
"name":"开",
"value":"true"
},
{
"dataType":"BOOL",
"name":"关",
"value":"false"
}
],
"code":"power_switch",
"dataType":"BOOL",
"name":"开关机",
"subType":"RW",
"id":9,
"sort":0,
"type":"PROPERTY",
"desc":"开关机时,主动上报开关机状态"
},
{
"specs":{
"unit":"",
"min":"0",
"max":"100",
"step":"1"
},
"code":"energy",
"dataType":"INT",
"name":"电量",
"subType":"R",
"id":4,
"sort":1,
"type":"PROPERTY",
"desc":""
},
{
"specs":{
"length":"11"
},
"code":"phone_num",
"dataType":"TEXT",
"name":"电话号码",
"subType":"RW",
"id":23,
"sort":2,
"type":"PROPERTY",
"desc":""
},
{
"specs":{
"unit":"",
"min":"0",
"max":"7",
"step":"1"
},
"code":"loc_method",
"dataType":"INT",
"name":"定位方式",
"subType":"RW",
"id":24,
"sort":3,
"type":"PROPERTY",
"desc":"0: 无\n1: GPS\n2: 基站\n4: WIFI(暂不支持)\n7: 全部支持"
},
{
"specs":{
"unit":"",
"min":"0",
"max":"15",
"step":"1"
},
"code":"loc_mode",
"dataType":"INT",
"name":"定位工作模式",
"subType":"RW",
"id":25,
"sort":4,
"type":"PROPERTY",
"desc":"0: 无\n1: 循环\n2: 报警时\n4: 电话呼入\n8: 开启录音时\n15: 全部"
},
{
"specs":{
"unit":"",
"min":"",
"max":"",
"step":""
},
"code":"loc_cycle_period",
"dataType":"INT",
"name":"定位周期",
"subType":"RW",
"id":26,
"sort":5,
"type":"PROPERTY",
"desc":"单位s"
},
{
"specs":{
"unit":"",
"min":"",
"max":"",
"step":""
},
"code":"local_time",
"dataType":"INT",
"name":"本地时间",
"subType":"R",
"id":19,
"sort":6,
"type":"PROPERTY",
"desc":""
},
{
"specs":{
"unit":"",
"min":"5",
"max":"30",
"step":"1"
},
"code":"low_power_alert_threshold",
"dataType":"INT",
"name":"低电报警阈值",
"subType":"RW",
"id":15,
"sort":7,
"type":"PROPERTY",
"desc":""
},
{
"specs":{
"unit":"",
"min":"5",
"max":"30",
"step":"1"
},
"code":"low_power_shutdown_threshold",
"dataType":"INT",
"name":"低电关机阈值",
"subType":"RW",
"id":16,
"sort":8,
"type":"PROPERTY",
"desc":""
},
{
"specs":[
{
"dataType":"BOOL",
"name":"开",
"value":"true"
},
{
"dataType":"BOOL",
"name":"关",
"value":"false"
}
],
"code":"sw_ota",
"dataType":"BOOL",
"name":"OTA功能开关",
"subType":"RW",
"id":12,
"sort":9,
"type":"PROPERTY",
"desc":""
},
{
"specs":[
{
"dataType":"BOOL",
"name":"开",
"value":"true"
},
{
"dataType":"BOOL",
"name":"关",
"value":"false"
}
],
"code":"sw_ota_auto_upgrade",
"dataType":"BOOL",
"name":"OTA自动升级功能开关",
"subType":"RW",
"id":13,
"sort":10,
"type":"PROPERTY",
"desc":""
},
{
"specs":[
{
"dataType":"BOOL",
"name":"开",
"value":"true"
},
{
"dataType":"BOOL",
"name":"关",
"value":"false"
}
],
"code":"sw_voice_listen",
"dataType":"BOOL",
"name":"语音监听功能开关",
"subType":"RW",
"id":10,
"sort":11,
"type":"PROPERTY",
"desc":""
},
{
"specs":[
{
"dataType":"BOOL",
"name":"开",
"value":"true"
},
{
"dataType":"BOOL",
"name":"关",
"value":"false"
}
],
"code":"sw_voice_record",
"dataType":"BOOL",
"name":"录音上报功能开关",
"subType":"RW",
"id":11,
"sort":12,
"type":"PROPERTY",
"desc":""
},
{
"specs":[
{
"dataType":"BOOL",
"name":"开",
"value":"true"
},
{
"dataType":"BOOL",
"name":"关",
"value":"false"
}
],
"code":"sw_fault_alert",
"dataType":"BOOL",
"name":"故障报警功能开关",
"subType":"RW",
"id":27,
"sort":13,
"type":"PROPERTY",
"desc":""
},
{
"specs":[
{
"dataType":"BOOL",
"name":"开",
"value":"true"
},
{
"dataType":"BOOL",
"name":"关",
"value":"false"
}
],
"code":"sw_low_power_alert",
"dataType":"BOOL",
"name":"低电报警功能开关",
"subType":"RW",
"id":28,
"sort":14,
"type":"PROPERTY",
"desc":""
},
{
"specs":[
{
"dataType":"BOOL",
"name":"开",
"value":"true"
},
{
"dataType":"BOOL",
"name":"关",
"value":"false"
}
],
"code":"sw_over_speed_alert",
"dataType":"BOOL",
"name":"超速报警功能开关",
"subType":"RW",
"id":29,
"sort":15,
"type":"PROPERTY",
"desc":""
},
{
"specs":[
{
"dataType":"BOOL",
"name":"开",
"value":"true"
},
{
"dataType":"BOOL",
"name":"关",
"value":"false"
}
],
"code":"sw_sim_out_alert",
"dataType":"BOOL",
"name":"拔卡报警功能开关",
"subType":"RW",
"id":30,
"sort":16,
"type":"PROPERTY",
"desc":""
},
{
"specs":[
{
"dataType":"BOOL",
"name":"开",
"value":"true"
},
{
"dataType":"BOOL",
"name":"关",
"value":"false"
}
],
"code":"sw_disassemble_alert",
"dataType":"BOOL",
"name":"拆卸报警功能开关",
"subType":"RW",
"id":31,
"sort":17,
"type":"PROPERTY",
"desc":""
},
{
"specs":[
{
"dataType":"BOOL",
"name":"开",
"value":"true"
},
{
"dataType":"BOOL",
"name":"关",
"value":"false"
}
],
"code":"sw_drive_behavior_alert",
"dataType":"BOOL",
"name":"驾驶行为报警功能开关",
"subType":"RW",
"id":32,
"sort":18,
"type":"PROPERTY",
"desc":""
},
{
"specs":{
"unit":"",
"min":"40001",
"max":"40004",
"step":"1"
},
"code":"drive_behavior_code",
"dataType":"INT",
"name":"驾驶行为代码",
"subType":"R",
"id":21,
"sort":19,
"type":"PROPERTY",
"desc":"40001: quick_start\n40002: quick_stop\n40003: quick_turn_left\n40004: quick_turn_right"
},
{
"specs":[
{
"dataType":"BOOL",
"name":"重启",
"value":"true"
},
{
"dataType":"BOOL",
"name":"无动作",
"value":"false"
}
],
"code":"power_restart",
"dataType":"BOOL",
"name":"模块重启",
"subType":"W",
"id":33,
"sort":26,
"type":"PROPERTY",
"desc":""
},
{
"specs":{
"unit":"km/h",
"min":"0",
"max":"132",
"step":"1"
},
"code":"over_speed_threshold",
"dataType":"INT",
"name":"超速报警阈值",
"subType":"RW",
"id":34,
"sort":27,
"type":"PROPERTY",
"desc":"单位km/h"
},
{
"specs":{
"unit":"",
"min":"20001",
"max":"29999",
"step":"1"
},
"code":"fault_code",
"dataType":"INT",
"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,"
},
{
"specs":{
"unit":"",
"min":"0",
"max":"2",
"step":"1"
},
"code":"gps_mode",
"dataType":"INT",
"name":"GPS模块类型",
"subType":"R",
"id":37,
"sort":30,
"type":"PROPERTY",
"desc":"0: 无GPS模块,\n1: 内置GPS模块,\n2: 外置GPS模块,"
}
],
"events":[
{
"outputData":[
{
"$ref":"#/properties/id/19"
}
],
"code":"sos_alert",
"name":"SOS报警",
"subType":"WARN",
"id":6,
"sort":20,
"type":"EVENT",
"desc":""
},
{
"outputData":[
{
"$ref":"#/properties/id/19"
},
{
"$ref":"#/properties/id/36"
}
],
"code":"fault_alert",
"name":"故障报警",
"subType":"ERROR",
"id":14,
"sort":21,
"type":"EVENT",
"desc":""
},
{
"outputData":[
{
"$ref":"#/properties/id/4"
},
{
"$ref":"#/properties/id/19"
},
{
"$ref":"#/properties/id/15"
}
],
"code":"low_power_alert",
"name":"低电报警",
"subType":"WARN",
"id":17,
"sort":22,
"type":"EVENT",
"desc":""
},
{
"outputData":[
{
"$ref":"#/properties/id/19"
}
],
"code":"sim_out_alert",
"name":"拔卡报警",
"subType":"WARN",
"id":18,
"sort":23,
"type":"EVENT",
"desc":""
},
{
"outputData":[
{
"$ref":"#/properties/id/21"
},
{
"$ref":"#/properties/id/19"
}
],
"code":"drive_behavior_alert",
"name":"驾驶行为报警",
"subType":"WARN",
"id":22,
"sort":24,
"type":"EVENT",
"desc":""
},
{
"outputData":[
{
"$ref":"#/properties/id/19"
}
],
"code":"disassemble_alert",
"name":"拆卸报警",
"subType":"WARN",
"id":20,
"sort":25,
"type":"EVENT",
"desc":""
},
{
"outputData":[
{
"$ref":"#/properties/id/19"
}
],
"code":"over_speed_alert",
"name":"超速报警",
"subType":"WARN",
"id":35,
"sort":28,
"type":"EVENT",
"desc":""
}
]
}

222
readme.md
View File

@ -4,3 +4,225 @@
## Script files are in code directory
## Function definitions file is in docs directory
## tracker 功能模块
该模块为具体tracker功能的集合, 内部封装实现的具体功能如下
1. 与云端的数据交互功能, 主要包括设备数据信息的上报与云端数据下发控制;
2. (GPS, 基站)定位位置信息的自动上报功能;
3. 设备异常信息告警功能;
4. 电池电量信息检测与提示功能;
### alert 功能
该功能提供`post_alert`方法, 将定义好的报警编码与报警信息上报到云端。
> 报警编码与标识符
> - 20000: `fault_alert`
> - 30002: `low_power_alert`
> - 30003: `over_speed_alert`
> - 30004: `sim_out_alert`
> - 30005: `disassemble_alert`
> - 40000: `drive_behavior_alert`
> - 50001: `sos_alert`
>
>> `fault_alert`故障报警编码与标识符
>> - 20001: `net_error`
>> - 20002: `gps_error`
>> - 20003: `temp_sensor_error`
>> - 20004: `light_sensor_error`
>> - 20005: `move_sensor_error`
>> - 20006: `mike_error`
>
>> `drive_behavior_alert`驾驶行为异常报警编码与标识符
>> - 40001: `quick_start`
>> - 40002: `quick_stop`
>> - 40003: `quick_turn_left`
>> - 40004: `quick_turn_right`
例:
```python
import utime
from usr.tracker import Tracker
tracker = Tracker()
alert_code = 20000
alert_info = {
'fault_code': 20001,
'local_time': utime.mktime(utime.localtime())
}
tracker.alert.post_alert(alert_code, alert_info)
```
### battery 功能
改功能提供`energy`方法查询当前电池电量。
例:
```python
from usr.tracker import Tracker
tracker = Tracker()
battery_energy = tracker.battery.energy()
```
### location 功能
该功能提供了`read``trigger`两个方法, 定位模式, 定位方式, 定位信息上报模式在`settings`模块中配置, 亦可通过云端远程进行消息控制。
- `read`方法用于查询当前发送云端的定位信息。
- `trigger`方法用于立即向云端报告设备定位信息功能。
例:
```python
from usr.tracker import Tracker
tracker = Tracker()
location_info = tracker.locator.read()
tracker.locator.trigger()
```
### remote 功能
该功能提供了`post_data``set_block_io`方法向云端进行消息通信功能(目前暂时只支持移远云)。
- `post_data`方法向云端进行消息发送功能。`post_data`发放支持阻塞和非阻塞两种消息发送模式, 默认为阻塞方式进行消息发送。
- `set_block_io`方法可以设置消息发送的阻塞和非阻塞方式。
- 移远云目前的消息有三种模式
- `DATA_NON_LOCA` (非位置信息)
- `DATA_LOCA_NON_GPS` (非GPS位置信息)
- `DATA_LOCA_GPS` (GPS位置信息)
- 移远云物模型功能定义标识符(具体详述见`quec_cloud_module.json`)
- `power_switch`
- `energy`
- `phone_num`
- `loc_method`
- `loc_mode`
- `loc_cycle_period`
- `local_time`
- `low_power_alert_threshold`
- `low_power_shutdown_threshold`
- `sw_ota`
- `sw_ota_auto_upgrade`
- `sw_voice_listen`
- `sw_voice_record`
- `sw_fault_alert`
- `sw_low_power_alert`
- `sw_over_speed_alert`
- `sw_sim_out_alert`
- `sw_disassemble_alert`
- `sw_drive_behavior_alert`
- `drive_behavior_code`
- `sos_alert`
- `fault_alert`
- `low_power_alert`
- `sim_out_alert`
- `drive_behavior_alert`
- `disassemble_alert`
- `power_restart`
- `over_speed_threshold`
- `over_speed_alert`
- `fault_code`
- `gps_mode`
例:
```python
import utime
from usr.tracker import Tracker
tracker = Tracker()
data = {
'power_switch': True,
'energy': tracker.battery.energy(),
'local_time': utime.mktime(utime.localtime())
}
tracker.remote.post_data(tracker.remote.DATA_NON_LOCA, data)
tracker.locator.trigger()
```
### tracker_timer 功能
该模块为`tracker`定时器模块, 该模块实现了三个定时任务
1. 周期性循环发送设备位置信息(此处发送周期和是否周期发送可在`settings`模块中设置, 可以通过云端下发指令远程控制);
2. 每60秒循环获取当前电池电量进行电量提示, 低电量报警, 地点了关机等检测;
3. GPS位置信息循环获取, 此功能只针对内置GPS模块, 外置GPS模块该功能不启动。
### machine_info_report 功能
该模块实现了机器信息的汇总上报功能, 会将机器的位置信息, 开机状态, 电池电量等相关设置信息全部实时上报云端。
例:
```python
from usr.tracker import Tracker
tracker = Tracker()
tracker.machine_info_report()
```
### machine_check 功能
该功能用于检测设备相关功能是否正常, 主要包括网络状态, GPS模组, 各类传感器, 麦克风是否正常工作(目前暂不支持各类传感器麦克风等外设检测)。 如异常会上报远端异常信息。 检查完毕后不论异常与否都会调用`machine_info_report`功能上报云端设备所有信息。
例:
```python
from usr.tracker import Tracker
tracker = Tracker()
tracker.machine_check()
```
## settings 功能模块
该模块为配置参数模块, 该模块主要有`app``sys`两种类型的参数。并提供settings方法对`app`类型参数进行修改, 从而实现远程下发指令控制模块功能。
- `app`为可修改控制相关参数;
- `sys`为系统默认参数, 不可修改。
- 配置参数都已集成到一个字典中, 可通过`settings.get()`方式获取到具体配置参数
- `app`配置参数具体含义见`quec_cloud_module.json`(导入移远云产品功能定义中)
```json
{
"app": {
"loc_cycle_period": 1,
"phone_num": "",
"loc_method": 1,
"loc_mode": 0,
"low_power_alert_threshold": 20,
"low_power_shutdown_threshold": 5,
"sw_over_speed_alert": true,
"over_speed_threshold": 120,
"sw_disassemble_alert": true,
"sw_fault_alert": true,
"sw_low_power_alert": true,
"sw_voice_record": false,
"sw_voice_listen": false,
"sw_sim_out_alert": true,
"gps_mode": 2,
"sw_drive_behavior_alert": true,
"sw_ota": true,
"sw_ota_auto_upgrade": true
},
"sys": {
"cloud": 1,
"profile_idx": 1,
"cloud_init_params": {
"DK": "XXXXX",
"DS": "XXXXX",
"PK": "XXXXX",
"PS": "XXXXX"
},
"locator_init_params": {
"gps_cfg": {
"parity": 0,
"stopbits": 1,
"flowctl": 0,
"UARTn": 1,
"buadrate": 115200,
"databits": 8
}
}
}
}
```