demo.tracker-v2/docs/tracker公版方案用户指导手册.md

423 lines
10 KiB
Markdown
Raw Normal View History

# Tracker API v2.0.0
## Tracker
### 创建 Tracker 对象
1. 导入Tracker模块
2. 创建Tracker对象
2022-03-16 16:29:40 +08:00
- 例:
```python
from usr.tracker import Tracker
tracker = Tracker()
```
### alert 告警功能
该功能提供`post_alert`方法, 将定义好的报警编码与报警信息上报到云端。
>`tracker.alert.post_alert`
2022-03-16 16:29:40 +08:00
- 例:
```python
import utime
alert_code = 20000
alert_info = {
'fault_code': 20001,
'local_time': utime.mktime(utime.localtime())
}
tracker.alert.post_alert(alert_code, alert_info)
```
2022-03-16 16:29:40 +08:00
- 参数:
|参数|参数类型|参数说明|
|:---|---|---|
|alert_code|int|报警编码|
|alert_info|dict|报警信息, key为标识符, value为具体信息|
2022-03-16 16:29:40 +08:00
- 返回值:
2022-03-16 16:29:40 +08:00
- 报警编码与标识符
|报警编码|子码|标识符|说明|
|:---|:---|:---|:---|
|20000|-|`fault_alert`|故障报警|
|-|20001|`net_error`|网络异常|
|-|20002|`gps_error`|GPS异常|
|-|20003|`temp_sensor_error`|温度传感器异常|
|-|20004|`light_sensor_error`|照度传感器异常|
|-|20005|`move_sensor_error`|三轴加速度传感器异常|
|-|20006|`mike_error`|麦克风异常|
|30002|-|`low_power_alert`|低电量报警|
|30003|-|`over_speed_alert`|超速报警|
|30004|-|`sim_out_alert`|拔卡报警|
|30005|-|`disassemble_alert`|拆卸报警|
|40000|-|`drive_behavior_alert`|驾驶行为监测报警|
|-|40001|`quick_start`|急起|
|-|40002|`quick_stop`|急停|
|-|40003|`quick_turn_left`|左急转弯|
|-|40004|`quick_turn_right`|右急转弯|
|50001|-|`sos_alert`|SOS求救报警|
### battery 电池功能
改功能提供`energy`方法查询当前电池电量。
>`tracker.battery.energy`
2022-03-16 16:29:40 +08:00
- 例:
```python
battery_energy = tracker.battery.energy()
```
2022-03-16 16:29:40 +08:00
- 参数:
2022-03-16 16:29:40 +08:00
- 返回值:
返回当前电池电量百分比, 数据类型为`int`
### locator 定位功能
该功能提供了`read``trigger`两个方法, 定位模式, 定位方式, 定位信息上报模式在`settings`模块中配置, 亦可通过云端远程进行消息控制。
2022-03-16 16:41:59 +08:00
#### `read`方法用于查询当前发送云端的定位信息。
>`tracker.locator.read`
2022-03-16 16:29:40 +08:00
- 例:
```python
location_info = tracker.locator.read()
```
2022-03-16 16:29:40 +08:00
- 参数:
2022-03-16 16:29:40 +08:00
- 返回值:
返回当前定位方式与定位信息, 数据类型为元组, `(loc_method, loc_data)`, `()`空元组表示没有获取到定位信息。
- `loc_method` 定位方式
- 0 -- 无
- 1 -- GPS
- 2 -- 基站
- 4 -- WIFI(暂不支持)
- 7 -- GPS&基站&WIFI
- `loc_data` 定位信息
- `loc_method` -- 1
- `['GxRMC,XXX...', 'GxGGA,XXX...', 'GxVTG,XXX...']`
- `loc_method` -- 2
- `['LBS']`
- `loc_method` -- 4
- `[]`
2022-03-16 16:41:59 +08:00
#### `trigger`方法用于立即向云端报告设备定位信息功能。
>`tracker.locator.trigger`
2022-03-16 16:29:40 +08:00
- 例:
```python
tracker.locator.trigger()
```
2022-03-16 16:29:40 +08:00
- 参数:
2022-03-16 16:29:40 +08:00
- 返回值:
### remote 信息通信功能
2022-03-16 16:41:59 +08:00
#### `post_data`方法向云端进行消息发送功能。
- `post_data`发放支持阻塞和非阻塞两种消息发送模式, 默认为阻塞方式进行消息发送。
>`tracker.remote.post_data`
2022-03-16 16:29:40 +08:00
- 例:
```python
import utime
data = {
'power_switch': True,
'energy': tracker.battery.energy(),
'local_time': utime.mktime(utime.localtime())
}
tracker.remote.post_data(tracker.remote.DATA_NON_LOCA, data)
```
2022-03-16 16:29:40 +08:00
- 参数:
|参数|参数类型|参数说明|
|:---|---|---|
|data_type|int|数据类型|
|data|dict|数据信息|
2022-03-16 16:29:40 +08:00
- data_type 枚举值
2022-03-16 16:29:40 +08:00
|枚举值|标识符|说明|
|:---|---|---|
|0|`DATA_NON_LOCA`|非定位数据|
|1|`DATA_LOCA_NON_GPS`|非GPS定位数据|
|2|`DATA_LOCA_GPS`|GPS定位数据|
- 移远云物模型属性功能定义标识符
|功能名称|标识符|数据类型|数据定义|功能描述|读写类型|
|:---|:---|:---|:---|:---|:---|
|开关机|`power_switch`|`bool`|`True`:开启,`False`:关闭||读写|
|电量|`energy`|`int`|取值范围0 ~ 100||只读|
|电话号码|`phone_num`|`text`|数据长度11||读写|
|定位方式|`loc_method`|`int`|取值范围0 ~ 7|0: 无;1: GPS;2: 基站;4: WIFI(暂不支持);7: 全部支持|读写|
|定位工作模式|`loc_mode`|`int`|取值范围0 ~ 15|0: 无;1: 循环;2: 报警时;4: 电话呼入;8: 开启录音时;15: 全部|读写|
|定位周期|`loc_cycle_period`|`int`|取值范围: ~|单位s|读写|
|本地时间|`local_time`|`int`|取值范围: ~||只读|
|低电报警阈值|`low_power_alert_threshold`|`int`|取值范围5 ~ 30||读写|
|低电关机阈值|`low_power_shutdown_threshold`|`int`|取值范围5 ~ 30||读写|
|OTA功能开关|`sw_ota`|`bool`|`True`:开启,`False`:关闭||读写|
|OTA自动升级功能开关|`sw_ota_auto_upgrade`|`bool`|`True`:开启,`False`:关闭||读写|
|语音监听功能开关|`sw_voice_listen`|`bool`|`True`:开启,`False`:关闭||读写|
|录音上报功能开关|`sw_voice_record`|`bool`|`True`:开启,`False`:关闭||读写|
|故障报警功能开关|`sw_fault_alert`|`bool`|`True`:开启,`False`:关闭||读写|
|低电报警功能开关|`sw_low_power_alert`|`bool`|`True`:开启,`False`:关闭||读写|
|超速报警功能开关|`sw_over_speed_alert`|`bool`|`True`:开启,`False`:关闭||读写|
|拔卡报警功能开关|`sw_sim_out_alert`|`bool`|`True`:开启,`False`:关闭||读写|
|拆卸报警功能开关|`sw_disassemble_alert`|`bool`|`True`:开启,`False`:关闭||读写|
|驾驶行为报警功能开关|`sw_drive_behavior_alert`|`bool`|`True`:开启,`False`:关闭||读写|
|驾驶行为代码|`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|只读|
|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: 升级失败|只读|
- 移远云物模型事件功能定义标识符
|功能名称|标识符|数据定义|
|:---|:---|:---|
|SOS报警|`sos_alert`|`{'local_time': xxx}`|
|故障报警|`fault_alert`|`{'local_time': xxx, 'fault_code': 20001}`|
|低电报警|`low_power_alert`|`{'local_time': xxx, 'energy': 20}`|
|拔卡报警|`sim_out_alert`|`{'local_time': xxx}`|
|驾驶行为报警|`drive_behavior_alert`|`{'local_time': xxx, 'drive_behavior_code': 40001}`|
|拆卸报警|`disassemble_alert`|`{'local_time': xxx}`|
|超速报警|`over_speed_alert`|`{'local_time': xxx}`|
- 返回值:
返回`bool`类型数据, `True`发送成功, `False`发送失败。
2022-03-16 16:41:59 +08:00
#### `set_block_io`方法可以设置消息发送的阻塞和非阻塞方式。
>`tracker.remote.set_block_io`
2022-03-16 16:29:40 +08:00
- 例:
```python
tracker.remote.set_block_io(False)
```
2022-03-16 16:29:40 +08:00
- 参数:
|参数|参数类型|参数说明|
|:---|---|---|
2022-03-16 16:29:40 +08:00
|val|bool|是否阻塞发送消息, 默认True, True:阻塞;False:非阻塞|
### machine_info_report 机器信息上报功能
该模块实现了机器信息的汇总上报功能, 会将机器的位置信息, 开机状态, 电池电量等相关设置信息全部实时上报云端。
2022-03-16 16:29:40 +08:00
- 例:
```python
tracker.machine_info_report()
```
2022-03-16 16:29:40 +08:00
- 参数:
2022-03-16 16:29:40 +08:00
- 返回值:
### machine_check 机器自检功能
该功能用于检测设备相关功能是否正常, 主要包括网络状态, GPS模组, 各类传感器, 麦克风是否正常工作(目前暂不支持各类传感器麦克风等外设检测)。 如异常会上报远端异常信息。 检查完毕后不论异常与否都会调用`machine_info_report`功能上报云端设备所有信息。
2022-03-16 16:29:40 +08:00
- 例:
```python
tracker.machine_check()
```
2022-03-16 16:29:40 +08:00
- 参数:
2022-03-16 16:29:40 +08:00
- 返回值:
## settings
2022-03-16 16:29:40 +08:00
该模块为配置参数模块
- 该模块主要有`app``sys`两种类型的参数。
- `app`为可修改控制相关参数;
- `sys`为系统默认参数, 不可修改。
- 配置参数都已集成到一个字典中, 可通过`settings.get()`方式获取到具体配置参数
- `app`配置参数具体含义见`quec_cloud_module.json`(导入移远云产品功能定义中)
### settings 导入
2022-03-16 16:29:40 +08:00
- 例:
```python
from usr.settings import settings
```
### init 初始化
2022-03-16 16:29:40 +08:00
- 例:
```python
settings.init()
```
2022-03-16 16:29:40 +08:00
- 参数:
2022-03-16 16:29:40 +08:00
- 返回值:
2022-03-16 16:29:40 +08:00
### get 获取配置参数
2022-03-16 16:29:40 +08:00
- 例:
```python
2022-03-16 16:29:40 +08:00
current_settings = settings.get()
```
2022-03-16 16:29:40 +08:00
- 参数:
2022-03-16 16:29:40 +08:00
- 返回值:
2022-03-16 16:29:40 +08:00
|返回数据类型|说明|
|:---|---|
|dict|字典参数|
```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
}
}
}
}
```
2022-03-16 16:29:40 +08:00
### set 设置配置参数
- 例:
```python
opt = 'phone_num'
val = '123456789'
settings.set(opt, val)
```
- 参数:
|参数|参数类型|参数说明|
|:---|---|---|
|opt|str|配置参数标识符|
|val|str/bool/int|配置参数属性值|
- 返回值:
### save 持久化保存配置参数
- 例:
```python
settings.save()
```
- 参数:
- 返回值:
### reset 重置配置参数
- 例:
```python
settings.reset()
```
- 参数:
- 返回值: