чтение сообщений с устройства отслеживания через gprs - PullRequest
1 голос
/ 09 января 2012

У меня есть устройство слежения Meiligao VT310, которое отправляет мне сообщения через gprs. Я успешно прочитал сообщения с этим кодом, но он не такой, как я ожидал.

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,0,040112 ,, * 1B | 0.0 | 244 | 0000 | 0008,0006 | 0125004600323C97 | 0E | 0000099C ?? \ г \ п

1 Ответ

0 голосов
/ 12 января 2012

Meiligao VT310 использует собственный протокол, известный как Meiligao GPRS Communication Protocol.

Формат команды пакета GPRS (TCP / UDP):

От сервера к трекеру:

<header><L><ID><command><parameter><checksum>\r\n

От трекера к серверу:

<header><L><ID><command><data><checksum>\r\n

Это вовсе не NMEA, но он может использовать GPRS NMEA 0183 GPRMC протокол в своей data части.

Ресурсы, представляющие интерес:

...