Protocolo GPS Xexun: Gu铆a de Comandos y Estructura de Datos
El protocolo de los dispositivos GPS Xexun es fundamental para entender c贸mo estos terminales se comunican con los servidores de rastreo. En esta gu铆a, exploraremos los tipos de datos, la estructura de los mensajes y los comandos m谩s utilizados.
Tipos de Datos en el Protocolo Xexun
El protocolo utiliza varios tipos de datos para representar la informaci贸n de manera eficiente:
| Tipo | Descripci贸n |
|---|---|
| U8 | Entero de un solo byte sin signo (8 bits) |
| U16 | Entero de doble byte sin signo (16 bits) |
| U32 | Entero de cuatro bytes sin signo (32 bits) |
| FLOAT | N煤mero de punto flotante de precisi贸n simple (4 bytes, 32 bits) |
| U8 [n] | N bytes de datos |
| BCD [n] | C贸digo 8421 (Binary-Coded Decimal), n bytes |
| STRING | Codificaci贸n UTF-8 |
Estructura del Mensaje
Cada mensaje en el protocolo Xexun sigue una estructura espec铆fica: Bit de bandera + Cabecera del mensaje + Cuerpo del mensaje + Bit de bandera.
Banderas (Flags)
Las banderas de inicio y fin son siempre FAAF.
- Si aparece
FAAFdentro del cuerpo, se convierte aFBBF02. - Si aparece
FBBFdentro del cuerpo, se convierte aFBBF01.
Cabecera del Mensaje (Message Header)
La cabecera contiene informaci贸n cr铆tica sobre la identidad del dispositivo y el tipo de mensaje:
| No. | Byte de Inicio | Nombre | Tipo de Datos | Descripci贸n |
|---|---|---|---|---|
| 1 | 0 | Message ID | U16 | Datos de posicionamiento/alarma: 0020. Comandos del servidor: 0021. |
| 2 | 2 | Serial Number | U16 | 0-65535 |
| 3 | 4 | IMEI+0 | BCD[8] | Identificador del dispositivo |
| 4 | 12 | Text length | U16 | Longitud del texto |
| 5 | 14 | ECC check | U16 | Verificaci贸n de errores del mensaje completo |
Tipos de Datos del Cuerpo (Data Type ID)
El cuerpo del mensaje var铆a seg煤n el tipo de informaci贸n enviada:
- 00 (GPS): Datos de posicionamiento. Incluye latitud, longitud, altitud, sat茅lites, velocidad y 谩ngulo.
- 01 (WIFI): Informaci贸n de redes WiFi cercanas para posicionamiento.
- 02 (LBS): Informaci贸n de celdas de telefon铆a (MCC, MNC, LAC, CID).
- 03 (TOF): Datos de medici贸n de distancia.
- 04 (Alarm): Datos de alarmas generadas por el dispositivo.
- 05 (Vital Signs): Signos vitales como ritmo card铆aco, presi贸n y ox铆geno en sangre.
- 06 (Device Status): Estado del dispositivo (se帽al 4G, bater铆a, estado de carga).
- 20 (Version): Informaci贸n de la versi贸n del firmware e ICCID.
Comandos del Servidor (Server Commands)
El servidor puede enviar diversos comandos para configurar o controlar el dispositivo:
| Funci贸n | Instrucci贸n | Descripci贸n |
|---|---|---|
| Apagado | of=1 | El dispositivo se apagar谩. |
| Reiniciado | rt=1 | El dispositivo se reiniciar谩. |
| Rastreo | tk=1,60,1,180,1 | Configura intervalos de posicionamiento y reporte. |
| Mensaje | mg=texto | Muestra mensajes en dispositivos con pantalla. |
| Zona Horaria | tz=8 | Configura el huso horario (Eeste +, Oeste -). |
| IP/Dominio | ip=p.xexun.com:8899 | Configura el servidor y puerto de destino. |
Ejemplo de Env铆o de Comando
Para enviar el comando de rastreo tk=1,60,1,180,1 al IMEI 863921033475388: El texto se convierte a hexadecimal: 746b3d312c36302c312c3138302c3100.
Algoritmo de Verificaci贸n ECC (Checksum)
El protocolo utiliza un algoritmo de suma de comprobaci贸n para garantizar la integridad de los datos. Aqu铆 un ejemplo simplificado en C:
unsigned short sw_tcp_checksum(unsigned char *data, int len) {
unsigned long sum = 0;
for (; len > 1; len -= 1) {
sum += *data++;
if (sum & 0x80000000)
sum = (sum & 0xffff) + (sum >> 16);
}
if (len == 1) {
unsigned short i = 0;
*(unsigned char *)(&i) = *(unsigned char *)data;
sum += i;
}
while (sum >> 16)
sum = (sum & 0xffff) + sum >> 16;
return (sum == 0xffff) ? sum : ~sum;
}
Este protocolo es robusto y permite una gesti贸n detallada de los dispositivos Xexun, asegurando que tanto la ubicaci贸n como el estado de salud y alarmas sean reportados de manera confiable.
Haz clic para cargar comentarios