0. ** 最新协议文档
《6ZHENTAN-GPS接口协议V1.1.6.pdf》;右键->"链接存储为"保存本文档到电脑查看最新协议详情;
1. SOC:联咏
1.0.1 GPS数据上报(8002)
- 功能描述 为支持实时预览时,实时显示当前的运动数据状态(速度、经纬度、GSensor、海拔等数据),需要通过socket实时上报GPS数据;
- 命令描述 消息ID:8002
- 消息上报
<Function>
<Cmd>8002</Cmd>
<Status>0</Status>
</Function>
- 参数格式
为保持兼容性,GPS的数据必需包含下面列表的字段,不支持或是没有的按此规则填充: 'NA' 表示本条数据该字段值无效,故没有值; 该字段本设备不支持 就用中横线'-' ,每个字段以空格分开;
参数描述 | 参数样例 |
---|---|
发生的日期 | 2020/10/05 (日期格式:yyyy/MM/dd) |
发生的时间 | 17:58:34 (时间格式:HH:mm:ss) |
纬度 | N:22.525431(N:北纬,S:南纬) |
经度 | E:114.030060 (E:东经,W:西经) |
速度值 | 32.00 |
速度单位 | km/h (如果是海里,请换算成km/h) |
方位 | 12( 参数范围:[0.00-360.00]) |
海拔 | 1220 (参数范围:[-9999.00-9999.00]) |
当前搜到的卫星数 | 7 (用来显示GPS的信号强度) |
sensor X轴的数据 | +0.515 |
sensor Y轴的数据 | +0.054 |
sensor Z轴的数据 | -2.000 |
- 数据示例:
有效数据:
2020/06/15 09:19:55 N:22.524790 E:113.935379 41.80 km/h 271.80 3.50 17 x:-0.004 y:-0.137 z:+0.054
含无效字段的:
2020/06/15 09:19:55 NA NA NA km/h NA NA NA x:-0.004 y:-0.137 z:+0.054
当前GPS模块不支持的字段:
2020/06/15 09:19:55 N:22.524790 E:113.935379 41.80 km/h - - - x:-0.004 y:-0.137 z:+0.054
1.0.2 GPS数据文件
在进行视频在线回放或是视频下载到手机本地进行播放时,为能够同时显示GPS的数据信息,需要记录视频文件对应的GPS数据文件,GPS文件为文本格式,每一条数据为一行,每行数据的内容同消息ID(8002)的格式,详情参考'GPS数据上报(8002)'中的表格;
文件命名格式
GPS文件名称和对应的视频文件同名,仅文件后缀不同:为TXT;
GPS的文件路径:固定在GPSdata目录下;
双路视频对应方式: 前后路视频文件以A、B结尾进行区分;注意:前后路的同一个时间的视频文件名,除结尾的A、B不同外,其他必需完全一样;
示例如下:
视频文件名称: 前路:/**/20200615091954_001141A.mp4 后路:/**/20200615091954_001141B.mp4 GPS文件路径(固定在路径GPSdata下): /GPSdata/20200615091954_001141A.TXT
文件下载:支持通过http根据文件路径下载txt的GPS数据文件
http://192.168.1.254:80/GPSdata/20200615091954_001141A.TXT
GPS文件内容:
2020/06/15 09:19:55 N:22.524790 E:113.935379 41.80 km/h 271.80 3.50 17 x:-0.004 y:-0.137 z:+0.054
2020/06/15 09:19:56 N:22.524790 E:113.935257 43.34 km/h 271.47 3.90 17 x:+0.089 y:-0.176 z:-0.231
2020/06/15 09:19:57 N:22.524790 E:113.935143 44.52 km/h 271.02 4.70 16 x:-0.016 y:+0.011 z:+0.093
……
2. SOC: 杰理
2.0.1 GPS数据实时上报(VI_GPS_RTDATA)
- 功能描述 设备按周期上报当前实时的GPS数据信息
- 命令描述 Topic: "VI_GPS_RTDATA" errno: 参考设备错误列表, op: 操作类型("NOTIFY") info: 一条完整的GPS数据,具体字段见下表描述,每个字段之间以 空格分隔
操作类型 | 发送参数说明 | 回复说明 |
---|---|---|
NOTIFY | 无 | "errno":0, "op":"NOTIFY", "param":{ "info":"2020/06/15 09:19:55 N:22.524790 E:113.935379 41.80 km/h 271.80 3.50 17 x:-0.004 y:-0.137 z:+0.054"} |
- 参数格式
为保持兼容性,GPS的数据必需包含下面列表的字段,不支持或是没有的按此规则填充: 'NA' 表示本条数据该字段值无效,故没有值; 如果字段本设备不支持 就用中横线'-' ,每个字段以空格分开;
参数描述 | 参数样例 |
---|---|
发生的日期 | 2020/10/05 (日期格式:yyyy/MM/dd) |
发生的时间 | 17:58:34 (时间格式:HH:mm:ss) |
纬度 | N:22.525431(N:北纬,S:南纬) |
经度 | E:114.030060 (E:东经,W:西经) |
速度值 | 32.00 |
速度单位 | km/h (如果是海里,请换算成km/h) |
方位 | 12( 参数范围:[0.00-360.00]) |
海拔 | 1220 (参数范围:[-9999.00-9999.00]) |
当前搜到的卫星数 | 7 (用来显示GPS的信号强度) |
sensor X轴的数据 | +0.515 |
sensor Y轴的数据 | +0.054 |
sensor Z轴的数据 | -2.000 |
- 数据示例:
有效数据:
2020/06/15 09:19:55 N:22.524790 E:113.935379 41.80 km/h 271.80 3.50 17 x:-0.004 y:-0.137 z:+0.054
含无效字段的(NA):
2020/06/15 09:19:55 NA NA NA km/h NA NA NA x:-0.004 y:-0.137 z:+0.054
当前GPS模块不支持的字段(-):
2020/06/15 09:19:55 N:22.524790 E:113.935379 41.80 km/h - - - x:-0.004 y:-0.137 z:+0.054
2.0.2 视频对应GPS数据文件获取
在进行视频在线回放或是视频下载到手机本地进行播放时,为能够同时显示GPS的数据信息,需要记录视频文件对应的GPS数据文件,GPS文件为文本格式,每一条数据为一行,每行数据的内容同消息ID(VI_GPS_RTDATA中的info信息)的格式,详情参考'GPS数据实时上报(VI_GPS_RTDATA)'中的表格;
建议GPS数据的采样频率至少1条每秒;
文件命名格式
GPS文件名称和对应的视频文件同名,仅文件后缀不同:为TXT;
GPS的文件在TF卡放置的路径:固定在根目录下的GPSdata目录下;
双路视频对应方式: 每个视频文件对应一个GPS文件,比如前后路的只有一份数据,设备完成同一份数据对应前后路视频各自一个文件的生成
示例如下:
视频文件名称: 前路:/**/20200615091954_001141A.mp4 后路:/**/20200615091954_001141B.mp4 GPS文件路径(固定在路径GPSdata下): /GPSdata/20200615091954_001141A.TXT (对应前路的文件) /GPSdata/20200615091954_001141B.TXT (对应后路的文件)
文件下载:支持通过http根据文件路径下载txt的GPS数据文件
http://IP:PORT/GPSdata/20200615091954_001141A.TXT
GPS文件内容:
2020/06/15 09:19:55 N:22.524790 E:113.935379 41.80 km/h 271.80 3.50 17 x:-0.004 y:-0.137 z:+0.054
2020/06/15 09:19:56 N:22.524790 E:113.935257 43.34 km/h 271.47 3.90 17 x:+0.089 y:-0.176 z:-0.231
2020/06/15 09:19:57 N:22.524790 E:113.935143 44.52 km/h 271.02 4.70 16 x:-0.016 y:+0.011 z:+0.093
……
3. SOC: ALLWIN
3.0.1 GPS数据实时上报
- 功能描述 设备通过邮箱服务socket(9999)按周期(每秒)上报当前实时的GPS数据信息
- 命令描述 邮箱的id(eventid): "19001" info: 一条完整的GPS数据,具体字段见下表描述,每个字段之间以 空格分隔
消息样例:
{
"event": "19001",
"info": "2020/06/15 09:19:55 N:22.524790 E:113.935379 41.80 km/h 271.80 3.50 17 x:-0.004 y:-0.137 z:+0.054"
}
- 参数格式
为保持兼容性,GPS的数据必需包含下面列表的字段,不支持或是没有的按此规则填充: 'NA' 表示本条数据该字段值无效,故没有值; 如果字段本设备不支持 就用中横线'-' ,每个字段以空格分开;
参数描述 | 参数样例 |
---|---|
发生的日期 | 2020/10/05 (日期格式:yyyy/MM/dd) |
发生的时间 | 17:58:34 (时间格式:HH:mm:ss) |
纬度 | N:22.525431(N:北纬,S:南纬) |
经度 | E:114.030060 (E:东经,W:西经) |
速度值 | 32.00 |
速度单位 | km/h (如果是海里,请换算成km/h) |
方位 | 12( 参数范围:[0.00-360.00]) |
海拔 | 1220 (参数范围:[-9999.00-9999.00]) |
当前搜到的卫星数 | 7 (用来显示GPS的信号强度) |
sensor X轴的数据 | +0.515 |
sensor Y轴的数据 | +0.054 |
sensor Z轴的数据 | -2.000 |
- 数据示例:
有效数据:
2020/06/15 09:19:55 N:22.524790 E:113.935379 41.80 km/h 271.80 3.50 17 x:-0.004 y:-0.137 z:+0.054
含无效字段的(NA):
2020/06/15 09:19:55 NA NA NA km/h NA NA NA x:-0.004 y:-0.137 z:+0.054
当前GPS模块不支持的字段(-):
2020/06/15 09:19:55 N:22.524790 E:113.935379 41.80 km/h - - - x:-0.004 y:-0.137 z:+0.054
3.0.2 视频对应GPS数据文件获取
在进行视频在线回放或是视频下载到手机本地进行播放时,为能够同时显示GPS的数据信息,需要记录视频文件对应的GPS数据文件,GPS文件为文本格式,每一条数据为一行,每行数据的内容同消息ID(19001中的info信息)的格式,详情参考'GPS数据实时上报'中的表格;
建议GPS数据的采样频率至少1条每秒;
文件命名格式
GPS文件名称和对应的视频文件同名,仅文件后缀不同:为TXT;
GPS的文件在TF卡放置的路径:固定在根目录下的GPSdata目录下;
双路视频对应方式: 每个视频文件对应一个GPS文件,比如前后路的只有一份数据,设备完成同一份数据对应前后路视频各自一个文件的生成
示例如下:
视频文件名称: 前路:/**/20200615091954_001141A.mp4 后路:/**/20200615091954_001141B.mp4 GPS文件路径(固定在路径GPSdata下): /GPSdata/20200615091954_001141A.TXT (对应前路的文件) /GPSdata/20200615091954_001141B.TXT (对应后路的文件)
文件下载:支持通过http根据文件路径下载txt的GPS数据文件
http://IP:PORT/GPSdata/20200615091954_001141A.TXT
GPS文件内容:
2020/06/15 09:19:55 N:22.524790 E:113.935379 41.80 km/h 271.80 3.50 17 x:-0.004 y:-0.137 z:+0.054
2020/06/15 09:19:56 N:22.524790 E:113.935257 43.34 km/h 271.47 3.90 17 x:+0.089 y:-0.176 z:-0.231
2020/06/15 09:19:57 N:22.524790 E:113.935143 44.52 km/h 271.02 4.70 16 x:-0.016 y:+0.011 z:+0.093
……
3.0.3 将GPS数据写入视频文件
待补充
4. SOC: 海思
4.0.1 GPS数据实时上报(GPS_RTDATA)
- 功能描述 设备通过邮箱服务socket按周期(每秒)上报当前实时的GPS数据信息
- 命令描述 邮箱的id(eventid): "GPS_RTDATA" info: 一条完整的GPS数据,具体字段见下表描述,每个字段之间以 空格分隔
消息样例:
{
"eventid": "GPS_RTDATA",
"info": "2020/06/15 09:19:55 N:22.524790 E:113.935379 41.80 km/h 271.80 3.50 17 x:-0.004 y:-0.137 z:+0.054"
}
- 参数格式
为保持兼容性,GPS的数据必需包含下面列表的字段,不支持或是没有的按此规则填充: 'NA' 表示本条数据该字段值无效,故没有值; 如果字段本设备不支持 就用中横线'-' ,每个字段以空格分开;
参数描述 | 参数样例 |
---|---|
发生的日期 | 2020/10/05 (日期格式:yyyy/MM/dd) |
发生的时间 | 17:58:34 (时间格式:HH:mm:ss) |
纬度 | N:22.525431(N:北纬,S:南纬) |
经度 | E:114.030060 (E:东经,W:西经) |
速度值 | 32.00 |
速度单位 | km/h (如果是海里,请换算成km/h) |
方位 | 12( 参数范围:[0.00-360.00]) |
海拔 | 1220 (参数范围:[-9999.00-9999.00]) |
当前搜到的卫星数 | 7 (用来显示GPS的信号强度) |
sensor X轴的数据 | +0.515 |
sensor Y轴的数据 | +0.054 |
sensor Z轴的数据 | -2.000 |
- 数据示例:
有效数据:
2020/06/15 09:19:55 N:22.524790 E:113.935379 41.80 km/h 271.80 3.50 17 x:-0.004 y:-0.137 z:+0.054
含无效字段的(NA):
2020/06/15 09:19:55 NA NA NA km/h NA NA NA x:-0.004 y:-0.137 z:+0.054
当前GPS模块不支持的字段(-):
2020/06/15 09:19:55 N:22.524790 E:113.935379 41.80 km/h - - - x:-0.004 y:-0.137 z:+0.054
4.0.2 视频对应GPS数据文件获取
在进行视频在线回放或是视频下载到手机本地进行播放时,为能够同时显示GPS的数据信息,需要记录视频文件对应的GPS数据文件,GPS文件为文本格式,每一条数据为一行,每行数据的内容同消息ID(GPS_RTDATA中的info信息)的格式,详情参考'GPS数据实时上报(GPS_RTDATA)'中的表格;
建议GPS数据的采样频率至少1条每秒;
文件命名格式
GPS文件名称和对应的视频文件同名,仅文件后缀不同:为TXT;
GPS的文件在TF卡放置的路径:固定在根目录下的GPSdata目录下;
双路视频对应方式: 每个视频文件对应一个GPS文件,比如前后路的只有一份数据,设备完成同一份数据对应前后路视频各自一个文件的生成
示例如下:
视频文件名称: 前路:/**/20200615091954_001141A.mp4 后路:/**/20200615091954_001141B.mp4 GPS文件路径(固定在路径GPSdata下): /GPSdata/20200615091954_001141A.TXT (对应前路的文件) /GPSdata/20200615091954_001141B.TXT (对应后路的文件)
文件下载:支持通过http根据文件路径下载txt的GPS数据文件
http://IP:PORT/GPSdata/20200615091954_001141A.TXT
GPS文件内容:
2020/06/15 09:19:55 N:22.524790 E:113.935379 41.80 km/h 271.80 3.50 17 x:-0.004 y:-0.137 z:+0.054
2020/06/15 09:19:56 N:22.524790 E:113.935257 43.34 km/h 271.47 3.90 17 x:+0.089 y:-0.176 z:-0.231
2020/06/15 09:19:57 N:22.524790 E:113.935143 44.52 km/h 271.02 4.70 16 x:-0.016 y:+0.011 z:+0.093
……
5. (推荐)将GPS数据写入视频文件
将GPS数据保存在视频文件末尾,每秒钟有一个GPS数据块
推荐使用以下数据结构,将GPS数据长度写在视频最末尾,便于手机App和电脑应用快速检索GPS数据
总体结构
头部描述信息 | 数据内容 | 尾部描述信息 | ||
4字节长度 | 4字节特征字符 | N字节 | 4字节特征字符 | 4字节长度 |
8+N+8 | SKIP | 数据头+n个数据块 | &&&& | 8+N+8 |
说明:
1)基本结构是:8个字节(头部描述信息) + N字节(数据内容)+8字节(尾部描述信息)
2)头部描述信息:4个字节是指长度,后 4 个字节是段名(ASCII)固定命名为“SKIP”
3)4 个字节长度:4个字节长度值=数据内容的长度+8,存储方式:按照高位在前低位在后的方法排列,比如长度为 0x12345678,此处存储方式是0x12 0x34 0x56 0x78,
4)尾部描述信息:4个字节固定标识“&&&&”,后面4个字节是长度跟“头部描述信息”里面的4字节长度完全一致
数据内容
数据头 | 数据块0 | …… | 数据块n |
---|---|---|---|
20字节 | 132字节 | …… | 132字节 |
数据头
数据标识 | 预留位 | 数据块个数 |
---|---|---|
15字节:chIdentification | 1字节 | 4字节:nCount |
说明:
1)数据头包含数据标识、预留位、数据块个数
2)chIdentification:默认为字符串“LIGOGPSINFO”
3)nCount:数据块的总数,每秒生成一个数据块,默认为0,如将在视频末尾写入60个GPS数据块,则nCount=60
数据块
数据块大小为132字节,数据块包含数据块头、数据块内容
数据块头 | 数据块内容 |
---|---|
4字节:nIndex | 128字节:chInfomation |
说明:
1)nIndex:4字节,数据块的索引,从1开始递增,最后一个数据块的索引等于前面数据头中描述的数据块个数nCount
2)chInfomation:固定128个字节,行驶数据, 数据格式为:“年/月/日 时:分:秒 经度 纬度 速度 km/h X轴加速度 Y轴加速度 Z轴加速度 航向角 海拔 磁偏角”;数据之间以空格分开,如下:2014/04/24 10:20:34 N:22.587164 E:113.871490 29.4 km/h x:+0.00 y:-0.31 z:+0.93 A:12.1 H:123.5 M:E12.1
注意:
1)如果当前没有定位成功,经纬度全部为0,GSensor数据也为0,每秒种采集一次,有定位数据就用真实数据,没有就用0
2)纬度,只保留小数点后6位,N为北纬,S为南纬,度格式,如GPS模块获取到的数据为1122.34566(度分格式),需要转化为以度为单位的数据,转换公式为:
Float Value = 1122.34566 /100(获取到度的整数) + 22.34566 /60.0f(把分转换为度,60 分为一度)
3)经度,只保留小数点后6位,E为东经,W为西经,度格式,如GPS模块获取到的数据为11122.34566(度分格式),需要转化为以度为单位的数据,转换公式为:
Float Value = 11122.34566 /100(获取到度的整数) + 22.34566 /60.0f(把分转换为度,60 分为一度)
4)速度,只保留小数点后1位,单位km/h,如GPS模块获取到的速度单位为海里/h,需要转换为km/h,1海里/h=1.852km/h,注意此处的km/h只是一个识别符,而不代表速度单位
5)Gsensor,只保留小数点后2位,每个方向偏角最多只保存两位小数,如x:+0.00 y:-0.31 z:+0.93,单位是G
6)航向(参考$GPRMC),只保留小数点后1位,A:21.1,A 表示是航向数据,后面的数据是角度,取值范围0到360,数据直接来源于$GPRMC,不需要转换
7)海拔(参考$GPGGA),只保留小数点后1位,H表示是海拔数据,后面的数据内容直接来源于$GPGGA,不需要转换
8)磁偏角(参考$GPRMC),只保留小数点后1位,M表示是磁偏角数据,E表示磁偏角方向,E为东,W为西,后面的数据内容直接来源于$GPRMC,不需要转换
9)为了回放视频(视频未下载)时App也能获取到写在视频末尾的GPS数据,需要设备端的HTTP服务器支持Range bytes=0-等语法,方便App下载GPS数据