demo.tracker-v2/docs/tracker公版方案用户指导手册.md
2022-03-16 16:43:57 +08:00

10 KiB
Raw Blame History

Tracker API v2.0.0

Tracker

创建 Tracker 对象

  1. 导入Tracker模块
  2. 创建Tracker对象
  • 例:
from usr.tracker import Tracker
tracker = Tracker()

alert 告警功能

该功能提供post_alert方法, 将定义好的报警编码与报警信息上报到云端。

tracker.alert.post_alert

  • 例:
import utime
alert_code = 20000
alert_info = {
    'fault_code': 20001,
    'local_time': utime.mktime(utime.localtime())
}
tracker.alert.post_alert(alert_code, alert_info)
  • 参数:
参数 参数类型 参数说明
alert_code int 报警编码
alert_info dict 报警信息, key为标识符, value为具体信息
  • 返回值:

  • 报警编码与标识符
报警编码 子码 标识符 说明
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

  • 例:
battery_energy = tracker.battery.energy()
  • 参数:

  • 返回值:

返回当前电池电量百分比, 数据类型为int

locator 定位功能

该功能提供了readtrigger两个方法, 定位模式, 定位方式, 定位信息上报模式在settings模块中配置, 亦可通过云端远程进行消息控制。

read 查询当前发送云端的定位信息。

tracker.locator.read

  • 例:
location_info = tracker.locator.read()
  • 参数:

  • 返回值:

返回当前定位方式与定位信息, 数据类型为元组, (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
      • []

trigger 用于立即向云端报告设备定位信息功能。

tracker.locator.trigger

  • 例:
tracker.locator.trigger()
  • 参数: 无

  • 返回值: 无

remote 信息通信功能

post_data 向云端进行消息发送功能。

  • post_data发放支持阻塞和非阻塞两种消息发送模式, 默认为阻塞方式进行消息发送。

tracker.remote.post_data

  • 例:
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)
  • 参数:
参数 参数类型 参数说明
data_type int 数据类型
data dict 数据信息
  • data_type 枚举值
枚举值 标识符 说明
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发送失败。

set_block_io 设置消息发送为阻塞或非阻塞方式。

tracker.remote.set_block_io

  • 例:
tracker.remote.set_block_io(False)
  • 参数:
参数 参数类型 参数说明
val bool 是否阻塞发送消息, 默认True, True:阻塞;False:非阻塞

machine_info_report 机器信息上报功能

该模块实现了机器信息的汇总上报功能, 会将机器的位置信息, 开机状态, 电池电量等相关设置信息全部实时上报云端。

  • 例:
tracker.machine_info_report()
  • 参数:

  • 返回值:

machine_check 机器自检功能

该功能用于检测设备相关功能是否正常, 主要包括网络状态, GPS模组, 各类传感器, 麦克风是否正常工作(目前暂不支持各类传感器麦克风等外设检测)。 如异常会上报远端异常信息。 检查完毕后不论异常与否都会调用machine_info_report功能上报云端设备所有信息。

  • 例:
tracker.machine_check()
  • 参数:

  • 返回值:

settings

该模块为配置参数模块

  • 该模块主要有appsys两种类型的参数。
  • app为可修改控制相关参数;
  • sys为系统默认参数, 不可修改。
  • 配置参数都已集成到一个字典中, 可通过settings.get()方式获取到具体配置参数
  • app配置参数具体含义见quec_cloud_module.json(导入移远云产品功能定义中)

settings 导入

  • 例:
from usr.settings import settings

init 初始化

  • 例:
settings.init()
  • 参数:

  • 返回值:

get 获取配置参数

  • 例:
current_settings = settings.get()
  • 参数:

  • 返回值:
返回数据类型 说明
dict 字典参数
{
    "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
            }
        }
    }
}

set 设置配置参数

  • 例:
opt = 'phone_num'
val = '123456789'
settings.set(opt, val)
  • 参数:
参数 参数类型 参数说明
opt str 配置参数标识符
val str/bool/int 配置参数属性值
  • 返回值:

save 持久化保存配置参数

  • 例:
settings.save()
  • 参数:

  • 返回值:

reset 重置配置参数

  • 例:
settings.reset()
  • 参数:

  • 返回值: