C# 通过gprs从跟踪设备读取信息

C# 通过gprs从跟踪设备读取信息,c#,gps,tracker,nmea,C#,Gps,Tracker,Nmea,我有一个跟踪设备Meiligao VT310,它通过gprs向我发送信息。我用这段代码成功地读取了messagess,但它与我预期的不一样 private void ReadCallback(IAsyncResult result) { Client client = result.AsyncState as Client; NetworkStream networkStream = client.NetworkStream; int read = networkStream.

我有一个跟踪设备Meiligao VT310,它通过gprs向我发送信息。我用这段代码成功地读取了messagess,但它与我预期的不一样

private void ReadCallback(IAsyncResult result)
{
   Client client = result.AsyncState as Client;
   NetworkStream networkStream = client.NetworkStream;
   int read = networkStream.EndRead(result);
   string data = this.Encoding.GetString(client.Buffer, 0, read);

   networkStream.BeginRead(client.Buffer, 0, client.Buffer.Length, ReadCallback, client);
}
我希望以NMEA格式输出,但输出如下:


$$\0}E!@5/?U154108.000,V,4619.3051,N,01549.5325,E,0.00,0040112,,*1B | 0.0 | 244 | 0000 | 00080006 | 0125004600323C97 | 0E | 0000099C???\r\N

美利高VT310使用其自己的协议称为
美利高GPRS通信协议

GPRS(TCP/UDP)数据包命令格式如下:

从服务器到跟踪器:

<header><L><ID><command><parameter><checksum>\r\n
\r\n
从跟踪器到服务器:

<header><L><ID><command><data><checksum>\r\n
\r\n
它根本不是NMEA,但它的数据部分可能使用GPRS NMEA 0183 GPRMC协议

感兴趣的资源:

  • 美利高GPRS通信协议
  • GpsGate在其论坛中是相关的

Sooo您期待什么?GPS坐标消息似乎包含未知字符,如\0}E!@5/?? 和*1B | 0.0 | 244 | 0000 | 00080006 | 0125004600323C97 | 0E | 0000099C???\r\n但您期望得到什么?类似于$GPRMC,081836,A,3751.65,S,14507.36,E,000.0360.0130998011.3,E*62如果您获得无效字符,这听起来更像是编码问题。此设备如何连接到相关计算机?