负载格式
本文档由 AI 翻译。如您发现内容有误或有改进建议,欢迎通过页面下方的评论区,或在以下 Issue 页面中告诉我们:https://github.com/Seeed-Studio/wiki-documents/issues
上行数据包解析
追踪器数据协议提供了不同的数据包以对应不同的信息,每个数据包的字节数可能会有所不同。帧的结构如下图所示。帧内容以大端字节序发送。
数据 ID | 数据值 |
---|---|
1 字节 | 50 字节(最大) |
数据 ID: 功能编号。
数据值: 位置、传感器数据和其他信息。
设备状态数据包 - 事件模式 0x01
设备状态数据包在加入 LoRaWAN 网络时上传。设备状态数据包在不同工作模式下有两种数据包格式:
1) 事件模式,ID=0x01
2) 周期模式,ID=0x02
设备状态数据包 - 事件模式: 0x01
0x01 | 字节2 | 字节3~4 | 字节5~6 | 字节7 | 字节8 | 字节9~10 | 字节11~12 |
---|---|---|---|---|---|---|---|
ID | 电池电量 | 软件版本 | 硬件版本 | 工作模式 | 定位策略 | 心跳间隔 | 上行间隔 |
字节13~14 | 字节15 | 字节16 | 字节17 | 字节18~19 | 字节20~21 |
---|---|---|---|---|---|
事件模式上行间隔 | 温度和光线开关 | SOS 模式 | 启用运动事件 | 三轴运动阈值 | 运动启动间隔 |
字节22 | 字节23~24 | 字节25 | 字节26~27 | 字节28 | 字节29~30 |
---|---|---|---|---|---|
启用静止事件 | 静止超时 | 启用震动事件 | 三轴震动阈值 | 启用温度事件 | 温度事件上行间隔 |
字节31~32 | 字节33~34 | 字节35~36 | 字节37 | 字节38 | 字节39~40 |
---|---|---|---|---|---|
温度采样间隔 | 温度阈值最大值 | 温度阈值最小值 | 温度警告类型 | 启用光线事件 | 光线事件上行间隔 |
字节41~42 | 字节43~44 | 字节45~46 | 字节47 |
---|---|---|---|
光线采样间隔 | 光线阈值最大值 | 光线阈值最小值 | 光线警告类型 |
原始负载:
0153010501050207001e00050005010000001e000500016801012c000005001e025800000000000500010064000000
字节 | 值 | 类型 | 原始数据 | 描述 |
---|---|---|---|---|
1 | 帧 ID | uint8 | 01 | 01 是数据包 ID。 |
2 | 电池电量 | uint8 | 53 | 53 是 0x53 = 83(十进制) 电池电量为 83% |
3~4 | 软件版本 | uint16 | 0105 | 0105 是 0x0105 == v1.5 软件版本为 v1.5 |
5~6 | 硬件版本 | uint16 | 0105 | 0105 是 0x0105 == v1.5 硬件版本为 v1.5 |
7 | 工作模式 | uint8 | 02 | 02 是 0x02,表示设备使用“事件模式”。 00: 待机模式 01: 周期模式 02: 事件模式 |
8 | 定位策略 | uint8 | 07 | 07 是 0x07,表示设备使用蓝牙 + Wi-Fi + GNSS 定位策略。 00: 仅 GNSS 01: 仅 Wi-Fi 02: Wi-Fi+GNSS 03: GNSS + Wi-Fi 04: 仅蓝牙 05: 蓝牙 + Wi-Fi 06: 蓝牙 + GNSS 07: 蓝牙 + Wi-Fi + GNSS |
9~10 | 心跳间隔 | uint16 | 001e | 001e 是 0x001E = 30(十进制),心跳间隔为 30 分钟。 |
11~12 | 上行间隔 | uint16 | 0005 | 0005 是 0x0005 = 5(十进制),上行间隔为 5 分钟。 |
13~14 | 事件模式上行间隔 | uint16 | 0005 | 0005 是 0x0005 = 5(十进制),事件模式上行间隔为 5 分钟。 |
15 | 温度和光线开关 | uint8 | 01 | 01 表示打开温度和光线传感器。 00: 关闭温度和光线传感器。 01: 打开温度和光线传感器。 |
16 | SOS 模式 | uint8 | 00 | 00 表示使用 SOS 单次模式。 00: 使用 SOS 单次模式。 01: 使用 SOS 连续模式。 |
17 | 启用运动事件 | uint8 | 00 | 00 表示禁用事件模式。 00: 禁用事件模式。 01: 启用事件模式。 |
18~19 | 三轴运动阈值 | uint16 | 001e | 001e 是 0x001E=30(十进制) mg 当加速度超过 30mg 时,判断设备处于运动状态;当低于该值 2 分钟时,判断设备处于静止状态。 |
20~21 | 运动启动间隔 | uint16 | 0005 | 0005 是 0x0005 = 5(十进制),当设备处于运动状态时,间隔为 5 分钟。 |
22 | 启用静止事件 | uint8 | 00 | 00 表示禁用静止事件。 00: 禁用静止事件。 01: 启用静止事件。 |
23~24 | 静止超时 | uint16 | 0168 | 0168 是 0x0168 = 360(十进制),当设备在一个位置静止超过 360 分钟时,触发静止超时事件。 |
25 | 启用震动事件 | uint8 | 01 | 01 表示启用震动事件。 00: 禁用震动事件。 01: 启用震动事件。 |
26~27 | 三轴震动阈值 | uint16 | 012c | 012c 是 0x012C=300(十进制) mg 当加速度超过 300mg 时,触发震动事件。 |
28 | 启用温度事件 | uint8 | 00 | 00 表示禁用温度事件。 00: 禁用温度事件。 01: 启用温度事件。 |
29~30 | 温度事件上行间隔 | uint16 | 0005 | 0005 是 0x0005 = 5(十进制),当温度超过阈值时,每 5 分钟上传一次位置和传感器数据。 |
31~32 | 温度采样间隔 | uint16 | 001e | 001e 是 0x001E=30(十进制) 秒 每 30 秒检测一次温度。当触发阈值时,上传位置和传感器数据。 |
33~34 | 温度阈值最大值 | int16 | 0258 | 0258 是 0x0258 = 600(十进制), 最大阈值 =600/10=60.0 ℃ |
35~36 | 温度阈值最小值 | int16 | 0000 | 0000 是 0x0000 = 0(十进制), 最小阈值=0/10=0.0 ℃ |
37 | 温度阈值规则 | uint8 | 00 | 00 表示当温度 ≤ 最小阈值时,设备将上传位置和温度事件。 00: 温度 ≤ 最小阈值 01: 温度 ≥ 最大阈值 02: 温度 ≤ 最小阈值且温度 ≥ 最大阈值 03: 最小阈值 ≤ 温度 ≤ 最大阈值 |
38 | 启用光线事件 | uint8 | 00 | 00 表示禁用光线事件。 00: 禁用光线事件。 01: 启用光线事件。 |
39~40 | 光线事件上行间隔 | uint16 | 0005 | 0005 是 0x0005 = 5(十进制),当光线超过阈值时,每 5 分钟上传一次位置和传感器数据。 |
41~42 | 光线采样间隔 | uint16 | 0001 | 0001 是 0x0001=1(十进制) 秒 每 1 秒检测一次光线。当触发阈值时,上传位置和传感器数据。 |
43~44 | 光线阈值最大值 | uint16 | 0064 | 0064 是 0x0064 = 100(十进制) % 最大阈值 =100% |
45~46 | 光线阈值最小值 | uint16 | 0000 | 0000 是 0x0000 = 0(十进制) % 最小阈值=0% |
47 | 光线警告类型 | uint8 | 00 | 00 表示当光线 ≤ 最小阈值时,设备将上传位置和光线事件。 00: 光线 ≤ 最小阈值 01: 光线 ≥ 最大阈值 02: 光线 ≤ 最小阈值且光线 ≥ 最大阈值 03: 最小阈值 ≤ 光线 ≤ 最大阈值 |
设备状态数据包 - 周期模式 0x02
设备状态数据包在加入 LoRaWAN 网络时上传。设备状态数据包在不同工作模式下有两种数据包格式:
事件模式,ID=0x01
周期模式,ID=0x02
设备状态数据包 - 周期模式: 0x02
0x02 | Byte2 | Byte3~4 | Byte5~6 | Byte7 | Byte8 | Byte9~10 | Byte11~12 |
---|---|---|---|---|---|---|---|
ID | 电池电量 | 软件版本 | 硬件版本 | 工作模式 | 定位策略 | 心跳间隔 | 上行间隔 |
Byte13~14 | Byte15 | Byte16 |
---|---|---|
事件模式上行间隔 | 温度和光线开关 | SOS模式 |
原始载荷:
025601050105010002d0003c003c0000
字节 | 值 | 类型 | 原始数据 | 描述 |
---|---|---|---|---|
1 | 帧ID | uint8 | 02 | 02是数据包ID。 |
2 | 电池电量 | uint8 | 56 | 56是0x56 = 86(十进制) 电池电量为86% |
3~4 | 软件版本 | uint16 | 0105 | 0105是0x0105 == v1.5 软件版本为v1.5 |
5~6 | 硬件版本 | uint16 | 0105 | 0105是0x0105 == v1.5 硬件版本为v1.5 |
7 | 工作模式 | uint8 | 01 | 01是0x01,表示设备使用“周期模式”。 00: 待机模式 01: 周期模式 02: 事件模式 |
8 | 定位策略 | uint8 | 00 | 00是0x00,表示设备使用“仅GNSS”定位策略。 00: 仅GNSS 01: 仅Wi-Fi 02: Wi-Fi+GNSS 03: GNSS + Wi-Fi 04: 仅蓝牙 05: 蓝牙 + Wi-Fi 06: 蓝牙 + GNSS 07: 蓝牙 + Wi-Fi + GNSS |
9~10 | 心跳间隔 | uint16 | 02d0 | 02d0是0x02D0 = 720(十进制)分钟,心跳间隔为720分钟。 |
11~12 | 上行间隔 | uint16 | 003c | 003c是0x003C = 60(十进制)分钟,上行间隔为60分钟。 |
13~14 | 事件模式上行间隔 | uint16 | 003c | 003c是0x003C = 60(十进制),事件模式上行间隔为60分钟。 |
15 | 温度和光线开关 | uint8 | 00 | 00表示开启温度和光线传感器。 00: 关闭温度和光线传感器。 01: 开启温度和光线传感器。 |
16 | SOS模式 | uint8 | 00 | 00表示使用SOS单次模式。 00: 使用SOS单次模式。 01: 使用SOS连续模式。 |
心跳数据包 - 0x05
当设备在心跳间隔内没有上传数据时,将触发心跳数据包。此数据包仅包含电池信息。
0x05 | Byte2 | Byte3 | Byte4 | Byte5 |
---|---|---|---|---|
ID | 电池电量 | 工作模式 | 定位策略 | SOS模式 |
原始载荷:
0564010001
字节 | 值 | 类型 | 原始数据 | 描述 |
---|---|---|---|---|
1 | 帧ID | uint8 | 05 | 05是数据包ID。 |
2 | 电池电量 | uint8 | 64 | 64是0x64 = 100(十进制) 电池电量为100% |
3 | 工作模式 | uint8 | 01 | 01是0x01,表示设备使用“周期模式”。 00: 待机模式 01: 周期模式 02: 事件模式 |
4 | 定位策略 | uint8 | 00 | 00是0x00,表示设备使用“仅GNSS”定位策略。 00: 仅GNSS 01: 仅Wi-Fi 02: Wi-Fi+GNSS 03: GNSS + Wi-Fi 04: 仅蓝牙 05: 蓝牙 + Wi-Fi 06: 蓝牙 + GNSS 07: 蓝牙 + Wi-Fi + GNSS |
5 | SOS模式 | uint8 | 00 | 00表示使用SOS单次模式。 00: 使用SOS单次模式。 01: 使用SOS连续模式。 |
GNSS定位和传感器数据包 - 0x06
ID 0x06用于上传GNSS定位、传感器数据和电池信息。
0x06 | Byte2~4 | Byte5 | Byte6~9 | Byte10~13 | Byte14~17 |
---|---|---|---|---|---|
ID | 事件状态 | 运动段编号 | UTC时间 | 经度 | 纬度 |
Byte18~19 | Byte20~21 | Byte22 |
---|---|---|
温度 | 光线 | 电池电量 |
原始载荷:
06000008006462248d06ca502801587ec600fe000057
字节 | 值 | 类型 | 原始数据 | 描述 |
---|---|---|---|---|
1 | 帧ID | uint8 | 06 | 06是数据包ID。 |
2~4 | 事件状态 | uint24 | 000008 | 000008是0x000008,0x0000XX是保留位,0x08是事件状态。此字节有8位,每位代表一个事件。 Bit1: 开始移动事件。 Bit2: 结束移动事件。 Bit3: 静止事件。 Bit4: 冲击事件。 Bit5: 温度事件。 Bit6: 光线事件。 Bit7: SOS事件。 Bit8: 单次按压事件。 转换为十六进制: 0x000000: 无事件 0x000001: 开始移动事件。 0x000002: 结束移动事件。 0x000004: 静止事件。 0x000008: 冲击事件。 0x000010: 温度事件。 0x000020: 光线事件。 0x000040: SOS事件。 0x000080: 单次按压事件。 |
5 | 运动段编号 | uint8 | 00 | 00是0x00 == 0。 当运动开始时,计数增加1。记录这是一次运动。 |
6~9 | UTC时间 | uint32 | 6462248d | 6462248d是0x6462248D = 1684153485(十进制)秒。 转换为北京时间:2023-05-15 20:24:45 |
10~13 | 经度 | int32 | 06ca5028 | 06ca5028是0x06CA5028 = 113922088(十进制),经度= 113922088/1000000=113.922088 |
14~17 | 纬度 | int32 | 01587ec6 | 01587ec6是0x01587EC6 = 22576838(十进制),纬度= 22576838/1000000=22.576838 |
18~19 | 温度 | int16 | 00fe | 00fe是0x00FE = 254(十进制),温度=254/10=25.4℃ |
20~21 | 光线 | uint16 | 0000 | 0000是0x0000 = 0(十进制),光线=0=0% |
22 | 电池电量 | uint8 | 57 | 57是0x57 = 87(十进制) 电池电量为87% |
Wi-Fi定位和传感器数据包 - 0x07
ID 0x07用于上传Wi-Fi MAC地址、传感器数据和电池信息。
0x07 | Byte2~4 | Byte5 | Byte6~9 | Byte10~15 | Byte16 |
---|---|---|---|---|---|
ID | 事件状态 | 运动段编号 | UTC时间 | MAC地址1 | MAC地址1的RSSI,int8 |
Byte17~22 | Byte23 | Byte24~29 | Byte30 | Byte31~36 | Byte37 |
---|---|---|---|---|---|
MAC地址2 | MAC地址2的RSSI,int8 | MAC地址3 | MAC地址3的RSSI,int8 | MAC地址4 | MAC地址4的RSSI,int8 |
Byte38~39 | Byte40~41 | Byte42 |
---|---|---|
温度 | 光线 | 电池电量 |
原始载荷:
070000080064622472487397162234bb3ccd5798fd2ebc74cf002f3ad0a9ec26ca022958b900fe000057
字节 | 值 | 类型 | 原始数据 | 描述 |
---|---|---|---|---|
1 | 帧ID | uint8 | 07 | 07是数据包ID。 |
2~4 | 事件状态 | uint24 | 000008 | 000008是0x000008,0x0000XX是保留位,0x08是事件状态。此字节有8位,每位代表一个事件。 Bit1: 开始移动事件。 Bit2: 结束移动事件。 Bit3: 静止事件。 Bit4: 冲击事件。 Bit5: 温度事件。 Bit6: 光线事件。 Bit7: SOS事件。 Bit8: 单次按压事件。 转换为十六进制: 0x000000: 无事件 0x000001: 开始移动事件。 0x000002: 结束移动事件。 0x000004: 静止事件。 0x000008: 冲击事件。 0x000010: 温度事件。 0x000020: 光线事件。 0x000040: SOS事件。 0x000080: 单次按压事件。 |
5 | 运动段编号 | uint8 | 00 | 00是0x00 == 0。 当运动开始时,计数增加1。记录这是一次运动。 |
6~9 | UTC时间 | uint32 | 64622472 | 64622472是0x64622472 = 1684153458 (十进制)秒。 转换为北京时间:2023-05-15 20:24:18 |
10~15 | MAC地址1 | ---- | 487397162234 | 487397162234 MAC地址(十六进制)= 48:73:97:16:22:34 |
16 | MAC地址1的RSSI | int8 | bb | bb是0xBB = -69(十进制),类型为int8 RSSI = -69 |
17~22 | MAC地址2 | ---- | 3ccd5798fd2e | 3ccd5798fd2e MAC地址(十六进制)= 3C:CD:57:98:FD:2E |
23 | MAC地址2的RSSI | int8 | bc | bc是0xBC = -68(十进制),类型为int8 RSSI = -68 |
24~29 | MAC地址3 | ---- | 74cf002f3ad0 | 74cf002f3ad0 MAC地址(十六进制)= 74:CF:00:2F:3A:D0 |
30 | MAC地址3的RSSI | int8 | a9 | a9是0xA9 = -87(十进制),类型为int8 RSSI = -87 |
31~36 | MAC地址4 | ---- | ec26ca022958 | ec26ca022958 MAC地址(十六进制)= EC:26:CA:02:29:58 |
37 | MAC地址4的RSSI | int8 | b9 | b9是0xB9 = -71(十进制),类型为int8 RSSI = -71 |
38~39 | 温度 | int16 | 00fe | 00fe是0x00FE = 254(十进制),温度=254/10=25.4℃ |
40~41 | 光线 | uint16 | 0000 | 0000是0x0000 = 0(十进制),光线=0=0% |
42 | 电池电量 | uint8 | 57 | 57是0x57 = 87(十进制) 电池电量为87% |
蓝牙位置和传感器数据包-0x08
ID 0x08 用于上传蓝牙 Beacon 的 MAC 地址、传感器数据和电池信息。
0x08 | Byte2~4 | Byte5 | Byte6~9 | Byte10~15 | Byte16 |
---|---|---|---|---|---|
ID | 事件状态 | 运动段编号 | UTC 时间 | MAC 地址 1 | MAC 地址 1 的 RSSI,int8 |
Byte17~22 | Byte23 | Byte24~29 | Byte30 | Byte31~32 | Byte33~34 | Byte35 |
---|---|---|---|---|---|---|
MAC 地址 2 | MAC 地址 2 的 RSSI,int8 | MAC 地址 3 | MAC 地址 3 的 RSSI,int8 | 温度 | 光照 | 电池电量 |
原始负载数据:
0800000800646225bb5162d2c1b9d3ca1b5bd2afeae5c0d0e2d70529e8c900fa000057
字节 | 值 | 类型 | 原始数据 | 描述 |
---|---|---|---|---|
1 | 帧 ID | uint8 | 08 | 08 是数据包 ID。 |
2~4 | 事件状态 | uint24 | 000008 | 000008 是 0x000008,0x0000XX 是保留值,0x08 是事件状态。此字节有 8 位,每位表示一个事件。 Bit1: 开始移动事件。 Bit2: 结束移动事件。 Bit3: 静止事件。 Bit4: 震动事件。 Bit5: 温度事件。 Bit6: 光照事件。 Bit7: SOS 事件。 Bit8: 单击事件。 转换为十六进制: 0x000000: 无事件 0x000001: 开始移动事件。 0x000002: 结束移动事件。 0x000004: 静止事件。 0x000008: 震动事件。 0x000010: 温度事件。 0x000020: 光照事件。 0x000040: SOS 事件。 0x000080: 单击事件。 |
5 | 运动段编号 | uint8 | 00 | 00 是 0x00 == 0。 当运动开始时,计数增加 1。记录这是一次运动。 |
6~9 | UTC 时间 | uint32 | 646225bb | 646225bb 是 0x646225BB = 1684153787(十进制)秒。 转换为北京时间:2023-05-15 20:29:47 |
10~15 | MAC 地址 1 | ----- | 5162d2c1b9d3 | 5162d2c1b9d3 MAC 地址(十六进制)= 51:62:D2:C1:B9:D3 |
16 | MAC 地址 1 的 RSSI | int8 | c0 | c0 是 0xC0 = -64(十进制),类型为 int8 RSSI = -64 |
17~22 | MAC 地址 2 | ----- | 1b5bd2afeae5 | 1b5bd2afeae5 MAC 地址(十六进制)= 1B:5B:D2:AF:EA:E5 |
23 | MAC 地址 2 的 RSSI | int8 | bc | bc 是 0xBC = -68(十进制),类型为 int8 RSSI = -68 |
24~29 | MAC 地址 3 | ----- | d0e2d70529e8 | d0e2d70529e8 MAC 地址(十六进制)= D0:E2:D7:05:29:E8 |
30 | MAC 地址 3 的 RSSI | int8 | c9 | c9 是 0xC9 = -55(十进制),类型为 int8 RSSI = -55 |
31~32 | 温度 | int16 | 00fa | 00fa 是 0x00FA = 250(十进制),温度=250/10=25.0℃ |
33~34 | 光照 | uint16 | 0000 | 0000 是 0x0000 = 0(十进制),光照=0=0% |
35 | 电池电量 | uint8 | 57 | 57 是 0x57 = 87(十进制) 电池电量为 87% |
GNSS 仅位置数据包-0x09
当传感器关闭时,设备不会上传传感器测量值,仅上传位置信息。
0x09 | Byte2~4 | Byte5 | Byte6~9 | Byte10~13 | Byte14~17 | Byte18 |
---|---|---|---|---|---|---|
ID | 事件状态 | 运动段编号 | UTC 时间 | 经度 | 纬度 | 电池电量 |
原始负载数据:
09000000006463186806ca506801587e4c56
字节 | 值 | 类型 | 原始数据 | 描述 |
---|---|---|---|---|
1 | 帧 ID | uint8 | 09 | 09 是数据包 ID。 |
2~4 | 事件状态 | uint24 | 000000 | 000000 是 0x000008,0x0000XX 是保留值,0x08 是事件状态。此字节有 8 位,每位表示一个事件。 Bit1: 开始移动事件。 Bit2: 结束移动事件。 Bit3: 静止事件。 Bit4: 震动事件。 Bit5: 温度事件。 Bit6: 光照事件。 Bit7: SOS 事件。 Bit8: 单击事件。 转换为十六进制: 0x000000: 无事件 0x000001: 开始移动事件。 0x000002: 结束移动事件。 0x000004: 静止事件。 0x000008: 震动事件。 0x000010: 温度事件。 0x000020: 光照事件。 0x000040: SOS 事件。 0x000080: 单击事件。 |
5 | 运动段编号 | uint8 | 00 | 00 是 0x00 == 0。 当运动开始时,计数增加 1。记录这是一次运动。 |
6~9 | UTC 时间 | uint32 | 64631868 | 64631868 是 0x64631868 = 1684215912(十进制)秒。 转换为北京时间:2023-05-16 13:45:12 |
10~13 | 经度 | int32 | 06ca5068 | 06ca5068 是 0x06CA5068 = 113922152(十进制),经度=113922152/1000000=113.922152 |
14~17 | 纬度 | int32 | 01587e4c | 01587e4c 是 0x01587E4C = 22576716(十进制),纬度=22576716/1000000=22.576716 |
18 | 电池电量 | uint8 | 56 | 56 是 0x56 = 86(十进制) 电池电量为 86% |
Wi-Fi 仅位置数据包-0x0A
0x0A | Byte2~4 | Byte5 | Byte6~9 | Byte10~15 | Byte16 |
---|---|---|---|---|---|
ID | 事件状态 | 运动段编号 | UTC 时间 | MAC 地址 1 | MAC 地址 1 的 RSSI,int8 |
Byte17~22 | Byte23 | Byte24~29 | Byte30 | Byte31~36 | Byte37 | Byte38 |
---|---|---|---|---|---|---|
MAC 地址 2 | MAC 地址 2 的 RSSI,int8 | MAC 地址 3 | MAC 地址 3 的 RSSI,int8 | MAC 地址 4 | MAC 地址 4 的 RSSI,int8 | 电池电量 |
原始负载数据:
0A0000080064622472487397162234bb3ccd5798fd2ebc74cf002f3ad0a9ec26ca022958b957
字节 | 值 | 类型 | 原始数据 | 描述 |
---|---|---|---|---|
1 | 帧 ID | uint8 | 0A | 0A 是数据包 ID。 |
2~4 | 事件状态 | uint32 | 000008 | 000008 是 0x000008,0x0000XX 是保留值,0x08 是事件状态。此字节有 8 位,每位表示一个事件。 Bit1: 开始移动事件。 Bit2: 结束移动事件。 Bit3: 静止事件。 Bit4: 震动事件。 Bit5: 温度事件。 Bit6: 光照事件。 Bit7: SOS 事件。 Bit8: 单击事件。 转换为十六进制: 0x000000: 无事件 0x000001: 开始移动事件。 0x000002: 结束移动事件。 0x000004: 静止事件。 0x000008: 震动事件。 0x000010: 温度事件。 0x000020: 光照事件。 0x000040: SOS 事件。 0x000080: 单击事件。 |
5 | 运动段编号 | uint8 | 00 | 00 是 0x00 == 0。 当运动开始时,计数增加 1。记录这是一次运动。 |
6~9 | UTC 时间 | uint32 | 64622472 | 64622472 是 0x64622472 = 1684153458(十进制)秒。 转换为北京时间:2023-05-15 20:24:18 |
10~15 | MAC 地址 1 | ----- | 487397162234 | 487397162234 MAC 地址(十六进制)= 48:73:97:16:22:34 |
16 | MAC 地址 1 的 RSSI | int8 | bb | bb 是 0xBB = -69(十进制),类型为 int8 RSSI = -69 |
17~22 | MAC 地址 2 | ----- | 3ccd5798fd2e | 3ccd5798fd2e MAC 地址(十六进制)= 3C:CD:57:98:FD:2E |
23 | MAC 地址 2 的 RSSI | int8 | bc | bc 是 0xBC = -68(十进制),类型为 int8 RSSI = -68 |
24~29 | MAC 地址 3 | ----- | 74cf002f3ad0 | 74cf002f3ad0 MAC 地址(十六进制)= 74:CF:00:2F:3A:D0 |
30 | MAC 地址 3 的 RSSI | int8 | a9 | a9 是 0xA9 = -87(十进制),类型为 int8 RSSI = -87 |
31~36 | MAC 地址 4 | ----- | ec26ca022958 | ec26ca022958 MAC 地址(十六进制)= EC:26:CA:02:29:58 |
37 | MAC 地址 4 的 RSSI | int8 | b9 | b9 是 0xA9 = -71(十进制),类型为 int8 RSSI = -71 |
38 | 电池电量 | uint8 | 57 | 57 是 0x57 = 87(十进制) 电池电量为 87% |
蓝牙定位数据包 - 0x0B
0x0B | Byte2~4 | Byte5 | Byte6~9 | Byte10~15 | Byte16 |
---|---|---|---|---|---|
ID | 事件状态 | 运动段编号 | UTC 时间 | MAC 地址 1 | MAC 地址 1 的 RSSI,int8 |
Byte17~22 | Byte23 | Byte24~29 | Byte30 | Byte31 |
---|---|---|---|---|
MAC 地址 2 | MAC 地址 2 的 RSSI,int8 | MAC 地址 3 | MAC 地址 3 的 RSSI,int8 | 电池电量 |
原始载荷:
0B00000800646225bb5162d2c1b9d3ca1b5bd2afeae5c0d0e2d70529e8c957
字节 | 值 | 类型 | 原始数据 | 描述 |
---|---|---|---|---|
1 | 帧 ID | uint8 | 0B | 0B 是数据包 ID。 |
2~4 | 事件状态 | uint24 | 000008 | 000008 是 0x000008,0x0000XX 保留,0x08 是事件状态。此字节有 8 位,每位代表一个事件。 Bit1: 开始移动事件。 Bit2: 结束移动事件。 Bit3: 静止事件。 Bit4: 震动事件。 Bit5: 温度事件。 Bit6: 光线事件。 Bit7: SOS 事件。 Bit8: 单次按压事件。 转换为十六进制: 0x000000: 无事件 0x000001: 开始移动事件。 0x000002: 结束移动事件。 0x000004: 静止事件。 0x000008: 震动事件。 0x000010: 温度事件。 0x000020: 光线事件。 0x000040: SOS 事件。 0x000080: 单次按压事件。 |
5 | 运动段编号 | uint8 | 00 | 00 是 0x00 == 0。 当运动开始时,计数增加 1。记录这是一次运动。 |
6~9 | UTC 时间 | uint32 | 646225bb | 646225bb 是 0x646225BB = 1684153787(十进制)秒。 转换为北京时间:2023-05-15 20:29:47 |
10~15 | MAC 地址 1 | ----- | 5162d2c1b9d3 | 5162d2c1b9d3 MAC 地址(十六进制)= 51:62:D2:C1:B9:D3 |
16 | MAC 地址 1 的 RSSI,int8 | int8 | c0 | c0 是 0xC0 = -64(十进制),类型为 int8 RSSI = -64 |
17~22 | MAC 地址 2 | ----- | 1b5bd2afeae5 | 1b5bd2afeae5 MAC 地址(十六进制)= 1B:5B:D2:AF:EA:E5 |
23 | MAC 地址 2 的 RSSI,int8 | int8 | bc | bc 是 0xBC = -68(十进制),类型为 int8 RSSI = -68 |
24~29 | MAC 地址 3 | ----- | d0e2d70529e8 | d0e2d70529e8 MAC 地址(十六进制)= D0:E2:D7:05:29:E8 |
30 | MAC 地址 3 的 RSSI,int8 | int8 | c9 | c9 是 0xC9 = -55(十进制),类型为 int8 RSSI = -55 |
31 | 电池电量 | uint8 | 57 | 57 是 0x57 = 87(十进制) 电池电量为 87% |
错误代码数据包 - 0x0D
ID 为 0x0D 的数据包用于上传错误代码。
原始载荷:
0D00000001
字节 | 值 | 类型 | 原始数据 | 描述 |
---|---|---|---|---|
1 | 帧 ID | uint8 | 0D | 0D 是数据包 ID。 |
2~5 | 错误代码 | uint32 | 00000001 | 0x00000001: UTC 时间获取失败 0x00000002: 星历过旧 0x00000003: 多普勒误差 |
定位状态和传感器数据包 - 0x11
ID 为 0x11 的数据包用于上传定位状态、传感器数据和电池信息。
原始载荷:
110100000064a763a0014100002f
字节 | 值 | 类型 | 原始数据 | 描述 |
---|---|---|---|---|
1 | 帧 ID | uint8 | 11 | 11 是数据包 ID。 |
2 | 定位状态 | uint8 | 01 | 00: 定位成功 01: GNSS 扫描超时,未能获取位置。 02: Wi-Fi 扫描超时,未能获取位置。 03: Wi-Fi + GNSS 扫描超时,未能获取位置。 04: GNSS + Wi-Fi 扫描超时,未能获取位置。 05: 蓝牙扫描超时,未能获取位置。 06: 蓝牙 + Wi-Fi 扫描超时,未能获取位置。 07: 蓝牙 + GNSS 扫描超时,未能获取位置。 08: 蓝牙 + Wi-Fi + GNSS 扫描超时,未能获取位置。 09: 位置服务器解析 GNSS 位置失败。 0A: 位置服务器解析 Wi-Fi 位置失败。 0B: 位置服务器解析蓝牙位置失败。 0C: 因精度差解析 GNSS 位置失败。 0D: 时间同步失败。 0E: 因星历过旧未能获取定位。 |
3~5 | 事件状态 | uint24 | 000000 | 000000 是 0x000000,0x0000XX 保留,0x00 是事件状态。此字节有 8 位,每位代表一个事件。 Bit1: 开始移动事件。 Bit2: 结束移动事件。 Bit3: 静止事件。 Bit4: 震动事件。 Bit5: 温度事件。 Bit6: 光线事件。 Bit7: SOS 事件。 Bit8: 单次按压事件。 转换为十六进制: 0x000000: 无事件 0x000001: 开始移动事件。 0x000002: 结束移动事件。 0x000004: 静止事件。 0x000008: 震动事件。 0x000010: 温度事件。 0x000020: 光线事件。 0x000040: SOS 事件。 0x000080: 单次按压事件。 |
6~9 | UTC 时间戳 | uint32 | 64a763a0 | 64a763a0 是 0x64a763a0 = 1688691616(十进制)秒。 转换为北京时间:2023-07-07 09:00:16 |
10~11 | 温度 | int16 | 0141 | 0141 是 0x0141 = 321(十进制),温度=321/10=32.1℃ |
12~13 | 光线 | uint16 | 0000 | 0000 是 0x0000 = 0(十进制),光线=0=0% |
14 | 电池电量 | uint8 | 2F | 2F 是 0x2F = 47(十进制) 电池电量为 47% |
下行数据包,FPort=5
追踪器支持通过 LoRaWAN 下行命令调整参数。如果设备处于休眠状态,下行命令将在设备下次唤醒上传数据时生效。
注意: FPort=5
设置 SOS 模式 - 0x80
0x80 | Byte2 |
---|---|
ID | SOS 模式 0: 单次模式 1: 连续模式 |
8000: 设置 SOS 为单次模式。
8001: 设置 SOS 为连续模式。
设置上行间隔 - 0x81
0x81 | Byte2~3 | Byte4~5 | Byte6~7 |
---|---|---|---|
ID | 心跳上行间隔 0000: 保持当前配置 单位: 分钟 | 周期模式上行间隔 0000: 保持当前配置 单位: 分钟 | 事件模式上行间隔 0000: 保持当前配置 单位: 分钟 |
示例: 设置周期模式间隔为 30 分钟
命令: 810000001E0000
打开蜂鸣器 - 0x82
发送此命令后,设备唤醒后将开启蜂鸣器报警音,并持续响铃1分钟。
0x82 | Byte2 |
---|---|
ID | 打开蜂鸣器。 00: 关闭 01: 打开 |
8200: 关闭蜂鸣器
8201: 打开蜂鸣器
设置工作模式 - 0x83
0x83 | Byte2 |
---|---|
ID | 设置工作模式。 00: 待机模式 01: 周期模式 02: 事件模式 |
8300: 设置工作模式为待机模式
8301: 设置工作模式为周期模式
8302: 设置工作模式为事件模式
设置工作模式 - 0x84
0x84 | Byte2 | Byte3~4 | Byte5~6 | Byte7 | Byte8~9 |
---|---|---|---|---|---|
ID | 启用运动事件 | 三轴运动阈值 | 运动启动间隔 | 启用静止事件 | 静止超时时间 |
Byte10 | Byte11~12 | Byte13 | Byte14~15 | Byte16~17 | Byte18~19 |
---|---|---|---|---|---|
启用震动事件 | 三轴震动阈值 | 启用温度事件 | 温度事件上行间隔 | 温度采样间隔 | 温度阈值最大值 |
Byte20~21 | Byte22 | Byte23 | Byte24~25 | Byte26~27 | Byte28~29 |
---|---|---|---|---|---|
温度阈值最小值 | 温度警告类型 | 启用光照事件 | 光照事件上行间隔 | 光照采样间隔 | 光照阈值最大值 |
Byte30~31 | Byte32 |
---|---|
光照阈值最小值 | 光照警告类型 |
命令:
8400001e000500016801012c000005001e025800000000000500010064000000
Byte | 值 | 类型 | 原始数据 | 描述 |
---|---|---|---|---|
1 | 帧 ID | uint8 | 84 | 84 是数据包 ID。 |
2 | 启用运动事件 | uint8 | 00 | 00 表示禁用事件模式。 00: 禁用事件模式。 01: 启用事件模式。 |
3~4 | 三轴运动阈值 | uint16 | 001e | 001e 是 0x001E=30(十进制) mg 当加速度超过 30mg 时,判断设备处于运动状态;当低于此值 2 分钟时,判断设备处于静止状态。 |
5~6 | 运动启动间隔 | uint16 | 0005 | 0005 是 0x0005 = 5(十进制),当设备处于运动状态时,间隔为 5 分钟。 |
7 | 启用静止事件 | uint8 | 00 | 00 表示禁用静止事件。 00: 禁用静止事件。 01: 启用静止事件。 |
8~9 | 静止超时时间 | uint16 | 0168 | 0168 是 0x0168 = 360(十进制),当设备在一个位置静止超过 360 分钟时,会触发静止超时事件。 |
10 | 启用震动事件 | uint8 | 01 | 01 表示启用震动事件。 00: 禁用震动事件。 01: 启用震动事件。 |
11~12 | 三轴震动阈值 | uint16 | 012c | 012c 是 0x012C=300(十进制) mg 当加速度超过 300mg 时,会触发震动事件。 |
13 | 启用温度事件 | uint8 | 00 | 00 表示禁用温度事件。 00: 禁用温度事件。 01: 启用温度事件。 |
14~15 | 温度事件上行间隔 | uint16 | 0005 | 0005 是 0x0005 = 5(十进制),当温度超过阈值时,每 5 分钟上传一次位置和传感器数据。 |
16~17 | 温度采样间隔 | uint16 | 001e | 001e 是 0x001E=30(十进制) 秒 每 30 秒检测一次温度。当触发阈值时,上传位置和传感器数据。 |
18~19 | 温度阈值最大值 | int16 | 0258 | 0258 是 0x0258 = 600(十进制), 最大阈值 = 600/10 = 60.0 ℃ |
20~21 | 温度阈值最小值 | int16 | 0000 | 0000 是 0x0000 = 0(十进制), 最小阈值 = 0/10 = 0.0 ℃ |
22 | 温度阈值规则 | uint8 | 00 | 00 表示当温度 ≤ 最小阈值时,设备将上传位置和温度事件。 00: 温度 ≤ 最小阈值 01: 温度 ≥ 最大阈值 02: 温度 ≤ 最小阈值且温度 ≥ 最大阈值 03: 最小阈值 ≤ 温度 ≤ 最大阈值 |
23 | 启用光照事件 | uint8 | 00 | 00 表示禁用光照事件。 00: 禁用光照事件。 01: 启用光照事件。 |
24~25 | 光照事件上行间隔 | uint16 | 0005 | 0005 是 0x0005 = 5(十进制),当光照超过阈值时,每 5 分钟上传一次位置和传感器数据。 |
26~27 | 光照采样间隔 | uint16 | 0001 | 0001 是 0x0001 = 1(十进制) 秒 每 1 秒检测一次光照。当触发阈值时,上传位置和传感器数据。 |
28~29 | 光照阈值最大值 | uint16 | 0064 | 0064 是 0x0064 = 100(十进制) % 最大阈值 = 100% |
30~31 | 光照阈值最小值 | uint16 | 0000 | 0000 是 0x0000 = 0(十进制) % 最小阈值 = 0% |
32 | 光照警告类型 | uint8 | 00 | 00 表示当光照 ≤ 最小阈值时,设备将上传位置和光照事件。 00: 光照 ≤ 最小阈值 01: 光照 ≥ 最大阈值 02: 光照 ≤ 最小阈值且光照 ≥ 最大阈值 03: 最小阈值 ≤ 光照 ≤ 最大阈值 |
请求定位 - 0x85
请求追踪器根据当前配置启动定位并上传。通常用于待机模式。
0x85 |
---|
ID |
示例:
85: 请求定位。
设置定位策略 - 0x86
0x86 | Byte2 |
---|---|
ID | 定位策略 00: 仅 GNSS 01: 仅 Wi-Fi 02: Wi-Fi+GNSS 03: GNSS + Wi-Fi 04: 仅蓝牙 05: 蓝牙 + Wi-Fi 06: 蓝牙 + GNSS 07: 蓝牙 + Wi-Fi + GNSS |
示例:
8600: 设置定位策略为“仅 GNSS”。
请求事件参数 - 0x87
0x87 |
---|
ID |
示例:
87: 请求事件参数。
请求设备状态数据包 - 0x88
0x88 |
---|
ID |
示例:
88: 请求设备状态数据包(0x01 或 0x02)。
重启设备 - 0x89
0x89 |
---|
ID |
示例:
89: 发送命令后,设备将重启并重新加入网络。请谨慎使用此命令。
启用温度和光照传感器 - 0x8C
启用温度和光照传感器的数据采集和上传。
0x8C | Byte2 |
---|---|
ID | 启用温度和光照传感器。 00: 关闭温度和光照传感器。 01: 启用温度和光照传感器。 |
示例:
8C00: 关闭温度和光照传感器。
8C01: 启用温度和光照传感器。
启用 SOS 报警 - 0x8D
启用 SOS 连续模式,快速上传定位,每分钟一次,连续 30 次后停止,同时伴随声光报警。
通过关闭命令或双击按键来关闭 SOS。
0x8D | Byte2 |
---|---|
ID | 打开 SOS。 00:关闭。 01:打开。 |
示例:
8D00:关闭 SOS 报警。
8D01:打开 SOS 报警。