java - 如何从 GPS 设备 (TK06A) 读取数据

标签 java gps hex

我是 GPS 应用程序的新手,我被其中一个项目困住了。我想从该 GPS 设备 (TK06A) 读取数据(纬度/经度)。目前我正在使用 HW-group 的 Hercules SETUP Utility。文本格式的数据只是垃圾,而如果我将其转换为十六进制,则会显示如下

{78}{78}{0D}{01}{03}{55}{48}{80}{00}{03}{53}{63}{00}{15}{2E}{44}{0D}{0A}
{78}{78}{0D}{01}{03}{55}{48}{80}{00}{03}{53}{63}{00}{15}{2E}{44}{0D}{0A}
{78}{78}{1F}{12}{0F}{09}{17}{11}{26}{06}{C8}{01}{FD}{4D}{C0}{07}{EC}{09}
{E8}{00}{34}{71}{01}{94}{1B}{00}{BE}{00}{34}{E6}{00}{15}{35}{7C}{0D}{0A}

虽然十六进制数据根据协议(protocol)有一定意义,但我无法从中理解纬度/经度。这是供应商提供的协议(protocol)手册的链接

Link to Protocol Manual for GPS Tracker TK06A

我还尝试编写 JAVA 代码来读取 TCP 端口并打印相同的内容,但同样没有帮助。

最佳答案

假设您已收到如下数据包:

登录字符串:78780d0103554880249067690016bd720d0a

7878 - 起始位 0d - 长度 01 - 协议(protocol)号 0355488024906769 - IMEI 0016 - 序列号 bd72-CRC 0d0a - 停止位

数据字符串:78781f120f0b050e2536c601fb782d07ed996b00345d01941b00b8002f51001634210d0a

7878 - 起始位 1f - 数据长度 12 - 协议(protocol)号 0f0b050e2536 - 时间和日期

c6 - GPS 信息长度/参与定位的卫星数量。 4 位 - GPS 长度。 4位卫星数。

01fb782d - 纬度
07ed996b - 经度

00 - 速度 345d - 状态/类(class)

0194 - 移动国家代码 1b - 移动网络代码 00b8 - 位置区号 002f51 - 蜂窝塔 ID

0016 - 序列信息 分段阅读_第 3421 章 0d0a - 停止位

注意:在使用上述十六进制数据之前,请先将每个参数转换为十进制。

请告诉我这是否有帮助或需要任何其他帮助:)

关于java - 如何从 GPS 设备 (TK06A) 读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32739504/

相关文章:

java - 一对多关系

JavaFX 绘制形状时出现鼠标输入问题?

java - 在这种情况下,它的任何父类(super class)都不为人所知

ios - 如何使用 myapp 跟踪设备的位置

android - 在 Android 中启用 GPS

php - 使用 PHP 生成随机十六进制颜色代码

python - 如果可以的话,如何强制 Socket 中的 recv() 不将我的十六进制值转换为 ASCII(python)

java - XML 数字签名验证

ios - 在ios8.0 App中从GPS获取位置

c++ - 有没有办法将 INT 和字符串存储在同一个数组中?