Protocolo de comunicación SR226 V3.26
Manual de usuario de la API
Wuhan Lakeda Science And Technology Co., Ltd.
Tabla de contenido
1. Descripción general
El Protocolo de comunicación SR226 define la interfaz basada en UDP entre el radar y el terminal PC para la serie de radares de seguridad “XW/SR226-6000XP”.
Incluye:
- Comandos de enlace
- Control de parámetros
- Datos de seguimiento
- Paquetes de latido
- Datos de parámetros
2. Protocolo de comunicación
- El radar y el PC deben estar en la misma subred.
- Se utiliza UDP con orden de bytes little endian.
- Flujo de comunicación:
- El PC envía el comando de enlace.
- El radar obtiene la IP/puerto del PC.
- El radar reporta datos de seguimiento y paquetes de latido.
Se manejan dos tipos de mensajes:
- PC -> Radar: Comandos de control (Enlace, Control de parámetros)
- Radar -> PC: Mensajes de reporte (Datos de seguimiento, Latido, Datos de parámetros)
2.1 Comandos de control (PC -> Radar)
2.1.1 Comando de enlace
- El PC envía un comando de enlace fijo de 10 bytes.
- El radar responde con datos de seguimiento y paquetes de latido.
- IP predeterminada del radar:
192.168.0.100
, Puerto:12580
. - Enviar una vez por minuto.
Formato del comando de enlace (10 bytes):
Desplazamiento (byte) | Campo | Longitud | Formato | Descripción |
---|---|---|---|---|
0-9 | FrameHead | 10 | char | Fijo: 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA |
2.1.2 Control de parámetros
Se utiliza para consultar o modificar parámetros del radar.
Formato general del mensaje (32 bytes):
Desplazamiento (byte) | Campo | Longitud | Formato | Descripción |
---|---|---|---|---|
0-3 | FrameHead | 4 | uint | Fijo 0xAA 0xAA 0xAA 0xAA |
4 | InfoType | 1 | byte | Fijo 0x0B |
5-7 | Reservado | 3 | byte | Valor predeterminado 0x00 |
8 | ParameterType | 1 | byte | 1-255 (ver lista) |
9 | DeviceType | 1 | byte | Fijo 0x01 |
10 | FaceID | 1 | byte | Fijo 0x00 |
11 | Checksum | 1 | byte | Suma de bytes 9-4 |
12-15 | Reservado | 4 | byte | 0x00 |
16-19 | Parameter1 | 4 | variable | Depende del tipo |
20-23 | Parameter2 | 4 | variable | Depende del tipo |
24-27 | Parameter3 | 4 | variable | Depende del tipo |
28-31 | Parameter4 | 4 | variable | Depende del tipo |
Lista de tipos de parámetros:
1 - Consulta de estado
- Param1: Tipo de dispositivo (fijo
0x01
) - Param2: Tipo de estado (0-255, ver Sección 2.2.3 Tabla 5-1)
- Param3/4: Predeterminado
0
- Param1: Tipo de dispositivo (fijo
2 - GPS y orientación
- Param1: Latitud (float, -90 a +90 grados)
- Param2: Longitud (float, -180 a +180 grados)
- Param3: Altitud (float, -500 a +10 000 m)
- Param4: Acimut (float, 0-360 grados)
11 - Configuración de umbrales
- Param1: Umbral de detección (float, 11.0-0.0 dB)
- Param2: Umbral de alta velocidad (float, 1.0-0.0 m/s)
- Param3: Umbral de baja velocidad (float, 0.0-0.0 m/s)
- Param4: Reservado
20 - Comando de trama única
- Param1: Encabezado de comando (0xA5), ID (0x10), tipo (0x01), dirección + Data1-4
- Param2: Data5-8
- Param3: ID de trama
- Param4: Checksum
21 - Parámetros de sector
- Param1: Ángulo inicial (byte, 0-255, unidad 1.4063 grados)
- Param2: Ángulo final (byte, 0-255)
22 - Parámetros de zonas silenciosas
- Param1-4: Definir hasta 4 zonas de silencio angulares (ángulos inicial/final, 0-255)
2.2 Mensajes de reporte (Radar -> PC)
2.2.1 Datos de seguimiento
El radar envía continuamente reportes de seguimiento tras recibir un comando de enlace.
Formato de los datos de seguimiento (por paquete, tamaño variable):
Desplazamiento (byte) | Campo | Longitud | Formato | Descripción |
---|---|---|---|---|
0-3 | FrameHead | 4 | uint | 0xAA 0xAA 0xAA 0xAA |
4 | InfoType | 1 | byte | 0x01 |
5-6 | Reservado | 2 | byte | / |
7 | DeviceType | 1 | byte | 0x01 |
8-9 | TrackCount | 2 | ushort | Número de trazas (0-99) |
10-11 | Reservado | 2 | byte | / |
Luego, por objetivo (79 bytes cada uno):
Campo | Longitud | Formato | Descripción |
---|---|---|---|
Batch ID | 4 | uint | Número de lote de la traza |
Azimuth | 4 | float | 0-360 grados |
Range | 4 | float | Metros |
Latitude | 4 | float | -90 a +90 grados |
Longitude | 4 | float | -180 a +180 grados |
Radial Velocity | 4 | float | m/s |
Exist Flag | 2 | byte | 0 = desaparecido, 1 = presente |
Elevation | 4 | float | Grados |
Heading | 4 | float | Grados |
Speed | 4 | float | m/s |
Altitude | 4 | float | m (relativa) |
Timestamp | 4 | uint | ms desde inicio del día |
Amplitude | 2 | ushort | 0.1 dB |
Category | 1 | byte | 0=barco, 10=peatón, 20=UAV, 30=coche, 40=ave, 99=desconocido |
Noise Amplitude | 2 | ushort | 0.1 dB |
Reserved | 21 | byte | / |
Checksum | 1 | byte | Suma de los datos del segmento |
2.2.2 Paquete de latido
Formato (16 bytes):
Desplazamiento (byte) | Campo | Longitud | Formato | Descripción |
---|---|---|---|---|
0-3 | FrameHead | 4 | uint | 0xAA 0xAA 0xAA 0xAA |
4 | InfoType | 1 | byte | 0x04 |
5-6 | Reservado | 2 | byte | / |
7 | DeviceType | 1 | byte | 0x01 |
8-9 | Reservado | 2 | ushort | / |
10 | AzimuthCode | 1 | byte | 0-255 -> 0-360 grados |
11-14 | Timestamp | 4 | uint | ms desde inicio del día |
2.2.3 Datos de parámetros
Se devuelven cuando se consulta el estado del radar.
Formato (32 bytes):
Desplazamiento (byte) | Campo | Longitud | Formato | Descripción |
---|---|---|---|---|
0-3 | FrameHead | 4 | uint | 0xAA 0xAA 0xAA 0xAA |
4 | InfoType | 1 | byte | 0x03 |
5-7 | Reservado | 3 | byte | / |
8 | StatusType | 1 | byte | 1-255 |
9 | DeviceType | 1 | byte | 0x01 |
10 | FaceID | 1 | byte | 0x00 |
11 | Checksum | 1 | byte | Suma de bytes 9-4 |
12-15 | Reservado | 4 | byte | / |
16-19 | Status1 | 4 | variable | Depende del tipo |
20-23 | Status2 | 4 | variable | Depende del tipo |
24-27 | Status3 | 4 | variable | Depende del tipo |
28-31 | Status4 | 4 | variable | Depende del tipo |
Ejemplos de tipos de estado:
1
: Estado BIT (bits de salud de los canales TX/RX)2
: GPS y orientación (latitud, longitud, altitud, acimut)3
: Parámetros de operación (modo, frecuencia, Face ID)11
: Umbrales (valores en dB/m/s)12
: IDs de firmware (ID del dispositivo, números de versión)21
: Parámetros de sector (ángulos inicial/final)22
: Parámetros de zonas silenciosas (definiciones multizona)
Notas
- Intervalo mínimo entre comandos de control: 100 ms.
- Checksum: Calcular como suma de bytes de los campos especificados.
- Zonas de sector y silencio: Solo válidas para radares de exploración mecánica.
- Elevación/altura: Valor predeterminado 0 si el radar no mide altura.