2015-06-04 157 views
-1

我收到的GPS數據從TCP(PHP插座),但對於某些設備(GRTQ)我會得到這些數據:

第一設備發送:
* HQ,XXXXXX,V1,時間,A,緯度,N/S,LNG,W/E,000.00,000,日期,FFFFFBFF,432,35,32448,33441,4#

然後發送:
* HQ,XXXXXX,V9,時間, A,Lat,N/S,Lng,W/E,000.10,000,日期,來電顯示,FFFFFBFF#

然後發送:
$ A grQ05Ah @ ')ÿÿûÿÿ°#〜À,¡U
GPS跟蹤GRTQ

這是什麼?含義:
$ A grQ05Ah @') ÿÿûÿÿ°#〜À,¡U

感謝您的幫助

設備的型號:GRTQ

+0

什麼是實際問題? – Epodax

+0

我想知道那是什麼(以及我應該回復什麼),因爲在下列數據後我不會收到任何數據 – Alibehtm

+0

看起來charset有問題,我擔心您需要添加一些更多細節讓人們給你一個更好的(/更合適的)答案。 – Epodax

回答

0

中國製造商/供應商不同的調用此協議,但在Traccar GPS tracking server它被稱爲H02協議。你可以找到文件(不幸的是只有中文)here。基本上,這個通信協議包括兩種類型的消息:ASCII /文本消息(前兩個例子)和二進制消息(第三個例子)。

+0

謝謝,但我應該如何回覆這些數據以獲得正確的位置? – Alibehtm

+0

我可以避免響應二進制消息(使用短信或特殊命令)嗎? – Alibehtm

+0

您不需要回復任何這些消息。我不知道是否可以避免二進制消息。可能不是,但你應該檢查手冊或詢問製造商。 –

0

您必須將收到的不可讀數據轉換爲十六進制字符串。 你會得到這樣的事情 24 41 20 20 67 72 51 30 35 41 68 40 2018 29 FFFD FFFD FFFD FF FF FB 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