Я получаю данные GPS от TCP (сокет PHP), но для некоторых устройств (GRTQ) я получу эти данные:
Первое устройство отправляет:
* HQ, XXXXXX, V1, время, А,Lat,Н / С,ДЛН,W / E, 000.00,000, дата, FFFFFBFF, 432,35,32448,33441,4 #
затем отправляет:
* HQ, XXXXXX, V9, время, A,Lat,Н / С,ДЛН,W / E, 000.10,000, дата ,, Идентификатор звонящего, FFFFFBFF #
затем отправляет:
$ A grQ05Ah @ ‘) ÿÿûÿÿ ° # ~ À‚¡U
Что это значит ??:
$ A grQ05Ah @ ‘) ÿÿûÿÿ ° # ~ À‚¡U
спасибо тебе за помощь
Модель устройства: GRTQ
Китайские производители / продавцы называют этот протокол по-другому, но в Traccar GPS-сервер отслеживания это известно как протокол H02. Вы можете найти документацию (к сожалению, только на китайском языке) Вот.
По сути, этот протокол связи включает в себя два типа сообщений: ASCII / текстовые сообщения (первые два из ваших примеров) и двоичные сообщения (третий пример).
Вы должны преобразовать полученные нечитаемые данные в шестнадцатеричную строку.
Вы получите что-то вроде этого
24 41 20 20 67 72 51 30 35 41 68 40 2018 29 FFFD FFFD FFFD FF FF FF FF FF FFFD FFFD FFFD FFFD b0 23 7e c0 201a a1 55
Затем вы можете разбить его и разобрать так:
2 bytes(24), stand for standard mode
10 bytes, is device'ID (41 20 20 67 72)
6 bytes, is time
6 bytes, is data
8 bytes, is latitude
2 bytes, battery like this 06= 100% 05=80% 04=60% 03=40% 02=20% 01=10%
10 bytes is longitude
next byte C is 16 hexadecimal, 0C, convert it into binary data, 1100 (4 bit)
Bit 3: if is 1= East longitude if is 0= West longitude
Bit 2: if is 1= North latitude, if is 0= South latitude
Bit1: if is 1= A( GPS position valid) if is 0= V( gps position invalid)
Bit 0: discard
000215: 6 digits, 000 is speed (knot 1 knot =1.852 km/h ) , 215 is direction in degrees.
FFFFF9FF:vehicle_status
2 bytes :back-up data
2 bytes :gsm_signal
0D : (convert to decimal=13 13 means the number of satellite gps_signal)
000000034 : mileage
4 bytes: mobile country code
2 bytes: mnc
4 bytes: lac
4 bytes: cell_id
2 bytes: record number