BysMax

Protocolo GPS Xexun: Guía de Comandos y Estructura de Datos

14 min

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:

TipoDescripción
U8Entero de un solo byte sin signo (8 bits)
U16Entero de doble byte sin signo (16 bits)
U32Entero de cuatro bytes sin signo (32 bits)
FLOATNú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
STRINGCodificació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 FAAF dentro del cuerpo, se convierte a FBBF02.
  • Si aparece FBBF dentro del cuerpo, se convierte a FBBF01.

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 InicioNombreTipo de DatosDescripción
10Message IDU16Datos de posicionamiento/alarma: 0020. Comandos del servidor: 0021.
22Serial NumberU160-65535
34IMEI+0BCD[8]Identificador del dispositivo
412Text lengthU16Longitud del texto
514ECC checkU16Verificació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ónInstrucciónDescripción
Apagadoof=1El dispositivo se apagará.
Reiniciadort=1El dispositivo se reiniciará.
Rastreotk=1,60,1,180,1Configura intervalos de posicionamiento y reporte.
Mensajemg=textoMuestra mensajes en dispositivos con pantalla.
Zona Horariatz=8Configura el huso horario (Eeste +, Oeste -).
IP/Dominioip=p.xexun.com:8899Configura 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.

Comentarios (0)