demo.tracker-v2/docs/tracker公版方案用户指导手册.md
2022-03-28 20:29:01 +08:00

15 KiB
Raw Blame History

Tracker 公版方案用户指导手册

Tracker 功能列表

设备自动开关机与指示灯

低电关机

  • 开机状态下,电量≤低电关机阈值(默认5%)时,自动关机,关闭一切指示灯,并在关机前,需向云端报告一次设备信息。

开机自检及运行状态指示灯(网络、GPS检测开发完成, 其他开发中)

  • 开机自检
    • 检测网络、GPS模组、各类传感器(照度传感器,温湿度传感器,三轴加速度传感器)、麦克风是否正常工作;
  • 运行状态指指示灯(根据开机自检结果显示)
    • 正常运行状态指示灯2s闪烁一次。
    • 异常运行状态指示灯500ms闪烁一次在网络正常的情况下需向云端发出故障报警。

电量指示灯(开发中)

  • 低电告警阈值(默认30%)<电量:常亮
  • 低电关机阈值(默认5%)<电量<=低电告警阈值(默认30%)1秒闪烁一次
  • 电量<=低电关机阈值(默认5%):熄灭

设备信息交互功能

多重定位

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

电子围栏(开发中)

  • 由云端规划设备安全区域。 当设备位置超出安全区域,云端向设置的联系方式发送报警信息,如设置邮箱发送报警邮件,设置手机号拨打报警电话或发送报警短信。
  • 该功能由云端支持。

语音监听(开发中)

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

录音上报(开发中)

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

部标808协议(开发中)

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

设备信息上报

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

OTA升级(开发中)

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

远程配置或控制

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

设备报警功能

故障报警

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

低电报警

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

超速报警

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

SIM卡异常报警

  • 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 定位信息

平台 GPS 基站 WIFI
移远云 {'gps': ['GPRMC,XXX','GPGGA,XXX','GPVTG,XXX']} {'non_gps': ['LBS']} {'non_gps': []}
阿里云 {'GeoLocation': {'Longtitude': x.xx, 'Latitude': x.xx, 'Altitude': x.xx, 'CoordinateSystem': 1}} 同GPS 同GPS

remote 信息通信功能

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

tracker.remote.post_data

  • 例:
import utime
topic = '1'
data = {
    'power_switch': True,
    'energy': tracker.battery.energy(),
    'local_time': utime.mktime(utime.localtime())
}
tracker.remote.post_data(topic, data)
  • 参数:
参数 参数类型 参数说明
topic str 发送消息唯一标识
data dict 数据信息(见下表)
  • GPS定位信息标识符
平台 标识符 数据定义
移远云 gps list
移远云 non_gps list
阿里云 GeoLocation dict
  • 属性功能定义标识符
功能名称 标识符 数据类型 数据定义 功能描述 读写类型
开关机 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: 全部支持 读写
工作模式 work_mode int 取值范围0 ~ 15 0: 无;1: 周期性模式;2: 智能模式;4: 低功耗模式;7: 全部 读写
工作模式循环周期 work_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:关闭 读写
SIM卡异常报警功能开关 sw_sim_abnormal_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 读写
设备模块状态 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: 升级失败 只读
  • 事件功能定义标识符
功能名称 标识符 数据定义
SOS报警 sos_alert {'local_time': xxx}
故障报警 fault_alert {'local_time': xxx}
低电报警 low_power_alert {'local_time': xxx}
SIM卡异常报警 sim_abnormal_alert {'local_time': xxx}
驾驶行为报警 drive_behavior_alert {'local_time': xxx}
拆卸报警 disassemble_alert {'local_time': xxx}
超速报警 over_speed_alert {'local_time': xxx}
  • 返回值:

get_alert_data 格式化报警数据

该功能提供get_alert_data方法, 返回格式化上报告警数据。

tracker.get_alert_data

  • 例:
import utime
alert_code = 20000
alert_info = {
    'local_time': utime.mktime(utime.localtime())
}
res = tracker.get_alert_data(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_abnormal_alert SIM卡异常报警
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求救报警

device_data_report 设备信息上报功能

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

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

  • 返回值:

device_check 设备自检功能

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

  • 例:
res = tracker.device_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": {
        "work_cycle_period": 30,
        "phone_num": "",
        "loc_method": 1,
        "work_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_abnormal_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失败。