demo.tracker-v2/docs/tracker公版方案用户指导手册.md
2022-03-21 18:42:35 +08:00

16 KiB
Raw Blame History

Tracker 公版方案用户指导手册

Tracker 功能列表

设备自动开关机与指示灯

低电关机

  • 开机状态下电量≤5%时,自动关机,关闭一切指示灯。
  • 关机前,需向云端报告一次设备状态(位置,电量等)。

开机自检(网络、GPS检测开发完成, 其他开发中)

  • 检测网络、GPS模组、各类传感器、麦克风是否正常工作
    • 正常运行状态指示灯2s闪烁一次。
    • 异常运行状态指示灯500ms闪烁一次在网络正常的情况下需向云端发出故障报警。

电量指示灯(开发中)

  • 低电告警阈值<电量:长亮
  • 低电关机阈值<电量<=低电告警阈值1秒闪烁一次
  • 电量<=低电关机阈值:熄灭

运行状态指示灯(开发中)

  • 参考开机自检功能的逻辑说明。

设备信息交互功能

多重定位

  • 由GPS、WiFi或基站综合确定位置信息。
  • 默认GPS定位具体使用哪一种或几种定位技术可由云端或手机APP控制。

电子围栏(开发中)

  • 由云端规划安全区域或航线。
  • 位置超出区域或偏离航线的,云端向登记的手机号发送报警短信。
  • 功能的开启可由云端或手机APP控制。默认开启该功能。
  • 目前只移远云支持该功能。

语音监听(开发中)

  • 云端登记的手机号拨打tracker中的手机号时自动接听监听现场的声音。
  • 功能的开启可由云端或手机APP控制。默认开启该功能。

录音上报(开发中)

  • 自动录音并上报的功能可由云端或手机APP控制。默认关闭该功能。

部标808协议(开发中)

  • 与云端之间的通信遵循808协议。

设备信息上报

  • 上报设备定位信息,电量,开关机状态,定位方式,电话号码等信息;
  • 默认上报设备信息的场景:
    1. 报警发生时
    2. 语音监听时
    3. 录音时
  • 根据不同的应用场景,上报工作模式分别有:
    1. 周期性模式 -- 周期性上报设备信息
    2. 智能模式 -- 开启GPS定位时运动上报静止不上报可设置周期
    3. 低功耗模式 -- 周期性开机后上报设备信息,上报完成后关机
  • 上报工作模式与上报周期由云端或手机APP控制。

OTA升级(开发中)

  • 上电时,待网络连接后,检测是否需要更新升级。
  • 如有升级:
    • 若非自动升级,则上云端上报有新的更新;
    • 在云端或手机APP点击升级按钮
    • 下载升级包,并将升级包准备完毕的通知报给云端(移远云无需上报下载后直接升级)
    • 升级完毕后,将升级状态报告给云端。
  • 功能的开启可由云端或手机APP控制。默认开启该功能。
  • 功能开启的状态下可由云端或手机APP配置是否自动升级。默认自动升级。

远程配置或控制

  • 远程配置:电话号码、远程配置定位器工作模式、定位使用的技术手段、语音监听、自动录音上报、固件升级及自动升级、故障报警、低电报警、超速报警、拔卡报警、拆卸报警、振动报警和驾驶行为监测功能的开关。
  • 远程控制:远程控制固件升级的流程。

设备报警功能

故障报警

  • 设备在开机自检或正常工作中遇到了故障时报警。
  • 功能的开启可由云端或手机APP控制。默认开启该功能。
  • 报警代码20000

低电报警

  • 电量低于设定值时报警。
  • 低电的阈值默认为5%可由云端或手机APP设置但设定值限制在5%-30%。
  • 功能的开启可由云端或手机APP控制。默认开启该功能。
  • 报警代码30002

超速报警

  • 速度超过设定值时报警。
  • 功能的开启超速阈值可由云端或手机APP控制。默认关闭该功能。
  • 报警代码30003

拔卡报警(开发中)

  • SIM卡拔出时报警此时网络不通按照网络不通的逻辑处理。
  • 功能的开启可由云端或手机APP控制。默认开启该功能。
  • 报警代码30004

拆卸报警(开发中)

  • 照度传感器检测到较亮的光线时报警。
  • 功能的开启可由云端或手机APP控制。默认开启该功能。
  • 报警代码30005

驾驶行为监测(开发中)

  • 检测到急起急停或急转弯时,报驾驶行为异常。
  • 功能的开启可由云端或手机APP控制。默认关闭该功能。
  • 驾驶行为异常的报警代码为:
    • 急起40001
    • 急停40002
    • 左急转弯40003
    • 右急转弯40004

SOS一键报警(开发中)

  • 长按功能键5s紧急求助。
  • 先向云端发送紧急报警信息,同时向内置电话号码拨打电话、发送短信。
  • 报警代码50001

Tracker API v2.0.0

Tracker

创建 Tracker 对象

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

battery 电池功能

改功能提供energy方法查询当前电池电量。

tracker.battery.energy

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

  • 返回值:

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

locator 定位功能

该功能提供了read查询当前模块的定位信息, 定位模式, 定位方式, 定位信息上报模式在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
      • []

remote 信息通信功能

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

tracker.remote.post_data

  • 例:
import utime
data_type = tracker.remote.DATA_NON_LOCA
data = {
    'power_switch': True,
    'energy': tracker.battery.energy(),
    'local_time': utime.mktime(utime.localtime())
}
tracker.remote.post_data(data_type, 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}
  • 返回值:

alert_report 告警功能

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

tracker.alert_report

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

返回bool类型数据, True成功, False失败。

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

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

tracker.loc_report

  • 例:
res = tracker.loc_report()
  • 参数: 无

  • 返回值:

返回bool类型数据, True成功, False失败。

machine_info_report 设备信息上报功能

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

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

  • 返回值:

machine_check 设备自检功能

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

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

  • 返回值:

返回码,数值类型int

返回码 说明
0 无异常
20001 网络异常
20002 GPS异常
20003 温度传感器异常
20004 照度传感器异常
20005 三轴加速度传感器异常
20006 麦克风异常

over_speed_check 设备超速报警检测

该模块实现了检测当前设备运动速度检测,当当前速度(km/h)超出设定的超速阈值,则立即向云端进行报警,该功能只在定位模式为GPS时生效

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

  • 返回值:

settings

该模块为配置参数模块

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

settings 导入

  • 例:
from usr.settings import settings

init 初始化

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

  • 返回值:

返回bool类型数据, True成功, False失败。

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'
res = settings.set(opt, val)
  • 参数:
参数 参数类型 参数说明
opt str 配置参数标识符
val str/bool/int 配置参数属性值
  • 返回值:

返回bool类型数据, True成功, False失败。

  • 配置参数标识符列表,见移远云物模型属性功能定义标识符表中可写权限数据

save 持久化保存配置参数

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

  • 返回值:

返回bool类型数据, True成功, False失败。

reset 重置配置参数

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

  • 返回值:

返回bool类型数据, True成功, False失败。