Protocolo de Comunicación
Los dispositivos Rinho utilizan un protocolo derivado de TAIP (Trimble ASCII Interface Protocol), estándar de la industria AVL.
Estructura de Mensajes
Todo mensaje comienza con > (0x3E) y termina con < (0x3C):
>TIPO_DATOS;#NNNN;ID=XXXX;*CC<| Elemento | Descripción | Requerido |
|---|---|---|
> | Header (inicio) | ✅ Siempre |
TIPO | Prefijo + comando | ✅ Siempre |
DATOS | Contenido variable | ✅ Siempre |
;#NNNN | Número de mensaje (hex) | Solo GPRS |
;ID=XXXX | Identificador del equipo | Solo GPRS |
;*CC | Checksum XOR (hex) | Solo GPRS |
< | Footer (fin) | ✅ Siempre |
Tipos de Mensajes
| Prefijo | Nombre | Descripción |
|---|---|---|
| S | Set | Escribe/configura parámetros |
| Q | Query | Consulta parámetros |
| R | Response | Respuesta a S o Q |
Checksum
El checksum es el XOR de todos los bytes desde > hasta * (incluido), expresado en 2 caracteres hexadecimales.
Medios de Comunicación
Vía GPRS/TCP
Requiere ID, número de mensaje y checksum:
// Consulta
>QID;#8001;ID=1234;*7C<
// Respuesta
>RID1234;#8001;ID=1234;*7B<Vía Terminal (Serial)
No requiere ID ni checksum:
// Consulta
>QID<
// Respuesta
>RID1234;ID=1234;*7B<Vía SMS
No requiere checksum. El equipo responde con ID:
// Consulta
>QIO<
// Respuesta
>RIO;IGN1;IN1111110;XP010;V127;VBU420;ID=1234;*1B<Comandos Concatenados
Se pueden enviar múltiples comandos en una sola transmisión:
>QPWRINHO<>SSSXP0011<Respuesta:
>RPWOK;ID=1234;*71<>RSSXP0011;ID=1234;*6D<Útil cuando se usa password de acceso, especialmente vía SMS.
Número de Mensaje
Identificador ordinal hexadecimal para confirmar recepción de reportes.
Rangos
| Rango | Uso |
|---|---|
0x0000 - 0x7FFF | Reportes del equipo → servidor |
0x8000 - 0xFFFF | Comandos del servidor → equipo |
Ejemplo de Comando con Número
Envío desde servidor:
>SSSXP0011;#8001;ID=1234;*6A<Respuesta del equipo:
>RSSXP0011;#8001;ID=1234;*6B<El servidor sabe que el comando #8001 fue ejecutado.
Confirmación (ACK)
Para confirmar recepción de un reporte, el servidor responde:
>ACK;#NNNN;ID=XXXX;*CC<Donde #NNNN es el número del mensaje recibido.