【问题标题】:GPS Tracking device data intepretationGPS追踪设备数据解读
【发布时间】:2012-09-15 09:18:51
【问题描述】:

我使用 PHP 开发了一个 GPS 服务器。我能够从按照以下字符串出现的 Redview 设备获取数据。

$$10737020005???&A9955&B085439.000,A,0116.8607,S,03645.5800,E,0.00,271.45,270911,,,A*7B|1.1|&C0000011111&D00269<21&E00000001&Y00000000##

我已设法将字符串拆分为单独的部分,并将数据成功存储在 MySql 数据库表中。

问题:

下面的字符串是什么意思?

A*7B|1.1|&C0000011111&D00269<21&E00000001&Y00000000##

【问题讨论】:

  • 我测试了另一台设备,但没有按照我的配置给出一个单元 ID,而是以完全不同的格式给出如下:$$ h?sp_ÖU163240.298,A, 0118.3741,S,03645.3077,E,001。 5,010.2,011011,,, 其中 $$ h?sp _ ÖU 应该表示单元 ID。我配置的单元 ID 是 10737020005。我该如何解释这些数据。

标签: php gps gis


【解决方案1】:

*7B = 校验和,但其余部分可能是 Redview 附加到最后的专有数据。通常,公司会将这些数据保密(尽管许多制造商已对其进行了逆向工程)并将其出售给开发人员。

查看维基百科在NMEA 上的条目以获取更多链接和信息。

【讨论】:

  • 我测试了另一台设备,但没有按照我的配置给出一个单元 ID,而是以完全不同的格式给出如下:$$ h?sp_ÖU163240.298,A, 0118.3741,S,03645.3077,E,001。 5,010.2,011011,,, 其中 $$ h?sp _ ÖU 应该表示单元 ID。我配置的单元 ID 是 10737020005。我该如何解释这些数据。
  • $$ h?sp _ ÖU 的十六进制代码是什么?当该十六进制转换为十进制时,它是否接近 10737020005?
  • 10737020005 的十进制到十六进制是 27FF9EC65,我猜 $$ h?sp _ ÖU?不是十六进制,因为十六进制有 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 并且看不到这些字符。我已经测试过配置相同类型的不同设备,但都以该格式发送 ID,例如$$ f?sp _ ÖU 和 $$ V?tIô2 ÖU 有点疯狂
  • $$ ÖU 很可能是分隔符,或者只是设备之间相同的数据。如果它们之间的值是一致的,那么它们很可能是您正在寻找的标识符,只是以某种方式编码。
  • 当然。我同意你对分隔符的看法。分隔符之间的数据在每个设备上都是一致的。解码是关键问题,因为我无法理解格式。根据我之前的评论,它不是十六进制。
【解决方案2】:

这些字符串和我之前见过的 Meil​​ago、Bofan、Access Tech 等消息非常相似。查看 Redview 网站,我认为他们销售的设备与我以前使用的设备完全相同;据我所知,基本上相同的设备以几个不同的品牌出售。我建议向 Redview 询问协议文档,或查看其他供应商:我找到了一个 here,但还有其他几个规范 out there。其实我也刚刚找到了redview 规格。

很难判断您的字符串涵盖了哪个命令(客户端设备消息类型),因为相应的 2 个字节将是 ??,并且没有为 3F3F 定义任何内容(假设为 ASCII 编码)。上面引用的子字符串是给定命令的具体数据。您可以检查服务器端,如果接收和记录消息一切正常:我建议从套接字读取整数(字节),并仔细记录它们(例如编码)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-19
    • 1970-01-01
    • 2014-02-18
    • 1970-01-01
    • 2016-07-03
    • 2023-03-26
    相关资源
    最近更新 更多