Data Packet Format The communication is transferred asynchronously in bytes. The total length of packets is (10+N) Bytes. Format | Length(Byte) | Start Bit | 2 | Packet Length | 1 | Protocol Number | 1 | Information Content | N | Information Serial Number | 2 | Error Check | 2 | Stop Bit | 2 |
1. 2. 3. 4. 4.1. Start Bit Fixed value in HEX 0x78 0x78. 4.2. Packet Length Length = Protocol Number + Information Content + Information Serial Number + Error Check, totally (5+N)Bytes, because the Information Content is a variable length field. 4.3. Protocol Number Type | Value | Login Message | 0x01 | Location Data | 0x12 | Status information | 0x13 | String information | 0x15 | Alarm data | 0x16 | GPS, query address information by phone number | 0x1A | Command information sent by the server to the terminal | 0x80 |
4.4. Information Contents The specific contents are determined by the protocol numbers corresponding to different applications. 4.5. Information Serial Number The serial number of the first GPRS data (including status packet and data packet such as GPS, LBS) sent after booting is ‘1’, and the serial number of data sent later at each time will be automatically added ‘1’. 4.6. Error Check A check code may be used by the terminal or the server to distinguish whether the received information is error or not. To prevent errors occur during data transmission, error check is added to against data misoperation, so as to increase the security and efficiency of the system. The check code is generated by the CRC-ITU checking method. CRC error occur when the received information is calculated, the receiver will ignore and discard the data packet. 4.7. Stop Bit Fixed value in HEX 0x0D 0x0A. The commonly used information packages sent by the terminal and those sent by the server will be interpreted separately. 4. 5. 5.1. Login Message Packet 5.1.1. Terminal Sending Data Packet to Server The login message packet is used to be sent to the server with the terminal ID so as to confirm the established connection is normal or not.
| Description | Bits | Example | Login Message Packet(18 Byte) | Start Bit | 2 | 0x78 0x78 | Packet Length | 1 | 0x0D | Protocol Number | 1 | 0x01 | Terminal ID | 8 | 0x01 0x23 0x45 0x67 0x89 0x01 0x23 0x45 | Information Serial Number | 2 | 0x00 0x01 | Error Check | 2 | 0x8C 0xDD | Stop Bit | 2 | 0x0D 0x0 |
5.1.1.1. Start Bit For details see Data Packet Format section 4.1. 5.1.1.2. Packet Length For details see Data Packet Format section 4.2. 5.1.1.3. Protocol Number For details see Data Packet Format section 4.3. 5.1.1.4. Terminal ID The terminal ID applies IMEI number of 15 bits. Example: if the IMEI is 123456789012345, the terminal ID is 0x01 0x23 0x45 0x67 0x89 0x01 0x23 0x45. 5.1.1.5. Information Serial Number For details see Data Packet Format section 4.5. 5.1.1.6. Error Check For details see Data Packet Format section 4.6. 5.1.1.7. Stop Bit For details see Data Packet Format section 4.7. 5.1.2. Server Responds the Data Packet
| Description | Bits | Example | Login Message Packet (18 Byte) | Start Bit | 2 | 0x78 0x78 | Packet Length | 1 | 0x05 | Protocol Number | 1 | 0x01 | Information Serial Number | 2 | 0x00 0x01 | Error Check | 2 | 0xD9 0xDC | Stop Bit | 2 | 0x0D 0x0A |
The response packet from the server to the terminal: the protocol number in the response packet is identical to the protocol number in the data packet sent by the terminal. 5.1.2.1. Start Bit For details see Data Packet Format section 4.1. 5.1.2.2. Packet Length For details see Data Packet Format section 4.2. 5.1.2.3. Protocol Number For details see Data Packet Format section 4.3. 5.1.2.4. Information Serial Number For details see Data Packet Format section 4.5. 5.1.2.5. Error Check 5.1.2.6. Stop Bit For details see Data Packet Format section 4.7. 5.1.3. Examples Examples of the login message packet sent by the terminal to the server and the response packet sent by the server to the terminal are as follows: (in the examples the terminal ID is 123456789012345.
Example of data packet sent by the terminal 78 780 0D 01 01 23 45 67 89 01 23 45 00 01 8C DD 0D 0A Explain | 0x78 0x78 | 0x0D | 0x01 | 0x01 0x23 0x45 0x67 0x89 0x01 0x23 0x45 | 0x00 0x01 | 0x8C 0xDD | 0x0D 0x0A | Start Bit | Length | Protocol No. | Terminal ID | Serial No. | Error Check | Stop Bit | Example of response packet returned by the server 78 78 05 01 00 01 D9 DC 0D 0A Explain | 0x78 0x78 | 0x05 | 0x01 | 0x00 0x01 | 0xD9 0xDC | 0x0D 0x0A |
| Start Bit | Length | Protocol No. | Serial No. | Error Check | Start Bit |
|
|
|
|
|
|
|
|
|
|
|
5.2.1. Terminal Sending Location Data Packet to Server Format | Length(Byte) | Example | Information Content | Start Bit | 2 | 0x78 0x78 | Packet Length | 1 | 0x1F | Protocol Number | 1 | 0x12 | GPS Information | Date Time | 6 | 0x0B 0x08 0x1D 0x11 0x2E 0x10 | Quantity of GPS information satellites | 1 | 0xCF | Latitude | 4 | 0x02 0x7A 0xC7 0xEB | Longitude | 4 | 0x0C 0x46 0x58 0x49 | Speed | 1 | 0x00 | Course, Status | 2 | 0x14 0x8F | LBS Information | MCC | 2 | 0x01 0xCC | MNC | 1 | 0x00 | LAC | 2 | 0x28 0x7D | Cell ID | 3 | 0x00 0x1F 0xB8 | Serial Number | 2 | 0x00 0x03 | Error Check | 2 | 0x80 0x81 | Stop Bit | 2 | 0x0D 0x0A |
5.2.1.1. Start Bit For details see Data Packet Format section 4.1. 5.2.1.2. Packet Length For details see Data Packet Format section 4.2. 5.2.1.3. Protocol Number For details see Data Packet Format section 4.3. 5.2.1.4. Date Time Format | Length(Byte) | Example | Year | 1 | 0x0A | Month | 1 | 0x03 | Day | 1 | 0x17 | Hour | 1 | 0x0F | Minute | 1 | 0x32 | Second | 1 | 0x17 |
Example: 2010-03-23 15:30:23 Calculated as follows: 10(Decimal)=0A(Hexadecimal) 3 (Decimal)=03(Hexadecimal) 23(Decimal)=17(Hexadecimal) 50(Decimal)=32(Hexadecimal) 23(Decimal)=17(Hexadecimal) Then the value is: 0x0A 0x03 0x17 0x0F 0x32 0x17 5.2.1.5. Length of GPS information, quantity of positioning satellites The field is 1 Byte displayed by two hex digits, wherein the first one is for the length of GPS information and the second one for the number of the satellites join in positioning. Example: if the value is 0xCB, it means the length of GPS information is 12 and the number of the positioning satellites is 11. (C = 12Bit Lenght ,B = 11 satellites) 5.2.1.6. Latitude Four bytes are consumed, defining the latitude value of location data. The range of the value is 0-162000000, indicating a range of 0°-90°. The conversion method thereof is as follow: converting the value of latitude and longitude output by GPS module into a decimal based on minute; multiplying the converted decimal by 30000; and converting the multiplied result into hexadecimal. Example: 22º32.7658’=(22X60+32.7658)X3000=40582974, then converted into a hexadecimal number 40582974(Decimal)= 26B3F3E(Hexadecimal) at last the value is 0x02 0x6B 0x3F 0x3E. 5.2.1.7. Longitude Four bytes are consumed, defining the longitude value of location data. The range of the value is 0-324000000, indicating a range of 0°-180°. The conversion method herein is same to the method mentioned in Latitude (see section 5.2.1.6). 5.2.1.8. Speed One byte is consumed, defining the running Speed of GPS. The value ranges from 0x00 to 0xFF indicating a range from 0 to 225km/h. e.g. 0x00 represents 0 km/h. 0x10 represents 16km/h. 0xFF represents 255 km/h. 5.2.1.9. Course Status Two bytes are consumed, defining the running direction of GPS. The value ranges from 0° to 360° measured clockwise from north of 0°. BYTE_1 | Bit7 | 0 | Bit6 | 0 | Bit5 | GPS real-time/differential positioning | Bit4 | GPS having been positioning or not | Bit3 | East Longitude, West Longitude | Bit2 | South Latitude, North Latitude | Bit1 | Course | Bit0 | BYTE_2 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
Note: The status information in the data packet is the status corresponding to the time bit recorded in the data packet. For example: the value is 0x15 0x4C, the corresponding binary is 00010101 01001100, BYTE_1 Bit7 0 BYTE_1 Bit6 0 BYTE_1 Bit5 0 (real time GPS) BYTE_1 Bit4 1 (GPS has been positioned) BYTE_1 Bit3 0 (East Longitude) BYTE_1 Bit2 1 (North Latitude) BYTE_1 Bit1 0 BYTE_1 Bit0 1 BYTE_2 Bit7 0 BYTE_2 Bit7 1 BYTE_2 Bit7 0 Course 332° (0101001100 in Binary, or 332 in decimal) BYTE_2 Bit7 0 BYTE_2 Bit7 1 BYTE_2 Bit7 1 BYTE_2 Bit7 0 BYTE_2 Bit7 0 which means GPS tracking is on, real time GPS, location at north latitude, east longitude and the course is 332°. 5.2.1.10. MCC The country code to which a mobile user belongs, i.e., Mobile Country Code(MCC). Example: Chinese MCC is 460 in decimal, or 0x01 0xCC in Hex (that is, a decimal value of 460 converting into a hexadecimal value, and 0 is added at the left side because the converted hexadecimal value is less than four digits). Herein the range is 0x0000 ~ 0x03E7. 5.2.1.11. MNC Mobile Network Code(MNC) Example: Chinese MNC is 0x00. 5.2.1.12. LAC Location Area Code (LAC) included in LAI consists of two bytes and is encoded in hexadecimal. The available range is 0x0001-0xFFFE, and the code group 0x0000 and 0xFFFF cannot be used. (see GSM specification 03.03, 04.08 and 11.11). 5.2.1.13. Cell ID Cell Tower ID (Cell ID), which value ranges from 0x000000 to 0xFFFFFF. 5.2.1.14. Information Serial Number For details see Data Packet Format section 4.5. 5.2.1.15. Error Check For details see Data Packet Format section 4.6. 5.2.1.16. Stop Bit For details see Data Packet Format section 4.7. 5.2.2. Examples of Packet Sent from Terminal to Server Example of sending by the terminal 78 78 1F 12 0B 08 1D 11 2E 10 CC 02 7A C7 EB 0C 46 58 49 00 14 8F 01 CC 00 28 7D 00 1F B8 00 03 80 81 0D 0A Explain | 0x78 0x78 | 0x1F | 0x12 | 0x0B 0x08 0x1D 0x11 0x2E 0x10 | 0xCC | 0x02 0x7A 0xC7 0xEB | Start Bit | Packet Length | Protocol No. | Date Time | Quantity of GPS information satellites | Latitude | 0x0C 0x46 0x58 0x49 | 0x00 | 0x14 0x8F | 0x01 0xCC | 0x00 | 0x28 0x7D | 0x00 0x1F 0xB8 | 0x00 0x03 | Longitude | Speed | Course Status | MCC | MNC | LAC | Cell ID | Serial No. | 0x80 0x81 | 0x0D 0x0A |
| Error Check | Stop Bit |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5.3.1. Server Sending Alarm Data Packet to Server Format | Length (Byte) | Information Content | Start Bit | 2 | Packet Length | 1 | Protocol Number | 1 | Date Time | 6 | GPS Information | Quantity of GPS information satellites | 1 | Latitude | 4 | Longitude | 4 | Speed | 1 | Course, Status | 2 | LBS Information | LBS Length | 1 | MCC | 2 | MNC | 1 | LAC | 2 | Cell ID | 3 | status Information | Terminal Information Content | 1 | Voltage Level | 1 | GSM Signal Strength | 1 | Alarm/Language | 2 | Serial Number | 2 | Error Check | 2 | Stop Bit | 2 |
Alarm packet is consisted by adding status information to location packet, so does the encoding format of the protocol. 5.3.1.1. Start Bit For details see Data Packet Format section 4.1. 5.3.1.2. Packet Length For details see Data Packet Format section 4.2. 5.3.1.3. Protocol Number For details see Data Packet Format section 4.3. 5.3.1.4. Date Time For details see Location Data Packet Format section 5.2.1.4. 5.3.1.5. Length of GPS information, quantity of positioning satellites For details see Location Data Packet Format section 5.2.1.5. 5.3.1.6. Latitude For details see Location Data Packet Format section 5.2.1.6. 5.3.1.7. Longitude For details see Location Data Packet Format section 5.2.1.7. 5.3.1.8. Speed 5.3.1.9. Status and Course For details see Location Data Packet Format section 5.2.1.9. 5.3.1.10. MCC For details see Location Data Packet Format section 5.2.1.10. 5.3.1.11. MNC For details see Location Data Packet Format section 5.2.1.11. 5.3.1.12. LAC For details see Location Data Packet Format section 5.2.1.12. 5.3.1.13. Cell ID For details see Location Data Packet Format section 5.2.1.13. 5.3.1.14. Terminal Information One byte is consumed, defining various status information of the mobile phone. Bit | Code Meaning | BYTE | Bit7 | 1: oil and electricity disconnected | 0: gas oil and electricity connected | Bit6 | 1: GPS tracking is on | 0: GPS tracking is off | Bit3~ Bit5 | 100: SOS | 011: Low Battery Alarm | 010: Power Cut Alarm | 001: Shock Alarm | 000: Normal | Bit2 | 1: Charge On | 0: Charge Off | Bit1 | 1: ACC high | 0: ACC Low | Bit0 | 1: Activated | 0: Deactivated |
Example: 0x44, corresponding binary value is 01000100, indicates that the status of the terminal is: oil and electricity connected, GPS tracking is on, normal without any alarm, charge on, ACC is low, and deactivated. 5.3.1.15. Voltage Level The arrange is 0~6 defining the voltage is from low to high. 0: No Power (shutdown) 1: Extremely Low Battery (not enough for calling or sending text messages, etc.) 2: Very Low Battery (Low Battery Alarm) 3: Low Battery (can be used normally) 4: Medium 5: High 6: Very High Example: 0x02 indicates very low battery and a Low Battery Alarm is sending. 5.3.1.16. GSM Signal Strength Levels 0x00: no signal; 0x01: extremely weak signal; 0x02: very weak signal; 0x03: good signal; 0x04: strong signal. Example: 0x03 indicates the GSM signal is good. 5.3.1.17. Alarm/Language 0x00 (former bit) 0x01 (latter bit) former bit: terminal alarm status (suitable for alarm packet and electronic fence project) latter bit: the current language used in the terminal former bit | 0x00: normal | 0x01: SOS | 0x02: Power Cut Alarm | 0x03: Shock Alarm | 0x04: Fence In Alarm | 0x05: Fence Out Alarm | latter bit | 0x01: Chinese | 0x02: English |
Examples: No Alarm and Language is Chinese: 0x00 0x01 No Alarm and Language is English: 0x00 0x02 To increase the reliability of alarm information, labeling the alarm information repeatedly; in most cases, the alarm information keeps consistent with information of former terminal, while the inconsistencies are as follows: A. Low Battery Alarm occurred in the information of the terminal B. Fence in and out Alarm in the Alarm/Language information 5.3.1.18. Information Serial Number For details see Data Packet Format section 4.5. 5.3.1.19. Error Check For details see Data Packet Format section 4.6. 5.3.1.20. Stop Bit For details see Data Packet Format section 4.7. 5.3.2. Examples Examples of terminal transmission 78 78 25 16 0B 0B 0F 0E 24 1D CF 02 7A C8 87 0C 46 57 E6 00 14 02 09 01 CC 00 28 7D 00 1F 72 65 06 04 01 01 00 36 56 A4 0D 0A Explain | 0x78 0x78 | 0x25 | 0x16 | 0x0B 0x0B 0x0F 0x0E 0x24 x01D | 0xCF | 0x02 0x7A 0xC8 0x87 | Start Bit | Length | Protocol No. | Date Time | Quantity of GPS information satellites | Latitude | 0x0C 0x46 0x57 0xE6 | 0x00 | 0x14 0x02 | 0x09 | 0x01 0xCC | 0x00 | 0x28 0x7D | 0x00 0x1F 0x72 | Longitude | Speed | Course Status | LBS Length | MCC | MNC | LAC | Cell ID | 0x65 | 0x06 | 0x04 | 0x01 0x01 | 0x00 0x36 | 0x56 0xA4 | 0x0D 0x0A | Terminal Information Content | Voltage Level | GSM Signal Strength | Alarm/Language | Serial No. | Error Check | Stop Bit |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Note: The status information in the data packet is the status corresponding to the time bit recorded in the data packet.
|