Files
desungongpai/doc/KKS_Protocol_P240_P241.md
default d54e53e0b7 feat: KKS P240/P241 蓝牙工牌管理系统初始提交
FastAPI + SQLAlchemy + asyncio TCP 服务器,支持设备管理、实时定位、
告警、考勤打卡、蓝牙记录、指令下发、TTS语音播报等功能。
2026-03-27 10:19:34 +00:00

56 KiB
Raw Blame History

P240 通讯协议

目录


协议包格式说明

格式 长度 (byte) 描述
起始位 2 0x78 0x78(包长度 1 位) 或 0x79 0x79(包长度 2 位)
包长度 1 或 2 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 代表传输包的类型
信息内容 n 按不同的应用,对应相应的"协议号",确定具体的内容
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 "包长度"到"信息序列号"的 CRC-ITU 值。接收方若收到的信息计算有 CRC 错误,则忽略,抛弃这个数据包(算法详见附件 1
停止位 2 固定值,统一为 0x0D 0x0A

登录包 0x01

描述

  • 登录包是终端与平台建立连接的信息包,会向平台发送终端产品信息
  • GPRS 连接建立成功并向服务器发送一条登录包5 秒内收到返回包则认为连接正常,未收到会继续发送登录包
  • 超过 5 秒没有收到服务器的返回包,则认为登录包回复超时
  • 超时 3 次后终端启动定时重启功能

登录请求包

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0x01
信息内容 - 终端 id 8 IMEI 号为 123456789123456则终端 ID 为:0x01 0x23 0x45 0x67 0x89 0x12 0x34 0x56
信息内容 - 类型识别码 2 根据此识别码判断终端类型
信息内容 - 时区语言 2 时区语言标志,详见下表
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 "包长度"到"信息序列号"的 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

示例:

78 78 11 01 07 52 53 36 78 90 02 42 70 00 32 01 00 05 12 79 0D 0A

时区语言

Bit 15-04 Bit 03 Bit 02-01 Bit 00
时区扩大 100 的值 东/西时区 暂无 语言选择
  • Bit 03: 0: 东时区, 1: 西时区
  • 时区 Bit04-Bit15:
    • 扩展位: 0x32 0x00 表示东八区, GMT+8:00计算方法: 8*100=800转为十六进制 0x0320
    • 扩展位: 0x4D 0xD8 表示西十二区又 3/4 时区, GMT-12:45计算方法: 12.45*100=1246, 转十六进制 0x04DD
  • 语言选择: 0x01: 中文, 0x02: 英文
  • 备注: 算法是将计算出来的时区值循环左移四位再拼合时区东、西,语言选择位,以便节省四个字节。

登录回复包

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0x01
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

示例:

78 78 05 01 00 05 9F F8 0D 0A

心跳包 0x13

描述

  • 为了维持 GPRS 链路不被断开而进行发送维持链路
  • GPRS 连接建立成功并向服务器发送一条心跳包5 秒内收到返回包则认为连接正常,周期后会发送下一个心跳包
  • 超过 5 秒没有收到服务器的返回包,则认为心跳超时
  • 心跳超时 3 次后终端启动定时重启功能

终端发送心跳包

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0x13
信息内容 - 终端信息内容 1 详见下表
信息内容 - 电压等级 1 0--100 代表电量百分比
信息内容 - GSM 信号强度 1 0x00: 无信号; 0x01: 信号极弱; 0x02: 信号较弱; 0x03: 信号良好; 0x04: 信号强
信息内容 - 预留扩展位 2
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

示例:

78 78 0A 13 40 04 04 00 01 00 0F DC EE 0D 0A

终端信息内容详解

Bit 07 Bit 06 Bit 05-04-03 Bit 02 Bit 01 Bit 00
未定义 保留 状态码 保留 保留 保留

状态码:

  • 0000: 正常
  • 0001: 上班打卡
  • 0010: 下班打卡
  • 0100: 开机报警
  • 0110: 低电报警
  • 1000: SOS 报警
  • 1010: 进入电子围栏
  • 1100: 出电子围栏
  • 1110: 关机报警

服务器心跳包回复

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0x13
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

示例:

78 78 05 23 01 00 67 0E 0D 0A

LBS 地址请求包 0x17

描述

  • 客户发送地址请求指令给终端,终端再发送地址请求包向服务器请求地址解析
  • 终端将服务器解析回传的地址转发给客户

终端地址请求包

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0x17
信息内容 - MCC 2 国家代号 Mobile Country Code(MCC)(转换为十进制)。MCC 最高 bit 位置 1 时MNC 占 2 个字节
信息内容 - MNC 1/2 移动网号码 Mobile Network Code(MNC)(转换为十进制), 长度说明见下表
信息内容 - LAC 2 位置区码 Location Area Code (LAC)(转换为十进制)
信息内容 - Cell ID 3 移动基站 Cell Tower ID(Cell ID)(转换为十进制)
信息内容 - 电话号码 21 电话号码
信息内容 - 报警语言 2 后位 0x01 中文, 0x02 英文
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

示例数据:

78 78 24 17 01 CC 00 28 7D 00 1F 71 31 32 35 32 30 31 33 35 33 32 31 37 37 30 37 39 00 00 00 00 00 00 01 00 2A 7D D6 0D 0A

MCC 位详解

为兼容部分国家 MNC 占用两个字节情况,借用 MCC 最高 bit 位来区分 MNC 长度:

  • 当 MCC 最高 bit 位 1 时MNC 长度为 2
  • 当 MCC 最高 bit 位 0 时MNC 长度为 1
  • 出货的老设备默认 Bit15 为 0新设备 Bit15 为 1
Bit 15 Bit 14-00
1: MNC 长度为 2 / 0: MNC 长度为 1 MCC 信息

服务器回复

英文地址回复

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0x97
信息内容 - 指令长度 2 服务器标志位至信息序列号前的数据长度(包含服务器标志位 4 字节)
信息内容 - 服务器标志位 4 服务器用于标志是哪个报警的标志
信息内容 - ADDRESS 7 报警编码标志(ASCII)
信息内容 - && 2 分隔符(ASCII)
信息内容 - 地址内容 n 服务器解析后的地址(UTF16BE)
信息内容 - && 2 分隔符(ASCII)
信息内容 - 电话号码 21 报警包上传全部传"0"(ASCII)
信息内容 - ## 2 分隔符(ASCII)
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

示例数据:

79 79 00 AF 97 00 A8 00 00 00 01 41 44 44 52 45 53 53 26 26 00 31 00 30 00 20 ...

地址内容: 10 Yunshan W Rd, Huicheng Qu, Huizhou Shi, Guangdong Sheng, China

中文地址回复

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0x17
信息内容 - 指令长度 1 服务器标志位至信息序列号前的数据长度(包含服务器标志位 4 字节)
信息内容 - 服务器标志位 4 服务器用于标志是哪个报警的标志
信息内容 - ADDRESS 7 报警编码标志(ASCII)
信息内容 - && 2 分隔符(ASCII)
信息内容 - 地址内容 n 服务器解析后的地址(UTF16BE)
信息内容 - && 2 分隔符(ASCII)
信息内容 - 电话号码 21 报警包上传全部传"0"(ASCII)
信息内容 - ## 2 分隔符(ASCII)
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

地址内容: 广东省惠州市惠城区云山西路 10,投资大厦东北 31 米

当数据长度超长时, 使用起始位为 0x79 0x79 的超长包格式发送, 包长度占 2 字节


地址信息查询包 0x1A

描述

家长短信指令要求儿童机立即定位GPS 定位后,向服务器请求位置信息,发送此数据包。

终端发送定位包

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0x1A
信息内容 - 日期时间 6 年(1byte)月(1byte)日(1byte)时(1byte)分(1byte)秒(1byte)(转换为十进制)(时区时间)
信息内容 - GPS 信息 - GPS 信息长度/定位卫星数 1 第一个字符为 GPS 信息长度,第二个字符为参与定位卫星数(转换为十进制)
信息内容 - GPS 信息 - 纬度 4 转换为 10 进制除以 1800000 得出结果
信息内容 - GPS 信息 - 经度 4 转换为 10 进制除以 1800000 得出结果
信息内容 - GPS 信息 - 速度 1 转换为 10 进制得出结果
信息内容 - GPS 信息 - 航向/状态 2 转换为 16 位 2 进制数,根据位进行计算(详见下表)
信息内容 - 电话号码 21 电话号码
信息内容 - 预留扩展位 2 后位 0x01 中文, 0x02 英文
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

服务器回复

当数据长度超长时, 使用起始位为 0x79 0x79 的超长包格式发送, 包长度占 2 字节。中文地址内容使用 UTF8 编码下发。

英文地址回复协议号为 0x97,中文地址回复协议号为 0x17,格式与 LBS 地址请求包回复相同。


校时包 0x1F

描述

  • 用于开机终端向服务器自动请求对时,解决开机未定位时时间错误的问题
  • 服务器回复正确时间及格式,时间为 UTC 时间

终端发送校时包请求

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0x1F
信息内容 - 日期时间 6 年(1byte)月(1byte)日(1byte)时(1byte)分(1byte)秒(1byte)(转换为十进制)
信息内容 - 语言/预留扩展位 2 后位 0x01 中文, 0x02 英文
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

示例数据:

78 78 0D 1F 15 04 06 06 2E 31 00 02 00 02 46 95 0D 0A

备注: 服务器暂时无须对终端上报时间做任何处理, 后续建议使用校时包 0x8A

服务器校时包回复

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0x1F
信息内容 - 日期时间 4 1970 年 01 月 01 日 00 时 00 分 00 秒起至现在的总秒数
信息内容 - 语言/预留扩展位 2 后位 0x01 中文, 0x02 英文
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

备注: 日期时间字段, 英文环境使用 GMT+0 时区的时间戳, 中文环境使用 GMT+8 时区的时间戳。国内环境, 语言/预留扩展位使用 0x0001, 国外环境使用 0x0002

示例数据:

78 78 0B 1F 60 6C 03 DA 00 00 00 02 4D 6A 0D 0A

GPS 定位包 0x22

描述

  • 用于传输终端位置的数据包
  • 定位且连接成功后按照设定规则上传定位数据点
  • 连接成功且有缓存定位点则补传之前定位的数据点

终端发送定位包

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0x22(UTC)
日期时间 6 年(1byte)月(1byte)日(1byte)时(1byte)分(1byte)秒(1byte)(转换为十进制)
GPS 信息 - GPS 信息长度/定位卫星数 1 第一个字符为 GPS 信息长度,第二个字符为参与定位卫星数(转换为十进制)
GPS 信息 - 纬度 4 转换为 10 进制除以 1800000 得出结果
GPS 信息 - 经度 4 转换为 10 进制除以 1800000 得出结果
GPS 信息 - 速度 1 转换为 10 进制得出结果
GPS 信息 - 航向/状态 2 转换为 16 位 2 进制数,根据位进行计算(详见下表)
MCC 2 国家代号 Mobile Country Code(MCC)(转换为十进制)。MCC 最高 bit 位置 1 时MNC 占 2 个字节
MNC 1/2 移动网号码 Mobile Network Code(MNC)(转换为十进制)
LAC 2 位置区码 Location Area Code (LAC)(转换为十进制)
Cell ID 3 移动基站 Cell Tower ID(Cell ID)(转换为十进制)
ACC 1 ACC 状态: ACC 低为 00, ACC 高为 01
数据上报模式 1 GPS 数据点上报类型(见下表)
GPS 实时补传 1 0x00 实时上传, 0x01 补传
里程统计 4 转换为 10 进制得出结果(部分产品有此功能, 无此功能无此位置)
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

数据上报模式

说明
0x00 定时上报
0x01 定距上报
0x02 拐点上传
0x03 ACC 状态改变上传
0x04 从运动变为静止状态后,补传最后一个定位点
0x05 网络断开重连后,上报之前最后一个有效上传点
0x06 星历更新强制上传 GPS 点
0x07 按键上传定位点
0x08 开机上报位置信息
0x09 未使用
0x0A 设备静止后上报最后的经纬度,但时间更新
0x0B WIFI 解析经纬度上传包
0x0C LJDW(立即定位)指令上报
0x0D 设备静止后上报最后的经纬度
0x0E GPSDUP 上传(下静止状态定时上传)
0x0F 退出追踪模式

状态航向详解

占用 2 个字节,表示 GPS 的运行方向,表示范围 0~360单位以正北为 0 度,顺时针。

Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10
0 0 GPS 实时差分定位 GPS 定位与否 东经/西经 南纬/北纬
Bit 09-00
航向

预留扩展位

预留扩展位 2 字节:

  • 语言选择位 0=1或 0语言选择位 1=0表示短信请求后台回复中文位置信息
  • 语言选择位 0=0语言选择位 1=1表示短信请求后台回复英文位置信息
  • 例如:扩展位值为 0x00 0x000x00 0x01 即请求中文位置信息。值为 0x00 0x02 表示请求英文位置信息。

示例数据:

78 78 22 22 0F 0C 1D 02 33 05 C9 02 7A C8 18 0C 46 58 60 00 14 00 01 CC 00 28 7D 00 1F 71 00 00 01 00 08 20 86 0D 0A

服务器回复定位包

此包无回复


LBS 多基站扩展信息包 0x28

描述

用于传输终端不定位时传输位置的数据包

终端发送 LBS 多基站包

格式 长度 详解
起始位 2 0x79 0x79
包长度 2 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0x28(如协议号为 0x2E 为必须要求回复的定位包,如不回复则进行备份)
日期时间(UTC) 6 年(1byte)月(1byte)日(1byte)时(1byte)分(1byte)秒(1byte)(转换为十进制)
MCC 2 国家代号 Mobile Country Code(MCC)(转换为十进制)
MNC 1/2 移动网号码 Mobile Network Code(MNC)(转换为十进制)
LAC 2 位置区码 Location Area Code (LAC)(转换为十进制)
CI 3 移动基站 Cell Tower ID(Cell ID)(转换为十进制)
RSSI 1 小区信号强度,值范围是 0x00~0xFF0x00 信号最弱,0xFF 信号最强
NLAC1 2 同上 LAC
NCI1 3 同上 CI
NRSSI1 1 同上 RSSI
NLAC2 ~ NLAC6 2 each 同上 LAC
NCI2 ~ NCI6 3 each 同上 CI
NRSSI2 ~ NRSSI6 1 each 同上 RSSI
时间提前量 1 是指移动台信号到达基站的实际时间与假设该移动台与基站距离为 0 时移动台信号到达基站的时间的差值
语言 2 0x00 0x01 中文, 0x00 0x02 英文
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

示例数据:

78 78 3B 28 10 01 0D 02 02 02 01 CC 00 28 7D 00 1F 71 3E 28 7D 00 1F 72 31 28 7D 00 1E 23 2D 28 7D 00 1F 40 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF 00 02 00 05 B1 4B 0D 0A

多基站包回复

  • 0x28 LBS 多基站包服务器无需回复
  • 0x2E LBS 多基站包服务器需回复

0x2E 回复包:

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0x2E
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

WIFI 信息包 0x2C

描述

用于传输终端接收的 WIFI 的数据包

终端发送 WiFi 包

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0x2C
日期时间(UTC) 6 年(1byte)月(1byte)日(1byte)时(1byte)分(1byte)秒(1byte)(转换为十进制)
MCC 2 国家代号 Mobile Country Code(MCC)(转换为十进制)
MNC 1/2 移动网号码 Mobile Network Code(MNC)(转换为十进制)
LAC 2 位置区码 Location Area Code (LAC)(转换为十进制)
CI 3 移动基站 Cell Tower ID(Cell ID)(转换为十进制)
RSSI 1 小区信号强度,值范围是 0x00~0x730x00 信号最强(理论上不存在),0x73 信号最弱,设备传的是实际 RSSI 的绝对值
NLAC1 ~ NLAC6 2 each 同上 LAC
NCI1 ~ NCI6 3 each 同上 CI
NRSSI1 ~ NRSSI6 1 each 同上 RSSI
时间提前量 1 是指移动台信号到达基站的实际时间与假设该移动台与基站距离为 0 时移动台信号到达基站的时间的差值
WIFI 数量 1 用于确定包内传输 WIFI 的数量, 0 为未检测到 WIFI
WIFI MAC1 6 接收的信号 1 WIFI 的 MAC (根据搜索到的 WIFI 实际数量进行传输)
WIFI 强度 1 1 信号 1 WIFI 的信号强度
WIFI MAC2 6 同上
WIFI 强度 2 1 同上
... ... ...
信息序列号 2 从开机后, 每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值, 统一为 0x0D 0x0A

示例数据:

78 78 48 2C 10 06 0E 02 2D 35 01 CC 00 28 7D 00 1F 71 2D 28 7D 00 1E 17 25 28 7D 00 1E 23 1E 28 7D 00 1F 72 1C 28 7D 00 1F 40 12 00 00 00 00 00 00 00 00 00 00 00 00 FF 02 80 89 17 44 98 B4 5C CC 7B 35 36 61 A6 5B 00 1F A0 04 0D 0A

服务器 WIFI 包回复

WIFI 包服务器无需回复


心跳包 0x36

描述

  • 为了维持 GPRS 链路不被断开而进行发送维持链路
  • GPRS 连接建立成功并向服务器发送一条心跳包5 秒内收到返回包则认为连接正常,周期后会发送下一个心跳包
  • 超过 5 秒没有收到服务器的返回包,则认为心跳超时
  • 心跳超时 3 次后终端启动定时重启功能

终端发送心跳包

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0x36
终端信息内容 1 详见下表
电压等级 1 0--100 代表电量百分比
GSM 信号强度 1 0x00: 无信号; 0x01: 信号极弱; 0x02: 信号较弱; 0x03: 信号良好; 0x04: 信号强
语言扩展口状态 2 后位 0x01 中文, 0x02 英文
扩展模块 n 扩展模块格式位: 模块号(2)+模块长度(1)+模块内容(N)
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

扩展模块说明:

  • 模块号(2) + 模块长度(1) + 模块内容(N),根据模块号进行解析
  • 例如 00 27 02 05 46 代表外电电压为 13.5
  • 0x0041 计步
  • 模块详解见 [附录 3-模块号详解]

示例数据:

78,78,11,36,20,49,03,00,01,00,41,04,00,00,00,08,00,06,ba,cf,0d,0a

终端信息内容详解

Bit 07 Bit 06 Bit 05 Bit 04 Bit 03 Bit 02 Bit 01 Bit 00
0: 油电接通 / 1: 油电断开 0: GPS 未定位 / 1: GPS 已定位 上下班状态 (1:已上班, 0:已下班) 0: 未接电源充电 / 1: 已接电源充电 0: ACC 低 / 1: ACC 高 0: 撤防 / 1: 设防

服务器心跳包回复

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0x36
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

示例:

78 78 05 36 01 00 DB 26 0D 0A

在线设置指令 0x80

描述

  • 用于服务器下发在线指令控制终端执行相应的任务
  • 终端接收后回复执行结果给服务器

服务器在线指令发送

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0x80
信息内容 - 指令长度 1 服务器标志位+指令内容长度
信息内容 - 服务器标志位 4 留给服务器识别用,终端将收到的数据二进制原样在返回包中返回
信息内容 - 指令内容 n 以字符串的 ASCII 或 UTF8 表示,指令内容兼容短信指令
信息内容 - 语言 2 后位 0x01 中文, 0x02 英文
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

示例数据:

78 78 1d 80 15 00 83 b6 0a 55 41 52 54 31 54 43 2c 63 32 30 32 30 30 63 30 23 00 01 c1 67 04 26 0d 0a

指令内容

在线激活 GPS

指令: GPSON#

  • 功能描述:开启 GPS 定位功能。
  • 返回信息:
    • 成功:GPSON=Success!
    • 失败:GPSON=Fail!

在线设置亲情号码

指令格式:

  • 添加号码:FN&&A&&名称1&&号码1&&名称2&&号码2&&名称3&&号码3&&名称4&&号码4##
  • 删除号码:FN&&D&&号码序号1&&号码序号2&&号码序号3&&号码序号4##FN&&D&&电话号码##

注:名称最大长度不能超过 6 个字。名称使用 UTF8 码表示,其他字符使用 ASCII 表示。当号码为空时,用"&&"隔开,终端会清除该号码。"&&"不能省略。

返回信息:

  • 成功:FN=Success!
  • 失败:FN=Fail!

范例: FN&&A&&六&&123&&二&&123&&三&&123## 以上为添加三个亲情号码

在线设置白名单号码

指令格式:

  • 添加号码(平台每次均传输全部共 15 组号码)WN&&A&&名称1&&号码1&&名称2&&号码2&&...名称15&&号码15##
  • 删除号码:WN&&D&&号码序号1&&号码序号2&&号码序号3&&号码序号4##WN&&D&&电话号码##

注:名称最大长度不能超过 6 个字。名称使用 UTF8 码表示。如果白名单内容太长(超出 255 字节),"指令长度"和"包长度"都要填为 0xFF,做为终端解析时的特殊处理用。

返回信息:

  • 成功:设置成功.
  • 失败:WN=Fail!

白名单设置报文实例 1:

[服务器->终端]
78 78 96 80 90 00 42 42 19 57 4E 26 26 41 26 26 0C 54 66 5B 41 00 26 26 31 33 36 31 32 33 34 35 36 37 38 26 26 0C 54 66 5B 42 00 26 26 31 33 36 31 32 33 34 35 36 37 39 26 26 26 26 26 26 0C 54 66 5B 44 00 26 26 38 36 37 37 38 36 37 39 26 26 0C 54 66 5B 45 00 26 26 31 33 36 31 32 33 34 35 36 37 30 26 26 26 26 26 26 26 26 26 26 0C 54 66 5B 48 00 26 26 36 38 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 23 23 00 00 4C AB 0D 0A

[终端->服务器]
78 78 2A 81 18 00 42 42 19 57 4E 3D 53 75 63 63 65 73 73 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 1A FE 6E 0D 0A

白名单设置报文实例 2 (报文长度超出了 255包长度和内容长度都固定为 FF):

[服务器->终端]
78 78 FF 80 FF 00 42 42 30 57 4E 26 26 41 26 26 ...

[终端->服务器]
78 78 2A 81 18 00 42 42 30 57 4E 3D 53 75 63 63 65 73 73 21 ...

在线设置 SOS 号码

指令格式:

  • 添加号码:SOS,A,号码1,号码2,号码3#
  • 删除号码:SOS,D,号码序号1,号码序号2,号码序号3#SOS,D,电话号码#

注:限定从亲情号码中选择。若号码为空,使用","隔开。

返回信息:

  • 成功:SOS=Success!
  • 失败:SOS=Fail!

范例:

  1. SOS,A,13790774051,13553442881,13556286698#(一次增设三个)
  2. SOS,A,13790774051,,#(设第 1 个 SOS 号码,删除第 2,3 个号码)
  3. SOS,D,1#(删除第一个 SOS 号码)
  4. SOS,D,1,3#(删除第一个和第三个 SOS 号码)

终端回复

格式 长度 详解
起始位 2 0x78 0x78 / 0x79 0x79
包长度 1/2 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0x81
指令长度 1/2 长度: 服务器标志位至信息序列号前所有内容长度。0x7878 包: 指令长度 1 字节, 0x7979 包: 指令长度 2 字节
服务器标志位 4 留给服务器识别用,终端将收到的数据二进制原样在返回包中返回
内容 n 需要发送的数据(按照内容编码格式)
语言/预留扩展位 2 0x01 UTF8 编码, 0x02 ASCII 编码
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

当数据长度超长时, 使用起始位为 0x79 0x79 的超长包格式发送, 包长度占 2 字节。白名单指令例外,超出 255 字节时,包长度和指令长度填 255。


留言信息 0x82

描述

服务器通过 0x82 协议给终端发送留言信息,信息可以被终端语音播放

服务器向终端发送留言信息

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0x82
指令长度 1 服务器标志位+指令内容长度
服务器标志位 4 留给服务器识别用,终端将收到的数据二进制原样在返回包中返回
指令内容 n 以字符串的 UTF16BE 表示
语言 2 后位 0x01 中文(UNICODE-UTF16BE unicode 大端)(目前中英文不区分,都是用 01)
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

报文实例(留言信息:"明天 9 点全班到 3 楼学 ABC"

78 78 45 82 22 00 00 00 00 00 53 00 45 00 52 00 56 00 4D 00 53 00 47 00 2C 51 E0 7C 73 72 69 80 54 7F 51 53 61 00 23 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2C 65 46 02 0D 0A

终端回复

协议号 0x80,终端回复 OK

示例数据:

78 78 2A 80 18 00 00 00 00 4F 4B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 07 96 16 0D 0A

当数据长度超长时, 使用起始位为 0x79 0x79 的超长包格式发送, 包长度占 2 字节


校时包 0x8A

描述

  • 用于开机终端向服务器自动请求对时,解决开机未定位时时间错误的问题
  • 服务器回复正确时间及格式,时间为 UTC 时间

终端发送校时包请求

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0x8A
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

示例数据:

78 78 05 8A 00 06 88 29 0D 0A

服务器校时包回复

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0x8AUTC
信息内容 - 日期时间 6 年(1byte)月(1byte)日(1byte)时(1byte)分(1byte)秒(1byte)(转换为十进制)
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

示例数据:

78 78 0B 8A 0F 0C 1D 00 00 15 00 06 F0 86 0D 0A

通用信息传输包 0x94

描述

用于终端传输各类非定位数据使用

终端发送信息传输通用包

格式 长度 详解
起始位 2 0x79 0x79
包长度 2 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0x94
信息类型(子协议号) 1 0x09: 定位卫星信息, 0x0A: ICCID, ... 待增加
数据内容 n 根据信息类型不同传输内容不同,详见下表
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

传输信息内容

类型 0x09 - 定位卫星信息

字段 长度 描述
GPS 模块状态 1 0x00 没有此功能, 0x01 搜星, 0x02 2D 定位, 0x03 3D 定位, 0x04 休眠
GPS 定位星数 1 GPS 卫星定位数量(根据星数确定传输强度的数量)
GPS1 强度 1 定位卫星的强度 1
GPS2 强度 1 定位卫星的强度 2
...
GPS 可见不参与定位星数 1 GPS 可见但不参与定位星数
可见 GPS1 强度 1 可见卫星的强度 1
可见 GPS2 强度 1 可见卫星的强度 2
...
北斗模块状态 1 0x00 没有此功能, 0x01 搜星, 0x02 2D 定位, 0x03 3D 定位, 0x04 休眠
北斗定位星数 1 北斗卫星定位数量
北斗 1 强度 1 参与定位卫星的强度 1
北斗 2 强度 1 参与定位卫星的强度 2
...
北斗可见不参与定位星数 1 北斗可见但不参与定位星数
可见北斗 1 强度 1 可见卫星的强度 1
可见北斗 2 强度 1 可见卫星的强度 2
...
扩展长度 1 为之后功能扩展使用长度,未添加扩展时为 0x00
扩展位 n 根据扩展位长度变化而变化,当扩展位长度为 0x00 时此位不传

类型 0x0A - ICCID

字段 长度 描述
IMEI 8 IMEI 号为 123456789123456则终端 ID 为:0x01 0x23 0x45 0x67 0x89 0x12 0x34 0x56
IMSI 8 IMSI 号为 123456789123456则终端 ID 为:0x01 0x23 0x45 0x67 0x89 0x12 0x34 0x56
ICCID 10 ICCID 号为 12345123456789123456则终端 ID 为:0x12 0x34 0x51 0x23 0x45 0x67 0x89 0x12 0x34 0x56

服务器回复信息传输通用包

服务器无需回复


GPS 4G 定位包 0xA0

描述

  • 用于传输终端位置的数据包
  • 定位且连接成功后按照设定规则上传定位数据点
  • 连接成功且有缓存定位点则补传之前定位的数据点

终端发送定位包

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0xA0
日期时间 6 年(1byte)月(1byte)日(1byte)时(1byte)分(1byte)秒(1byte)(转换为十进制)(时区时间)
GPS 信息 - GPS 信息长度/定位卫星数 1 第一个字符为 GPS 信息长度,第二个字符为参与定位卫星数(转换为十进制)
GPS 信息 - 纬度 4 转换为 10 进制除以 1800000 得出结果
GPS 信息 - 经度 4 转换为 10 进制除以 1800000 得出结果
GPS 信息 - 速度 1 转换为 10 进制得出结果
GPS 信息 - 航向/状态 2 转换为 16 位 2 进制数,根据位进行计算
MCC 2 国家代号(转换为十进制)MCC 最高 bit 位置 1 时MNC 占 2 个字节
MNC 1/2 移动网号码(转换为十进制)
LAC 4 位置区码(转换为十进制)
Cell ID 8 移动基站 Cell Tower ID(转换为十进制)
ACC 1 ACC 状态: ACC 低为 00, ACC 高为 01
数据上报模式 1 同 GPS 0x22 包
GPS 实时补传 1 0x00 实时上传, 0x01 补传, 0x02 不定位且 LBS 禁用的上一次定位包, 0x03 GPS 与 LBS 均无上传的最后一个定位包, 0x04 补传 02, 0x05 补传 03
里程统计 4 可选字段,转换为 10 进制得出结果
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

示例数据:

78,78,2a,a0,15,04,10,07,35,0e,ca,02,7a,c8,a2,0c,46,58,be,00,14,00,81,cc,00,00,00,00,28,7d,00,00,00,00,02,ea,5e,01,00,04,00,00,09,df,fc,0d,0a

服务器回复定位包

此包无回复


LBS 多基站扩展信息包 4G 0xA1

描述

用于传输终端不定位时传输位置的数据包

终端发送 LBS 多基站包

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0xA1
日期时间(UTC) 6 年(1byte)月(1byte)日(1byte)时(1byte)分(1byte)秒(1byte)(转换为十进制)
MCC 2 国家代号(转换为十进制)
MNC 1/2 移动网号码(转换为十进制)
LAC 4 位置区码(转换为十进制)
CI 8 移动基站 Cell Tower ID(转换为十进制)
RSSI 1 小区信号强度,值范围是 0x00~0x730x00 信号最强,0x73 信号最弱
NLAC1~NLAC6 4 each 同上 LAC
NCI1~NCI6 8 each 同上 CI
NRSSI1~NRSSI6 1 each 同上 RSSI
时间提前量 1 信号时间差值
语言 2 0x00 0x01 中文, 0x00 0x02 英文
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

服务器 LBS 多基站包回复

无需回复


WIFI 4G 信息包 0xA2

描述

用于传输终端接收的 WIFI 的数据包

终端发送 WiFi 包

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0xA2
日期时间(UTC) 6 年(1byte)月(1byte)日(1byte)时(1byte)分(1byte)秒(1byte)(转换为十进制)
MCC 2 国家代号(转换为十进制)
MNC 1/2 移动网号码(转换为十进制)
LAC 4 位置区码(转换为十进制)
CI 8 移动基站 Cell Tower ID(转换为十进制)
RSSI 1 小区信号强度
NLAC1~NLAC6 4 each 同上 LAC
NCI1~NCI6 8 each 同上 CI
NRSSI1~NRSSI6 1 each 同上 RSSI
时间提前量 1 信号时间差值
WIFI 数量 1 用于确定包内传输 WIFI 的数量, 0 为未检测到 WIFI
WIFI MAC1 6 接收的信号 1 WIFI 的 MAC
WIFI 强度 1 1 信号 1 WIFI 的信号强度
WIFI MAC2 6 同上
WIFI 强度 2 1 同上
... ... ...
信息序列号 2 从开机后, 每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值, 统一为 0x0D 0x0A

服务器回复

无需回复


单围栏 4G 报警包 0xA3

描述

  • 用于传输终端定义的报警内容
  • 服务器接收报警内容后进行回复并将经纬度解析成地址并回传给终端
  • 终端将回传的地址发送到终端设置的 SOS 号码上

终端发送报警包

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0xA3(UTC)
日期时间 6 年(1byte)月(1byte)日(1byte)时(1byte)分(1byte)秒(1byte)(转换为十进制)(时区时间)
GPS 信息 - GPS 信息长度/定位卫星数 1 第一个字符为 GPS 信息长度,第二个字符为参与定位卫星数
GPS 信息 - 纬度 4 转换为 10 进制除以 1800000 得出结果
GPS 信息 - 经度 4 转换为 10 进制除以 1800000 得出结果
GPS 信息 - 速度 1 转换为 10 进制得出结果
GPS 信息 - 航向/状态 2 同 GPS 包
LBS 长度 1 LBS 信息总长度(自身长度+MCC+MNC+LAC+CellID)
MCC 2 国家代号MCC 最高 bit 位置 1 时MNC 占 2 个字节
MNC 1/2 移动网号码(转换为十进制)
LAC 4 位置区码(转换为十进制)
Cell ID 8 移动基站 Cell Tower ID(转换为十进制)
终端信息 1 详见终端信息详解
电压等级 1 0x00~0x06
GSM 信号等级 1 0x00~0x04
报警语言 2 详见报警语言详解
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

终端信息详解

Bit 07 Bit 06 Bit 05-04 Bit 03 Bit 02 Bit 01 Bit 00
1: 油电断开 / 0: 油电接通 1: GPS 已定位 / 0: GPS 未定位 011: 低电报警 / 000: 正常 1: 已接电源充电 / 0: 未接电源充电 1: ACC 高 / 0: ACC 低 1: 设防 / 0: 撤防

电压等级

说明
0x00 无电(关机)
0x01 电量极低(不足以打电话发短信等)
0x02 电量很低(低电报警)
0x03 电量低(可正常使用)
0x04 电量中
0x05 电量高
0x06 电量极高

GSM 信号等级

说明
0x00 无信号
0x01 信号极弱
0x02 信号较弱
0x03 信号良好
0x04 信号强

报警语言详解

字节 1 (报警类型):

说明
0x00 正常
0x01 SOS 求救
0x02 断电报警
0x03 震动报警
0x04 进围栏报警
0x05 出围栏报警
0x06 超速报警
0x09 位移报警
0x0A 进 GPS 盲区报警
0x0B 出 GPS 盲区报警
0x0C 开机报警
0x0D GPS 第一次定位报警
0x0E 外电低电报警
0x0F 外电低电保护报警
0x10 换卡报警
0x11 关机报警
0x12 外电低电保护后飞行模式报警
0x13 拆卸报警
0x14 门报警
0x15 低电关机报警
0x16 声控报警
0x17 伪基站报警
0x18 开盖报警
0x19 内部电池低电报警
... 详情见[附录 2-告警类型列表]

字节 2 (语言):

说明
0x01 中文
0x02 英文
0x00 不需要平台回复

备注:由于报警持续增加,终端信息内的报警与报警位会有重叠,以报警位为准,当报警位为 0x00 时可判断终端信息内的报警内容

服务器报警包回复

报警确认回复

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0x26(UTC)
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

示例数据:

78 78 05 26 00 1C 9D 86 0D 0A

英文地址回复

协议号 0x97,包含 ALARMSMS(8 bytes) + && + 地址内容(UTF16BE) + && + 电话号码(21 bytes) + ##

中文地址回复

协议号 0x17,格式同英文地址回复,地址内容使用 UTF16BE 编码


多围栏 4G 报警包 0xA4

描述

  • 用于传输终端定义的报警内容
  • 服务器接收报警内容后进行回复并将经纬度解析成地址并回传给终端
  • 终端将回传的地址发送到终端设置的 SOS 号码上

报警包

与单围栏报警包 0xA3 结构基本相同,协议号为 0xA4(UTC),增加了以下字段:

格式 长度 详解
围栏编号 1 可选字段,围栏报警此位有效, 0 为一号围栏, 1 为二号围栏... FF 为无效

示例数据:

78,78,2e,a4,15,04,10,07,35,0d,ca,02,7a,c8,90,0c,46,58,d0,00,14,00,10,81,cc,00,00,00,00,28,7d,00,00,00,00,02,ea,5e,01,40,05,03,01,01,00,00,08,bc,63,0d,0a

终端信息详解、报警语言详解同单围栏 4G 报警包 0xA3。

服务器报警包回复

与单围栏 4G 报警包 0xA3 回复格式相同(协议号 0x26 确认回复 + 0x97 英文地址回复 + 0x17 中文地址回复)。


LBS 4G 报警包 0xA5

描述

  • 用于传输终端定义的报警内容
  • 服务器接收报警内容后进行回复并将 LBS 基站信息解析成地址并回传给终端
  • 终端将回传的地址发送到终端设置的 SOS 号码上

报警包

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0xA5
MCC 2 国家代号MCC 最高 bit 位置 1 时MNC 占 2 个字节
MNC 1/2 移动网号码(转换为十进制)
LAC 4 位置区码(转换为十进制)
Cell ID 8 移动基站 Cell Tower ID(转换为十进制)
终端信息 1 详见终端信息详解
电压等级 1 0x00~0x06
GSM 信号等级 1 0x00~0x04
报警语言 2 详见报警语言详解
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

示例数据:

78,78,1a,a5,81,cc,00,00,00,00,28,7d,00,00,00,00,02,ea,5e,01,00,05,03,0c,01,00,05,48,12,0d,0a

终端信息详解、报警语言详解同单围栏 4G 报警包 0xA3。

服务器报警包回复

与单围栏 4G 报警包 0xA3 回复格式相同。


LBS-4G 地址请求包 0xA7

描述

  • 客户发送地址请求指令给终端,终端再发送地址请求包向服务器请求地址解析
  • 终端将服务器解析回传的地址转发给客户

终端地址请求包

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0xA7
MCC 2 国家代号(转换为十进制)
MNC 1/2 移动网号码(转换为十进制)
LAC 4 位置区码(转换为十进制)
Cell ID 8 移动基站 Cell Tower ID(转换为十进制)
电话号码 21 电话号码
报警语言 2 后位 0x01 中文, 0x02 英文
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

示例数据:

78,78,2c,a7,81,cc,00,00,00,00,28,7d,00,00,00,00,02,ea,5e,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,0d,fc,b4,0d,0a

服务器回复

英文地址回复协议号 0x97,中文地址回复协议号 0x17,格式与 LBS 地址请求包 0x17 回复相同。

当数据长度超长时, 使用起始位为 0x79 0x79 的超长包格式发送, 包长度占 2 字节


WIFI 报警包 0xA9

描述

用于传输终端接收的 WIFI 的报警数据包

终端发送 WiFi 报警包

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0xA9
日期时间(UTC) 6 年(1byte)月(1byte)日(1byte)时(1byte)分(1byte)秒(1byte)(转换为十进制)
MCC 2 国家代号(转换为十进制)
MNC 1/2 移动网号码(转换为十进制)
基站类型 1 0x00-2G, 0x01-4G
基站数量 1 N, N 最小值为 1
LAC 2/4 2G 为 2 字节, 4G 为 4 字节
CI 3/8 2G 为 3 字节, 4G 为 8 字节
RSSI 1 小区信号强度
... ... ...
时间提前量 1 信号时间差值
WIFI 数量 1 用于确定包内传输 WIFI 的数量, 0 为未检测到 WIFI
WIFI MAC1 6 接收的信号 1 WIFI 的 MAC
WIFI 强度 1 1 信号 1 WIFI 的信号强度
WIFI MAC2 6 同上
WIFI 强度 2 1 同上
... ... ...
报警语言 2 详见报警语言详解
信息序列号 2 从开机后, 每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值, 统一为 0x0D 0x0A

报警语言详解同单围栏 4G 报警包 0xA3。

WIFI 报警包回复

英文地址回复协议号 0x97,地址内容使用 UNICODE 编码。中文地址回复协议号 0x17


考勤信息包 0xB0

上/下班打卡 GPS+WIFI+LBS 信息包 0xB0

描述

告警事件发生时(如上班/下班打卡),向服务器发送终端报打卡告警状态。

考勤信息包

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0xB0
日期时间 6 年(1byte)月(1byte)日(1byte)时(1byte)分(1byte)秒(1byte)(转换为十进制)
GPS 是否定位 1 1 已定位, 0 未定位
终端保留信息 2 平台收到后原样回复给终端
GPS 信息 - GPS 信息长度/定位卫星数 1 第一个字符为 GPS 信息长度,第二个字符为参与定位卫星数
GPS 信息 - 纬度 4 转换为 10 进制除以 1800000 得出结果
GPS 信息 - 经度 4 转换为 10 进制除以 1800000 得出结果
GPS 信息 - 速度 1 转换为 10 进制得出结果
GPS 信息 - 航向/状态 2 同 GPS 包
终端信息内容 1 详见终端信息详解
电压等级 1 0x00~0x06
GSM 信号等级 1 0x00~0x04
预留扩展位 2
MCC 2 国家代号MCC 最高 bit 位置 1 时MNC 占 2 个字节
MNC 1/2 移动网号码(转换为十进制)
LAC 2 位置区码(转换为十进制)
CI 3 移动基站 Cell Tower ID(转换为十进制)
RSSI 1 小区信号强度, 值范围是 0x00~0xFF, 0x00 信号最弱, 0xFF 信号最强
NLAC1~NLAC6 2 each 同上 LAC
NCI1~NCI6 3 each 同上 CI
NRSSI1~NRSSI6 1 each 同上 RSSI
TA 1 时间提前量
WIFI 数量 1 用于确定包内传输 WIFI 的数量, 0 为未检测到 WIFI
WIFI MAC1 6 接收的信号 1 WIFI 的 MAC
WIFI 强度 1 1 信号 1 WIFI 的信号强度
WIFI MAC2 6 同上
WIFI 强度 2 1 同上
... ... ...
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

终端信息详解

Bit 07 Bit 06 Bit 05-04-03-02 Bit 01 Bit 00
未定义 保留 状态码

状态码:

  • 0000: 正常
  • 0001: 上班打卡
  • 0010: 下班打卡
  • 0100: 开机报警
  • 0110: 低电报警
  • 1000: SOS 报警
  • 1010: 进入电子围栏
  • 1100: 出电子围栏
  • 1110: 关机报警

数据包中的状态信息均为数据包中时间位记录的那一刻状态。0x13 心跳包的此字节无意义,告警信息的上传由其他协议完成。

服务器响应

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0xB0
日期时间(终端打卡时间) 6 年(1byte)月(1byte)日(1byte)时(1byte)分(1byte)秒(1byte)(转换为十进制)(时区时间)
打卡结果 - 状态 1 1 表示打卡成功0 表示打卡失败
打卡结果 - 打卡类型 1 1 表示上班打卡2 表示下班打卡
终端保留信息 2 平台收到后原样回复给终端
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

实例:

终端 -> 服务器: 78 78 84 B0 11 09 16 02 38 1A 01 D7 02 6C 18 4F 0C 38 D1 29 01 14 00 44 06 04 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF ...
服务器 -> 终端: 78 78 0f b0 15 04 10 07 29 1e 01 01 01 00 00 00 d5 8d 0d 0a

考勤信息包 0xB1

上/下班打卡 GPS+WIFI+LBS 信息包 0xB1

描述

告警事件发生时(如上班/下班打卡),向服务器发送终端报打卡告警状态。

考勤信息包

与 0xB0 结构类似,协议号为 0xB1,主要区别:

  • MNC: 2 字节(固定)
  • LAC: 4 字节
  • CI: 8 字节
  • NLAC1~NLAC6: 4 each
  • NCI1~NCI6: 8 each

其余字段日期时间、GPS 是否定位、终端保留信息、GPS 信息、终端信息内容、电压等级、GSM 信号等级、预留扩展位、RSSI、TA、WIFI 数量及 WIFI MAC/强度等)与 0xB0 相同。

服务器响应

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0xB1
日期时间(终端打卡时间) 6 年(1byte)月(1byte)日(1byte)时(1byte)分(1byte)秒(1byte)(转换为十进制)(时区时间)
打卡结果 - 状态 1 1 表示打卡成功0 表示打卡失败
打卡结果 - 打卡类型 1 1 表示上班打卡2 表示下班打卡
终端保留信息 2 平台收到后原样回复给终端
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

实例:

终端 -> 服务器: 78 78 84 B0 11 09 16 02 38 1A 01 D7 ...
服务器 -> 终端: 78 78 0F B1 11 09 16 02 38 1A 01 01 00 00 00 00 51 f8 0D 0A

蓝牙打卡包 0xB2

描述

上传蓝牙打卡信息

蓝牙打卡包

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0xB2
日期时间 6 年(1byte)月(1byte)日(1byte)时(1byte)分(1byte)秒(1byte)(转换为十进制)
RSSI 信号强度 1 有符号整数
MAC 地址 6 00-FF-A6-B9-10-19则上传0x00 0xFF 0xA6 0xB9 0x10 0x19
UUID 16 12345678912345671234567891234567则上传0x12 0x34 0x56 0x78 0x91 0x23 0x45 0x67 0x12 0x34 0x56 0x78 0x91 0x23 0x45 0x67
Major 2 1234则上传0x12 0x34
Minor 2 1234则上传0x12 0x34
信标电量 2 无符号整形,例如上传 1对应实际最小单位是 0.01V
终端信息内容 1 详见终端信息详解
终端保留信息 2 平台收到后原样回复给终端
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

示例:

78 78 2B B2 16 08 08 0B 16 22 4E 00 FF A6 B9 10 19 00 FF A6 B9 10 19 00 FF A6 B9 10 19 00 18 FF A6 04 C2 04 B8 00 30 08 03 E9 00 17 1E 0B 0D 0A

终端信息详解

Bit 07 Bit 06 Bit 05-04-03-02 Bit 01 Bit 00
未定义 保留 状态码

状态码:

  • 0010: 下班打卡
  • 0001: 上班打卡

数据包中的状态信息均为数据包中时间位记录的那一刻状态。打卡包此字节无意义,告警信息的上传由其他协议完成。这里只针对打卡使用。

服务器响应

格式 长度 详解
起始位 2 0x78 0x78
包长度 1 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0xB2
日期时间(终端打卡时间) 6 年(1byte)月(1byte)日(1byte)时(1byte)分(1byte)秒(1byte)(转换为十进制)(时区时间)
打卡结果 - 状态 1 1 表示打卡成功0 表示打卡失败
打卡结果 - 打卡类型 1 1 表示上班打卡2 表示下班打卡
终端保留信息 2 平台收到后原样回复给终端
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

蓝牙定位包 0xB3

描述

上传蓝牙定位信息包

蓝牙定位包

格式 长度 详解
起始位 2 0x79 0x79
包长度 2 长度=协议号+信息内容+信息序列号+错误校验
协议号 1 0xB3
日期时间 6 年(1byte)月(1byte)日(1byte)时(1byte)分(1byte)秒(1byte)(转换为十进制)
蓝牙数量 1 上传的蓝牙信息数量

以下为每个蓝牙信标的信息(重复 N 次):

字段 长度 详解
RSSI 信号强度 1 有符号整数
MAC 地址 6 00-FF-A6-B9-10-19则上传0x00 0xFF 0xA6 0xB9 0x10 0x19
UUID 16 12345678912345671234567891234567则上传0x12 0x34 0x56 0x78 0x91 0x23 0x45 0x67 0x12 0x34 0x56 0x78 0x91 0x23 0x45 0x67
Major 2 1234则上传0x12 0x34
Minor 2 1234则上传0x12 0x34
信标电量 2 无符号整形,根据单位进行判断,如果单位是伏,对应实际最小单位是 0.01V,否则则是百分比
信标电量单位 1 0 是伏1 是百分比

包尾:

格式 长度 详解
信息序列号 2 从开机后,每次发送数据序列号都自动加 1, 循环使用
错误校验 2 CRC-ITU 值
停止位 2 固定值,统一为 0x0D 0x0A

服务器响应

蓝牙定位包无需回复。