zoukankan      html  css  js  c++  java
  • 英文写作

     

     

     

    GPS Vehicle Tracker Communication Protocol 

     

     

    Table of Contents

    Preface. 5

    Terminologies. 5

    Protocol Overview.. 5

    General Constrains. 5

    Rules for IP Resolving. 6

    Communication Flow.. 6

    Packet Format. 6

    Header 7

    Protocol 7

    Length. 7

    Sequence. 7

    Packet Body. 7

    Login Packet (0x01) 8

    GPS Packet (0x02) 9

    Heartbeat Packet (0x03) 11

    Alarm Packet (0x04) 12

    ACC Packet (0x05) 13

    SMS Uplink Command Packet (0x06) 14

    Downlink Command Packet (0x80) 15

    Common Downlink Message Packet (0x81) 15

    BS Packet (0x91) 16

    Extended Heartbeat Packet (0x07) 18

    Time Calibration Packet (0x08) 20

    Downlink Command List. 20

     

    Preface

    This document specifies the protocol used for the communication between vehicle trackers and our vehicle-tracking platform using GPS.

    Terminologies

    Abbreviations

    Terms

    CMPP

    China Mobile Peer to Peer

    GPS

    Global Positioning System

    GSM

    Global System for Mobile Communication

    GPRS

    General Packet Radio Service

    TCP

    Transport Control Protocol

    LBS

    Location Based Services

    IMEI

    International Mobile Equipment Identity

    MCC

    Mobile Country Code

    MNC

    Mobile Network Code

    LAC

    Location Area Code

    Cell ID

    Cell Tower ID

    RSSI

    Received Signal Strength Indicator

    UDP

    User Datagram Protocol

    SOS

    Save Our Ship/Save Our Souls

    CRC

    Cyclic Redundancy Check

    NITZ

    Network Identity and Time Zone,

    GIS

    Geographic Information System

    Protocol Overview

    General Constrains

    1.       Byte Order

    With field values that occupy more than one bytes in the protocol, they should be in network byte order, also known as Big Endian. You may visit the Wikipedia page on Big Endian for more information.

    2.       Any time value in packet body should be in UTC.

    You may visit the Wikipedia page on UTC for more information.

    3.       The size of a data packet should be less than 1024 bytes.

    Rules for IP Resolving

    Trackers should implement the mechanism to cache IP for a specified domain, and generally use this cached IP to try to connect to the server without asking DNS server to resolve the domain. If connecting to the server fails for three times using a cached IP, then this is the time when asking DNS server for the new IP of the domain is needed.

    The benefits of the IP cache strategy are as follows:

    ž  Asking DNS to resolve for a domain is time consuming, and using IP cache is faster.

    ž  To reduce the overload of DNS server and avoid domain resolving failures.

    ž  To insure connectivity to our platform in case of DNS server downtime.

    Notice that there is some consideration about the limit on the number of times trying to connect using a cached IP with failures. Consider that if the sever IP has changed, then the cached IP is outdated, and trying to establish connection with the cached IP will fail. Plus, it takes about 20 to 60 seconds each time to try to establish connection. Therefore, if the times limit is too big, then the total amount of time wasted to establish connection with an outdated IP with failures should be tremendous. Given this consideration, and for the overall outcome of connectivity, we recommend that you set the times limit to be 3, that is, if a tracker tries to connect with a cached IP fails for 3 times, then it should request DNS server to resolve the domain for the correct IP.

    Communication Flow

    The communication flow between trackers and our vehicle-tracking platform is as follows:

    ž  Start a tracker and connect to our vehicle-tracking platform, then send a login packet to login the platform. Trackers should send a login packet as the first one packet after connection.

    ž  After login, the tracker may send GPS data to our server regularly if it has new data to transmit.

    ž  To ensure connectivity, the tracker should send Heartbeat packets to our server at regular time, and the server will send response packets back to the tracker to confirm connectivity.

    ž  If the Protocol Number and Message Sequence Number of a packet sent from a tracker are the same as that of a responded packet from our server respectively, then the two packets are matched.

    Packet Format

    Fields

    Header

    Protocol

    Length

    Sequence

    Body

    Bytes

    2

    1

    2

    2

    N

    The total size of a packet is 7+N bytes.

    This format applies to both uplink and downlink packets.

    Header

    Header field occupies 2 bytes, and its value fixes to 0x67 0x67.

    Protocol

    Protocol field occupies 1 byte and defines the type of a packet. The table below lists all the protocols with descriptions.

    Protocols

    Descriptions

    Response Required

    0x01

    Login Packet

    Yes

    0x02

    GPS Packet

    No

    0x03

    Heartbeat Packet

    Yes

    0x04

    Alarm Packet

    Yes

    0x05

    ACC Packet

    Yes

    0x06

    SMS Uplink Command Packet

    Yes

    0x80

    Downlink Command Packet

    Yes

    0x81

    Common Downlink Message Packet

    No

    0x91

    BS Packet

    No

    0x07

    Extended Heartbeat Packet

    Yes

    0x08

    Time Calibration Packet

    Yes

    Length

    Length field occupies 2 bytes. The value of Length field is calculated by adding the size of Sequence field and the size of Body field.

    Sequence

    Sequence field occupies 2 bytes.

    After a tracker has been booted, the Sequence value of the first packet sent from the tracker is marked with ‘1’. For subsequent packets, Sequence value should be increased by 1 for each packet. When the value reaches 65535, it should be reset to 1 again.

    Packet Body

    In the following paragraphs, we will describe each type of packet by their Body fileds in detail.

    Login Packet (0x01)

    Format

    Body

    Tracker ID

    Language

    Bytes

    8

    1

    Before transmitting other packets, a tracker should send a Login packet to our vehicle platform for the authentication of the connection.

    1.       Tracker ID (8 bytes)

    The value of Tracker ID field is an IMEI (which is a number with 12 or 15 decimal digitals) specified in hexadecimal notation.

    e.g.

    IMEI: 123456789012345

    Tracker ID: 0x01 0x23 0x45 0x67 0x89 0x01 0x23 0x45

    2.       Language (1 byte)

    Code

    Language

    0x00

    简体中文

    0x01

    English

        

    This field specifies the language of information transmitting between a tracker and the server.

    In cases where trackers need the server to response with literal information, then the Language field specifies the language of the information that the server should response.

    e.g.

    In case of SOS alarm, when the Language filed is specified as Chinese, then the message returned by the server may be:

    SOS报警:广东省.深圳市.宝安区留仙一路.G4.离高新奇科技股份有限公司约86米.离高新奇工业区约88米

    And when you specify the language to be English, then the message returned by the server may be:

    SOS! http://maps.google.com/?q=22.577308,113.916685<DateTime:2013-01-22 19:40:00>

     

    3.       Packet Example

    The packet a tracker send to the server may be as follows:

    0x67 0x67

    0x01

    0x00 0x0B

    0x00 0x01

    0x010x23 0x45 0x67 0x89 0x01 0x23 0x45

    0x00

    Header

    Protocol

    Length

    Sequence

    Tracker ID

    Language

    The decimal result of the value of the Tracker ID field above is 123456789012345.

    The packet the server response to the tracker will be as follows:

    0x67 0x67

    0x01

    0x00 0x02

    0x00 0x01

    Header

    Protocol

    Length

    Sequence

    Notice that the value of the Protocol field of the response packet is the same as that of the first packet sent from the tracker.

    GPS Packet (0x02)

    Format

    Body

    Time

    Latitude

    Longitude

    Speed

    Course

    BS

    Status

    Bytes

    4

    4

    4

    1

    2

    9

    1

    1.       Time

    Time field occupies 4 bytes. The value is in UTC format and round to seconds.

    2.       Latitude

    Latitude field occupies 4 bytes, and represents the latitude of the position of a tracker. Its value ranges from -162000000 to 162000000 in decimal notation; in sexagesimal notation, that is from -90 degrees (southward latitudes) to 90 degrees (northward latitudes). For transmission, the value of Latitude field should be specified in hexadecimal notation, and its unit is 1/500 seconds. The representation in sexagesimal notation using degrees and minutes can be converted to the representation using the unit 1/500 seconds as follows:

    Firstly, convert the output latitude (expressed in degrees and minutes) of GPS module to a decimal fraction in unit minutes.

    Secondly, multiply the result of the first step and 30000, and then convert the new result to its hexadecimal notation.

    e.g.

    North latitude 22°32.7658′should be converted to (22×60 + 32.7658)*30000=40582974, then to hexadecimal notation as x02 0x6B 0x3F 0x3E.

    South latitude -22°32.7658′should be converted to (-22×60 + ( -32.7658))*30000=-40582974, and then to hexadecimal notation as 0xFD 0x94 0xC0 0xC2.

    3.       Longitude

    Longitude field occupies 4 bytes, and represents the longitude of the position of a tracker. Its value ranges from -324000000 to 324000000 in decimal notation; in sexagesimal notation, that is from -180 degrees (westward longitudes) to 180 degrees (eastward longitudes). For transmission, the value of Longitude field should be specified in hexadecimal notation, and its unit is 1/500 seconds. The representation in sexagesimal notation using degrees and minutes can be converted to the representation using the unit 1/500 seconds. The way of conversion is the same as that of the Latitude field described above.

    4.       Speed

    Speed field occupies 1 byte, and represent the velocity of a tracker measured using GPS. The value range of Speed field is 0x00~0xFF, corresponding to 0~255 miles/hour.

    5.       Course

    Course field occupies 2 bytes, and represent the heading of a tracker measured using GPS. The value of Course field ranges from 0 to 360, and its unit is degree. The value is 0 for true north, and increases clockwise.

    6.       BS

    Format

    MCC

    MNC

    LAC

    CI

    Bytes

    2

    2

    2

    3

    The abbreviation BS stands for Base Station, and occupies 9 bytes.

    e.g. (One of the base stations in China)

    0x01 0xCC

    0x00 0x01

    0x27 0x49

    0x00 0x0C 0xEE

    MCC

    MNC

    LAC

    CI

    7.       Status

    High

     

     

     

     

     

     

    Low

    7

    6

    5

    4

    3

    2

    1

    0

    Status field occupies 1 byte, and represents the positioning state of a tracker. Notice that 1 byte consists of 8 bits, and we number the lowest bit as position 0, and the highest bit as position 7. At the time of transmission, higher position bits should be sent prior to lower position bits. The specification of each bit is as follows:

    Position 0

    0: GPS not positioned

    1: GPS positioned

    Position 1

    Reserve

    Position 2

    Reserve

    Position 3

    Reserve

    Position 4

    Reserve

    Position 5

    Reserve

    Position 6

    Reserve

    Position 7

    Reserve

    8.       Server Response

    The server does not need to response to GPS packets sent from trackers.

    9.       Note

    Trackers generally do not need to send old data to the server if there is no new GPS positioning results, but except for some otherwise purposes, in circumstances such as alarming, etc.

    Heartbeat Packet (0x03)

    Format

    Body

    Status

    Bytes            

    2

    A tracker should send Heartbeat packets at a fixed-frequency to confirm connectivity between the tracker and the server.

    1.       Status

    High

     

     

     

     

     

     

    Low

    15

    14

    1

    0

    Status field occupies 2 bytes, and represents the positioning state of a tracker. Notice that 1 byte consists of 8 bits, and we number the lowest bit as position 0, and the highest bit as position 7. As for the second byte, you should continue numbering the lowest bit of this byte as position 8, and so on. At the time of transmission, higher position bits should be sent prior to lower position bits. The specification of each bit is as follows:

    Position 0

    0: GPS not positioned

    1: GPS positioned

    Position 1,2

    10: ACC off

    11: ACC on

    00: State undefined

    Position 3,4

    10: Defense unset

    11: Defense set up

    00: State undefined

    Position 5,6

    10: Oil and electricity off

    11: Oil and electricity on

    00: State undefined

    Position 7,8

    10: Battery charger unplugged

    11: Battery charger plugged

    00: State undefined

    Position 9

    Reserve

    Position 14

    Reserve

    Position 15

    Reserve

    e.g.

    With 0x00BB, that is 1011 1011 in binary notation, the status of the tracker should be “GPS positioned, ACC off, Defense set up, Oil and electricity off and Battery charger unplugged”.

    2.       Packet Example

    The Heartbeat packet sent from a tracker to the server:

    0x67 0x67

    0x03

    0x00 0x04

    0x00 0x1A

    0x00 0x01

    Header

    Protocol

    Length

    Sequence

    Status

    The response packet by the server:

    0x67 0x67

    0x03

    0x00 0x02

    0x00 0x1A

    Header

    Protocol

    Length

    Sequence

    Notice that the value of the Protocol field of the response packet is the same as that of the Heartbeat packet sent from the tracker.

    Alarm Packet (0x04)

    Format

    Body

    Time

    Latitude

    Longitude

    Speed

    Course

    BS

    Status

    Alarm Type

    Bytes

    4

    4

    4

    1

    2

    9

    1

    1

    When something triggers some kind of alarm, a tracker sends Alarm packets to the server.

    For the specification of Time, Latitude, Longitude, Speed, BS and Status, please refer to GPS Packet section for more information.

    1.   Alarm Type

    Value

    Alarm Type

    0x01

    Power off

    0x02

    SOS

    0x03

    Low battery

    0x04

    Vibration

    0x05

    Displacement

    0x06

    Into dead zone

    0x07

    Out of dead zone

    0x08

    GPS antenna open circuit 

    0x09

    GPS antenna short circuit

    0x0a

    Light sensation

    0x0b

    Magnetic sensation

    0x0c

    Anti-dismantle

    0x0d

    Over speed

    0x0e

    Signal shielding

    2.   Server Response

    Format

    Body

    Alarm SMS

    Bytes

    N

       

    When the server receives an Alarm packet from a tracker, it will then send a response packet with an alarm text back to the tracker; And after receiving the response packet, the tracker may then send a SMS with the alarm text to a phone using the center phone number or SOS number specified in the tracker. Notice that, in some cases the alarm text from the server might be an empty string, where a tracker should have a check and not send the text to the user.

    Alarm texts from the server are in UTF-8 Encoding.

    e.g.

    The alarm text may be “SOS! http://maps.google.com/?q=22.577308,113.916685<DateTime:2013-01-22 19:40:00>”.

    ACC Packet (0x05)

    Format

    Body

    Time

    Latitude

    Longitude

    Speed

    Course

    BS

    Status

    ACC Type

    ACC Time

    Bytes

    4

    4

    4

    1

    2

    9

    1

    1

    N

    ACC Packet is an extension for GPS Packet, used for collecting the ACC state of a tracker. Whenever ACC state has changed, a tracker should send this packet to the server.

    For the specification of Time, Latitude, Longitude, Speed, BS and Status, please refer to GPS Packet section for more information.

    1.       ACC Type

    ACC Type

    ACC Time

    Description

    0x01

    From Tracker(4 bytes,UTC, round to seconds)

    ACC on

    0x02

    From Tracker(4 bytes,UTC, round to seconds)

    ACC off

    2.       Server Response

    Format

    Body

    (Empty)

    Bytes

    0

    3.   Note

    Tracker side should take the responsibility to synchronize its local time with that from GPS.

    SMS Uplink Command Packet (0x06)

    Format

    Body

    Time

    Latitude

    Longitude

    Speed

    Course

    BS

    Status

    Phone

    SMS Command

    Bytes

    4

    4

    4

    1

    2

    9

    1

    21

    N

    User may use a mobile phone to send SMS text as a command to a tracker (through the sim card installed in the tracker). After receiving a command from a phone, a tracker may execute it locally or pass it to the server to execute (see the rules below for more detail).

    For the specification of Time, Latitude, Longitude, Speed, BS and Status, please refer to GPS Packet section for more information.

    1.       Phone

    The value of Phone field is in ASCII encoding, and represents the number of a phone that sends a SMS text command to a tracker. If the length of a phone number expressed in hexadecimal notation is less than 21 bytes, then add copies of 0x00 to the right of the value to fulfill the length criteria.

    2.       SMS Command

    SMS Command text is in UTF-8 encoding, it may be processed on the tracker side or on the server.

    Rules that decide where to execute a command:

    ž  Command text that is in the command list defined in a tracker, such as “STATUS#”, will run on the tracker side.

    ž  Command text that does not include Chinese characters, and with a length bigger than 2 chars and less than 30 chars, should be passed to the server to process. Such as “position#” or “123” (User may send one of these two texts to get the location of a tracker).

    3.       Server Response

         

    Format

    Body

    Phone

    Response

    Bytes

    21

    N

        

    Response text from the server is in UTF-8 encoding. After receiving the response packet from the server, a tracker may pass the response text to the user by the phone number in that packet. If the response text is empty (0 bytes), a tracker may not need to pass anything to the phone specified.

    Downlink Command Packet (0x80)

    Format

    Body

    Flag

    Server Flag

    Content

    Bytes

    1

    4

    N

    Users may login our web site (www.cootrack.net) and use command-sending features on the site to control their trackers.

    1.       Flag

    Flag

    Description

    0x01

    Command

    0x02

    Reserve

    2.       Server Flag

    Tracker side does need to process this field, but put it right in the response packet to send back to the server.

    3.       Content

    The command text to send to a tracker, using UTF-8 encoding. See Downlink Command List section for the definition of each command.

    4.       Tracker Response

    Format

    Body

    Flag

    Server Flag

    Response

    Bytes

    1

    4

    N

    Response text from tracker side to the server is in UTF-8 encoding.

    Common Downlink Message Packet (0x81)

    Format

    Body

    Flag

    Content

    Bytes

    1

    N

    Users may login our web site (www.cootrack.net) and use corresponding features on the site to tell the server to send text to a tracker. The tracker may then display the text on a screen or pass it to a mobile phone according to the type flag in the packet.

    5.       Flag

    Flag

    Type

    Description

    0x01

    Relay

    Pass the text to a mobile phone

    ž  Relay (0x01)

    Format

    Phone

    Text

    Bytes

    21

    N

    Note: If the value of Phone field is 21 copies of 0x00, that means the tracker should pass the text to a phone by the Center Number or SOS number specified in the tracker.

    BS Packet (0x91)

    Format

    Body

    Time

    TA

    MCC

    MNC

    BS Count

    BS 1

    BS 2

    BS 3

    BS 4

    BS 5

    Status

    Bytes

    4

    1

    2

    1

    1

    6

    6

    6

    6

    6

    1

    1.       Time

    Time field occupies 4 bytes. The value is in UTC format and round to seconds. Noticed that it should be transmitted in big-endian order (also referred to as network byte order).

    2.       TA (Timing Advance)

    The TA value is normally between 0 and 63. TA values can only be captured during phone call or SMS sending phases, otherwise you may get a TA value of 255, and that is an invalid value. Multiply the TA value and 550 meters to get the distance between a tracker and a primary cell. You may refer to the Wikipedia page on Timing Advance for more information.

    3.   MCC

    A mobile country code (MCC) is used in combination with a mobile network code (MNC) (also known as a "MCC / MNC tuple") to uniquely identify a mobile network operator (carrier). The value of MCC is between 0x0000 and 0x03E7 expressed in hexadecimal notation. You may refer to the Wikipedia page on MCC and MNC for more information.

    4.       MNC

    Please refer to the Wikipedia page on MCC and MNC for more information.

    5.       BS Count

    BS Count represents the number of base stations, of which the location data is included in the packet. So for example, if the BS Count value is 3, then there should be exactly 3 BS data fields following the BS Count field. The max value of this field is 5, and if a tracker can get location data from more than 5 base stations, it should report only the data from the 5 base stations which have stronger signals. The order of base stations in the packet depends on their signal strengths; that is the station with the strongest signal comes first during transmission.

    Notice that the number of the following BS fields should be the same as the value specified in the BS Count filed. Therefore, if the BS Count value is 5, and you have got data from only 3 base stations, then you should fill the last 2 BS fields with value 0 specifically.

    6.       BS

    LAC

    CI

    RSSI

    2

    3

    1

    The BS field consists of LAC, CI and RSSI.

    ž  LAC is the abbreviation of Location Area Code. The value of LAC occupies 2 bytes and is in hexadecimal notation, ranges from 0x0001 to 0xFFFE (notice that 0x0000 and 0xFFFF are not included). A location area may contain one or more cells.

    ž  CI is the abbreviation of Cell ID, and represents the ID of a primary cell tower available. The value of CI ranges from 0x000000 to 0xFFFFFF.

    ž  RSSI is the abbreviation of Received Signal Strength Indicator, and represents the signal strength of the primary cell. The value of RSSI ranges from 0x00 to 0xFF. The sign of original value is negative, but the data sent should be an absolute value.

    7.       Status

    High

     

     

     

     

     

     

    Low

    7

    6

    5

    4

    3

    2

    1

    0

    Status field occupies 1 byte, and represents the positioning state of a tracker. Notice that 1 byte consists of 8 bits, and we number the lowest bit as position 0, and the highest bit as position 7. At the time of transmission, higher position bits should be sent prior to lower position bits. The specification of each bit is as follows:

    Position 0

    0: GPS not positioned

    1: GPS positioned

    Position 1

    0: Automatic Packet

    1: Triggered by SMS

    Position 2

    Reserve

    Position 3

    Reserve

    Position 4

    Reserve

    Position 5

    Reserve

    Position 6

    Reserve

    Position 7

    Reserve

    8.   Server Response

    The server does not need to response to BS packets.

    9.       Note

    Base station positioning is far less accurate than GPS positioning, so it is a consideration only when GPS positioning is not available.

    Because of the rough precision of 100 meters to 10,000 meters of base station positioning, when a tracker receives a SMS request for positioning, it should try to collect Timing Advance data to assist the positioning, plus, the value of position 1 of the Status field should be 1 for SMS triggered positioning.

    Moreover, because of the rough precision, trackers do not need to send base station positioning data every 10 seconds. The sending condition may be this: it is beyond 20 seconds since the last sending, and the positioning data of the three stations which have stronger signals has changed.

    Extended Heartbeat Packet (0x07)

    Format

    Body

    Status

    GSM Signal Level

    Quantity of Electricity

    Bytes

    2

    1

    1

    5.3 

    5.4 

    5.5 

    5.6 

    5.7 

    5.8 

    5.9 

    Trackers send Heartbeat packets at a fixed-frequency to confirm the connectivity between tracker side and the server.

    1.       Status

    High

     

     

     

     

     

     

    Low

    15

    14

    1

    0

    Status field occupies 2 bytes, and represents the positioning state of a tracker. Notice that 1 byte consists of 8 bits, and we number the lowest bit as position 0, and the highest bit as position 7. As for the second byte, you should continue numbering the lowest bit of this byte as position 8, and so on. At the time of transmission, higher position bits should be sent prior to lower position bits. The specification of each bit is as follows:

    Position 0

    0: GPS not positioned

    1: GPS positioned

    Position 1,2

    10: ACC off

    11: ACC on

    00: State undefined

    Position 3,4

    10: Defense unset

    11: Defense set up

    00: State undefined

    Position 5,6

    10: Oil and electricity off

    11: Oil and electricity on

    00: State undefined

    Position 7,8

    10: Battery charger unplugged

    11: Battery charger plugged

    00: State undefined

    Position 9

    Reserve

    Position 14

    Reserve

    Position 15

    Reserve

    e.g.

    With 0x00BB, that is 1011 1011 in binary notation, the status of the tracker should be “GPS positioned, ACC off, Defense set up, Oil and electricity off and Battery charger unplugged”.

    2.       GSM Signal Level

    The field GSM Signal Level occupies 1 byte. There are 5 signal levels:

    Value

    Description

    0x00

    No signal

    0x01

    Extremely week

    0x02

    A little week

    0x03

    Good

    0x04

    Strong

    3.       Quantity of Electricity

    The field Quantity of Electricity occupies 1 byte. The value of this field is a percentage number, expressed in hexadecimal notation, and ranges from 0x0000 to 0x0064.

    e.g.

    With 0x005D, that is 93 in decimal notation, so the quantity of electricity of the tracker is 93%.

    4.   Packet Example

    A packet sent from tracker side to the sever may be as follows:

    0x67 0x67

    0x03

    0x00 0x04

    0x00 0x1A

    0x00 0x01

    Header

    Protocol

    Length

    Sequence

    Status

    The packet responded from the server to the tracker may be as follows:

    0x67 0x67

    0x03

    0x00 0x02

    0x00 0x1A

    Header

    Protocol

    Length

    Sequence

    Notice that the Sequence value of the response packet is the same as that of the packet sent from the tracker.

    Time Calibration Packet (0x08)

    There is no Body field in Time Calibration packets sent from trackers.

    1.       Server Response

    5.3 

    5.4 

    5.5 

    5.6 

    5.7 

    5.8 

    5.9 

    5.10 

    5.11 

    Format

    Body

    UTC

    Bytes

    4

    The UTC value in the Body field of the response packet occupies 4 bytes, and is the time from GPS data.

    2.       Packet Example

    A Time Calibration packet sent from a tracker to the server may be as follows:

    0x67 0x67

    0x08

    0x00 0x02

    0x00 0x1A

    Header

    Protocol

    Length

    Sequence

    The response packet from the server for the Time Calibration packet may be as follows

    0x67 0x67

    0x08

    0x00 0x06

    0x00 0x1A

    0x57 0x30 0x06 0x90

    Header

    Protocol

    Length

    Sequence

    UTC Time

    Notice that the Sequence value of the response packet is the same as that of the packet sent from the tracker.

  • 相关阅读:
    修改Tarsphp节点线程数避免请求阻塞
    Docker删除所有容器
    清理mysql数据库binlog日志
    查看centos磁盘情况,查找大文件路径
    winform窗体的生命周期和事件加载顺序是什么?
    数据库自增ID用完了会怎么样?
    MPFIT for python
    Plplot中line width 问题
    剪切Postscript图片中的多余边框
    嵌入式下的深度学习 Sparkfun Edge with TensorFlow(一)Hello World
  • 原文地址:https://www.cnblogs.com/andycja/p/7623336.html
Copyright © 2011-2022 走看看