OneBlock Ver 1 - 0 PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Protocolo de comunicação

Rastreador

Modelo ONEBLOCK

Revision 1.0 - Jun/21


Protocolo OneBlock

i. 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
2
Number
Error Check 2
Stop Bit 2

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
Location Data X3Tech (*) 0x22
GPS, query address information by
0x1A
phone number
Command information sent by the
0x80
server to the terminal
(*) New frame see 5.5.1

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.
The check codes of data in the structure of the protocol, from the Packet Length to the

2
Protocolo OneBlock

Information Serial Number (including “Packet Length” and “Information Serial Number”) , are
values of CRC-ITU.
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.

ii. Details about Data Packet sent by Server to Terminal


The commonly used information packages sent by the terminal and those sent by the server will be
interpreted separately.
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

Start Bit 2 0x78 0x78


Packet
1 0x0D
Length

Protocol
1 0x01
Login Message Number

Packet(18 Terminal ID 8 0x01 0x23 0x45 0x67 0x89 0x01 0x23 0x45
Byte) Information

Serial 2 0x00 0x01


Number

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.

3
Protocolo OneBlock

5.1.2. Server Responds the Data Packet

Description Bits Example

Login Start Bit 2 0x78 0x78


Message Packet Length 1 0x05
Packet (18 Protocol 1 0x01

Byte) Number

Information

Serial 2 0x00 0x01


Number

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
For details see Data Packet Format section 4.6.
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
0x01 0x23 0x45 0x67 0x89 0x01 0x23 0x45 0x8C
0x78 0x78 0x0D 0x01 0x00 0x01 0x0D 0x0A
0xDD
Protocol Error
Start Bit Length Terminal ID Serial No. Stop Bit
No. Check
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
Protocol
Start Bit Length Serial No. Error Check Start Bit
No.

9
Protocolo OneBlock

5.2. New frame Protocol implementation


It contains information such as, Terminal ID number, GPS date-time and Message date-time,
odometer (mileage), horimeter (future), voltage value for power supply and internal battery.
To maintain the desired configuration, send the command as needed.:
New Location Data Frame 0x22

Format Length (Byte)


Start Bit 2 5.5.1.1
Packet Length 1 5.5.1.2
Protocol Number 1 5.5.1.3
Location Source Type 1 5.5.1.4
Terminal ID 8 5.5.1.5
Internal Date Time 6 5.5.1.6
Data Time GPS 6 5.5.1.7
Quantity of GPS 1 5.5.1.8
information satellites
GPS
Latitude 4 5.5.1.9
Information
Longitude 4 5.5.1.10
Speed 1 5.5.1.11
Course, Status 2 5.5.1.12
Information LBS Length 1 5.5.1.13
MCC 2 5.5.1.14
Content
LBS MNC 1 5.5.1.15
Information LAC 2 5.5.1.16
Cell ID 3 5.5.1.17
Terminal Information 1 5.5.1.18
Content
Status
Power Voltage 2 5.5.1.19
Information Battery Voltage 1 5.5.1.20
GSM Signal Strength 1 5.5.1.21
Alarm/Language 2 5.5.1.22
Milleage 3 5.5.1.23
TotalHoursSum 3 5.5.1.24
Serial Number 2 5.5.1.25
Error Check 2 5.5.1.26
Stop Bit 2 5.5.1.27

10
Protocolo OneBlock

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. Location Source Type


Defined according to the conditions:

- (0x01) Tracking is the packet generated by the TIMER parameter, with configurable
communication interval respecting the state of the ignition, or in movement (virtual ignition).

- (0x02) Static is the packet generated by the STATIC parameter, with configurable
communication interval with the ignition off and stopped.

- (0x03) ALARM is sent every time an input, ignition on/off, main power connected or
disconnected, or output is changed state, or alarm event (similar to that generated by
Command 0x16)

5.2.1.5. Terminal ID
For details see Data Packet Format section 5.1.1.4.

5.2.1.6. Internal Date Time


Date, hour, minute and seconds of the internal clock, the moment that the position was generated, even
if the GPS is not fixed.
More details see Location Data Packet Format section 5.2.1.4.

5.2.1.7. Data Time GPS


Date, time, minute and seconds from GPS, if GPS is not fixed, send the last valid position (*).
More details see Location Data Packet Format section 5.2.1.4.

5.2.1.8. Length of GPS information, quantity of positioning satellites


For details see Location Data Packet Format section 5.2.1.5.

5.2.1.9. Latitude
For details see Location Data Packet Format section 5.2.1.6.

5.2.1.10. Longitude
For details see Location Data Packet Format section 5.2.1.7.

5.2.1.11. Speed
For details see Location Data Packet Format section Location type

5.2.1.12. Status and Course


For details see Location Data Packet Format section 5.2.1.9.

11
Protocolo OneBlock

5.2.1.13. LBS Length


Please need to define (there is no reference in original doc).

5.2.1.14. MNC
For details see Location Data Packet Format section 5.2.1.11.

5.2.1.15. MNC
For details see Location Data Packet Format section 5.2.1.11.

5.2.1.16. LAC
For details see Location Data Packet Format section 5.2.1.12.

5.2.1.17. Cell ID
For details see Location Data Packet Format section 5.2.1.13.

5.2.1.18. Terminal Information


For details see Location Data Packet Format section 5.3.1.14.

Bit Code Meaning


1: oil and electricity disconnected
Bit7
0: gas oil and electricity connected
1: GPS tracking is on
Bit6
0: GPS tracking is off
Bit5 100: Panic SOS / Door State
011: Low Battery Alarm
010: Power Cut Alarm
Bit4&Bit3
BYTE 001: Shock Alarm
000: Normal
1: Charge On
Bit2
0: Charge Off
1: ACC high
Bit1
0: ACC Low
1: Activated
Bit0
0: Deactivated

5.2.1.19. Power Voltage


Main supply voltage, value with two houses multiplied by 100
Exemple
Voltage 11,85Vdc 35,40Vdc
Response Hexadecimal 4A1 Hex DD4 Hex
Decimal 1185 Dec 3540 Dec

5.2.1.20. Battery Voltage


Battery voltage, value with one house multiplied by 10

12
Protocolo OneBlock

Exemple:
Voltage 4,1Vdc 3,5Vdc
Response Hexadecimal 191 Hex 162 Hex
Decimal 41 Dec 354 Dec

5.2.1.21. GSM Signal Strength


For details see Location Data Packet Format section 5.3.1.16.

5.2.1.22. Alarm/Language
For details see Location Data Packet Format section 5.3.1.17.

5.2.1.23. Milleage
Sum of kilometers (Milleage), with ignition ACC=ON. With movement but with ACC=OFF is not
added.

5.2.1.24. TotalHoursSum
Sum of time ACC=ON in minutes, with ignition ACC=ON. When the vehicle is moving but with
ACC=OFF the time is not added.

5.2.1.25. Information Serial Number


For details see Data Packet Format section 4.5.

5.2.1.26. Error Check


For details see Data Packet Format section 4.6.

5.2.1.27. Stop Bit


For details see Data Packet Format section 4.7.

13
Protocolo OneBlock

Appendix A - Code fragment of the CRC-ITU:

Code fragment of the CRC-ITU lookup table algorithm implemented based on C language is as
follow:
static const U16 crctab16[] =
{
0X0000, 0X1189, 0X2312, 0X329B, 0X4624, 0X57AD, 0X6536, 0X74BF,
0X8C48, 0X9DC1, 0XAF5A, 0XBED3, 0XCA6C, 0XDBE5, 0XE97E, 0XF8F7,
0X1081, 0X0108, 0X3393, 0X221A, 0X56A5, 0X472C, 0X75B7, 0X643E,
0X9CC9, 0X8D40, 0XBFDB, 0XAE52, 0XDAED, 0XCB64, 0XF9FF, 0XE876,
0X2102, 0X308B, 0X0210, 0X1399, 0X6726, 0X76AF, 0X4434, 0X55BD,
0XAD4A, 0XBCC3, 0X8E58, 0X9FD1, 0XEB6E, 0XFAE7, 0XC87C, 0XD9F5,
0X3183, 0X200A, 0X1291, 0X0318, 0X77A7, 0X662E, 0X54B5, 0X453C,
0XBDCB, 0XAC42, 0X9ED9, 0X8F50, 0XFBEF, 0XEA66, 0XD8FD, 0XC974,
0X4204, 0X538D, 0X6116, 0X709F, 0X0420, 0X15A9, 0X2732, 0X36BB,
0XCE4C, 0XDFC5, 0XED5E, 0XFCD7, 0X8868, 0X99E1, 0XAB7A, 0XBAF3,
0X5285, 0X430C, 0X7197, 0X601E, 0X14A1, 0X0528, 0X37B3, 0X263A,
0XDECD, 0XCF44, 0XFDDF, 0XEC56, 0X98E9, 0X8960, 0XBBFB, 0XAA72,
0X6306, 0X728F, 0X4014, 0X519D, 0X2522, 0X34AB, 0X0630, 0X17B9,
0XEF4E, 0XFEC7, 0XCC5C, 0XDDD5, 0XA96A, 0XB8E3, 0X8A78, 0X9BF1,
0X7387, 0X620E, 0X5095, 0X411C, 0X35A3, 0X242A, 0X16B1, 0X0738,
0XFFCF, 0XEE46, 0XDCDD, 0XCD54, 0XB9EB, 0XA862, 0X9AF9, 0X8B70,
0X8408, 0X9581, 0XA71A, 0XB693, 0XC22C, 0XD3A5, 0XE13E, 0XF0B7,
0X0840, 0X19C9, 0X2B52, 0X3ADB, 0X4E64, 0X5FED, 0X6D76, 0X7CFF,
0X9489, 0X8500, 0XB79B, 0XA612, 0XD2AD, 0XC324, 0XF1BF, 0XE036,
0X18C1, 0X0948, 0X3BD3, 0X2A5A, 0X5EE5, 0X4F6C, 0X7DF7, 0X6C7E,
0XA50A, 0XB483, 0X8618, 0X9791, 0XE32E, 0XF2A7, 0XC03C, 0XD1B5,
0X2942, 0X38CB, 0X0A50, 0X1BD9, 0X6F66, 0X7EEF, 0X4C74, 0X5DFD,
0XB58B, 0XA402, 0X9699, 0X8710, 0XF3AF, 0XE226, 0XD0BD, 0XC134,
0X39C3, 0X284A, 0X1AD1, 0X0B58, 0X7FE7, 0X6E6E, 0X5CF5, 0X4D7C,
0XC60C, 0XD785, 0XE51E, 0XF497, 0X8028, 0X91A1, 0XA33A, 0XB2B3,
0X4A44, 0X5BCD, 0X6956, 0X78DF, 0X0C60, 0X1DE9, 0X2F72, 0X3EFB,
0XD68D, 0XC704, 0XF59F, 0XE416, 0X90A9, 0X8120, 0XB3BB, 0XA232,
0X5AC5, 0X4B4C, 0X79D7, 0X685E, 0X1CE1, 0X0D68, 0X3FF3, 0X2E7A,
0XE70E, 0XF687, 0XC41C, 0XD595, 0XA12A, 0XB0A3, 0X8238, 0X93B1,
0X6B46, 0X7ACF, 0X4854, 0X59DD, 0X2D62, 0X3CEB, 0X0E70, 0X1FF9,
0XF78F, 0XE606, 0XD49D, 0XC514, 0XB1AB, 0XA022, 0X92B9, 0X8330,
0X7BC7, 0X6A4E, 0X58D5, 0X495C, 0X3DE3, 0X2C6A, 0X1EF1, 0X0F78,
};

// calculate the 16-bit CRC of data with predetermined length.


U16 GetCrc16(const U8* pData, int nLength)
{
U16 fcs = 0xffff; // initialization
while(nLength>0){
fcs = (fcs >> 8) ^ crctab16[(fcs ^ *pData) & 0xff];
nLength--;
pData++;
}
return ~fcs; // negated
}

14

You might also like