Чтение данных с устройства? - PullRequest
1 голос
/ 02 апреля 2012

Разрабатываю приложение Netty. В том, что я читаю пакеты данных от клиента. Но есть одно устройство под названием Teltonika. Сначала это устройство отправляет номер IMEI, а после подтверждения отправляет трекпакет.

Но проблема здесь в том, что он отправляет правильный номер IMEI, но отправляемый TarckPacket остается в нечитаемом формате. Пожалуйста, помогите мне.

'IMEI NO: [0, 15, 51, 53, 50, 56, 52, 56, 48, 50, 50, 55, 57, 49, 55, 49, 53]'

Устройство, отправляющее номер IMEI, имеет правильный формат, но приведенный ниже пакет отслеживания не является правильным форматом.

Пакет отслеживания:

[0, 0, 0, 0, 0, 0, 0, -61, 8, 4, 0, 0, 1, 53, -117, 86, 80, -56, 0, 46, 60, 22 , -128, 7, -60, -27, 40, 3, -118, 1, 92, 10, 0, 0, 0, 6, 2, 1, 1, 2, 0, 3, 9, 0, 23 , 10, 0, 13, 24, 0, 0, 1, -57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 53, -117, 85, 101, -18, 0, 46, 60, 22, -128, 7, -60, -27, -112, 3, -119, 1, 92, 9, 0, 0, 0, 6, 2, 1, 1, 2, 0, 3, 9 , 0, 27, 10, 0, 10, 24, 0, 0, 1, -57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 53, -117, 84, 123, 21, 0 , 46, 60, 22, -128, 7, -60, -27, -112, 3, -121, 1, 92, 8, 0, 0, 0, 6, 2, 1, 1, 2, 0, 3, 9, 0, 27, 10, 0, 12, 24, 0, 0, 1, -57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 53, -117, 83, -115 , -78, 0, 46, 60, 22, -128, 7, -60, -27, -48, 3, -121, 1, 92, 11]

Что я сделал:

StringBuffer sbs = new StringBuffer(); 
buf = (ChannelBuffer) e.getMessage();
while(buf.readable()) 
{
sbs.append((char) buf.readByte()); 
} 
msg = sbs.toString();
System.out.println(msg);
byte[] request = new byte[] { 0x01 };    
e.getChannel().write(ChannelBuffers.wrappedBuffer(request)); 
System.out.flush();

1 Ответ

0 голосов
/ 02 апреля 2012

, если это мобильное устройство gsm или cdma, поиск «AT Commands» запускает эти команды COM-порты, которые возвращают желаемый результат для запущенных команд.

...