Telemetry Packet: Difference between revisions
No edit summary |
No edit summary |
||
| Line 201: | Line 201: | ||
button { | button { | ||
padding: 10px 20px; | padding: 10px 20px; | ||
font-weight: bold; | font-weight: bold; | ||
background-color: #680022; | background-color: #680022; | ||
Revision as of 07:36, 16 July 2025
| Field | Size (bits) | Bit Range | Description | Breakdown |
|---|---|---|---|---|
| Header (10 bytes) | ||||
| Start byte | 8 | 0–7 | Starting character $ (ASCII value 36) | $ |
| Data length | 12 | 08–19 | 2-byte length of the data following the header | |
| Num of data packets | 5 | 20–24 | Number of packets (0–32) | 0–32 |
| IMEI | 50 | 25–74 | Unique device identifier | e.g., 887744556677882 |
| packet type | 5 | 75–79 | Integer type:
| |
| Data (= 55 bytes × number of packets) | ||||
| Packet Status | 1 | — | Type of packet | |
| Frame Number | 16 | — | Frame number | |
| AlertID | 8 | — | Alert identifier | |
| Operator | 4 | — | Network operator | 00-Airtel, 01-BSNL, 02-VI, 04-JIO |
| Signal Strength | 5 | — | Signal strength | Integer (0–31) |
| MCC | 10 | — | Mobile country code | Integer |
| MNC | 6 | — | Mobile network code | Integer |
| Cell Id | 16 | — | Cell tower ID | Integer |
| Location Area Code | 16 | — | Location area code | Integer |
| Fix_status | 1 | — | GPS fix status | 0: No fix, 1: Valid Fix |
| Start byte | 1 | — | Latitude coordinate | Divide by 1,000,000 for float value |
| NS_Indication | 1 | — | N or S | 0: N, 1: S |
| Longitude | 29 | — | Longitude coordinate | Divide by 1,000,000 for float value |
| EW_Indication | 1 | — | East/West Indication | 0: E, 1: W |
| HDOP | 10 | — | Horizontal dilution | Divide by 10 for float value |
| PDOP | 10 | — | Position dilution | Divide by 10 for float value |
| Speed | 10 | — | Speed in km/h | Divide by 10 for float value |
| Altitude | 15 | — | Altitude in meters | Divide by 10 for float value |
| Power Status | 1 | — | Power connection status | 0: Power disconnected, 1: Power connected |
| Ignition Status | 1 | — | Ignition status | 0: OFF, 1: ON |
| Immobilizer Status | 1 | — | Immobilizer status | 0: OFF, 1: ON |
| Tamper | 1 | — | Wire Tamper detection | 0: Tamper clear, 1: Tamper alert ON |
| Supply Voltage | 6 | — | External battery voltage | Divide by 10 for float value |
| Internal Battery Voltage | 6 | — | Internal battery voltage | Divide by 10 for float value |
| Fuel SensorValue 1 | 16 | — | Fuel sensor value | Divide by 10 if float |
| Fuel Percentage 1 | 16 | — | Fuel level percentage | Divide by 10 for float value |
| Fuel SensorValue 2 | 16 | — | Fuel sensor value | Divide by 10 if float |
| Fuel Percentage 2 | 16 | — | Fuel level percentage | Divide by 10 for float value |
| Fuel SensorValue 3 | 16 | — | Fuel sensor value | Divide by 10 if float |
| Fuel Percentage 3 | 16 | — | Fuel level percentage | Divide by 10 for float value |
| Analog Input | 10 | — | Analog input | Divide by 10 for float value |
| Analog Input 1 | 10 | — | Analog input 1 | Divide by 10 for float value |
| Digital Input 1 | 1 | — | Digital input 1 | 0 or 1 |
| Digital Input 2 | 1 | — | Digital input 2 | 0 or 1 |
| Digital Output 1 | 1 | — | Digital output 1 | 0 or 1 |
| Digital Output 2 | 1 | — | Digital output 2 | 0 or 1 |
| Temperature sensor status 1 | 1 | — | Status of temperature sensor 1 | 1 if connected, 0 if not connected |
| Temperature 1 | 12 | — | Temperature in °C | Signed, divide by 10 |
| Temperature sensor status 2 | 1 | — | Status of temperature sensor 2 | 1 if connected, 0 if not connected |
| Temperature 2 | 12 | — | Temperature in °C | Signed, divide by 10 |
| Temperature sensor status 3 | 1 | — | Status of temperature sensor 3 | 1 if connected, 0 if not connected |
| Temperature 3 | 12 | — | Temperature in °C | Signed, divide by 10 |
| Humidity | 8 | — | Humidity percentage | |
| Odometer | 35 | — | Odometer value in meters | |
| DateTime UTC | 32 | — | Timestamp | UTC time in seconds |
| TimeZone | 8 | — |
Timezone in quarter-hours (e.g., 22 = +5:30). Each unit = 15 mins. Value 22 = 22 × 15 mins = 330 mins = +5:30 Range: -48 to 56, 2's complement || | |
| Tail | ||||
| End Character | 8 | 0–7 | Starting character * (ASCII value 42) | * |
| CRC | 8 | 8–15 | 8-bit XOR CRC of data starting from $ to * (excluding $ and *) | |
Sample Packet
HEX "240370e2400e60e3ad81801b0cfaca0be02541c2000000000000000000000000000000009800000000000000000000000000000000000000000000006875e9e5162a05"
{
"imei": 864218069278060,
"packet_type": 1,
"no_packets": 1,
"packet_status": 1,
"frame_number": 54,
"alert_id": 3,
"operator": 3,
"signal_strength": 29,
"mcc": 404, "mnc": 95,
"cell_id": 298,
"lac": 3600,
"fix_status": 0,
"latitude": 0.0,
"latitude_dir": 0,
"longitude": 0.0,
"longitude_dir": 0,
"hdop": 0.0,
"pdop": 0.0,
"speed": 0.0,
"altitude": 0.0,
"power": 0,
"ignition": 0,
"immobilizer": 0,
"tamper": 0,
"supply_volatge": 0.0,
"internal_battery_volatge": 3.8,
"fuel_sensor_status_1": 0,
"fuel_percentage_1": 0.0,
"fuel_value_sensor_1": 0,
"fuel_sensor_status_2": 0,
"fuel_percentage_2": 0.0,
"fuel_value_sensor_2": 0,
"fuel_sensor_status_3": 0,
"fuel_percentage_3": 0.0,
"fuel_value_sensor_3": 0,
"analog_input1": 0.0,
"analog_input2": 0.0,
"digital_input1": 0,
"digital_input2": 0,
"digital_output1": 0,
"digital_output2": 0,
"temp_sensor_status_1": 0,
"temperature_1": 0.0,
"temp_sensor_status_2": 0,
"temperature_2": 0.0,
"temp_sensor_status_3": 0,
"temperature_3": 0.0,
"humidity": 0,
"odometer": 0,
"dateTime": 1752558053,
"timezone": 22,
"dateTime_tz": "2025-07-15 11:10:53",
"error_code": 0
}
Telemetry Packet Parser
Parsed Output:
| Field | Value |
|---|