BysMax

Contenu du cours

Retour au cours

JC450 de Jimi IoT en Traccar: cámara de flota con ADAS y DMS

La JC450 suma multicámara, ADAS y DMS sobre JT808 en Traccar. Qué canal pedir, qué llega de serie y qué sigue viviendo solo en la tarjeta del equipo.

Emmanuel Díaz Leal Hernández

May 25, 2024
Intermédiaire

Ya cubrimos la JC181 en producción: doble canal, vehículo ligero, y las limitaciones reales de Traccar con esa familia de cámaras. La JC450 es el mismo fabricante, el mismo protocolo, pero un escalón arriba: multicámara, ADAS, DMS y pensada para vehículo comercial pesado. Este artículo va sobre qué cambia y qué no cuando la conectas a Traccar.

Si no conoces cómo funcionan las cámaras en Traccar en general, empieza por la guía de soporte de cámaras —o por el índice de la serie, cámaras compatibles con Traccar—. Aquí asumo que ya sabes lo básico y quiero entrar directo al modelo.

Qué es la JC450

Es un MDVR (grabador de video móvil) multicanal orientado a flota comercial y vehículo pesado, con capacidades de asistencia a la conducción que la JC181 no tiene.

Canales1 cámara integrada (720P, 1080P bajo demanda) + hasta 4 remotas opcionales — 4 a 5 canales en total
Almacenamiento local2 ranuras microSD, hasta 256 GB cada una (512 GB total)
Conectividad4G LTE, WiFi 2.4 GHz, Bluetooth 4.0
PosicionamientoGPS + BDS
AlimentaciónDC 9–33 V (12 V y 24 V)
AsistenciaADAS y DMS
E/Sbotón SOS, relé, RS232, detección de direccional (variante Pro)

El salto frente a la JC181 es doble: más canales (hasta cinco frente a dos) y software de asistencia a bordo — ADAS para detección de eventos de conducción (colisión frontal, salida de carril, distancia de seguimiento) y DMS para monitoreo del conductor (somnolencia, distracción). Y la alimentación DC 9–33 V confirma el destino: camión, autobús, maquinaria — no un sedán.

NOTE

Estos datos de hardware vienen de fragmentos de la página oficial del fabricante, no de una ficha técnica en PDF completa. Bandas LTE concretas por región no las pude confirmar — pídeselas por escrito a tu distribuidor antes de comprar.

Cómo la ve Traccar

Igual que la JC181, la JC450 entra por JT/T808. El decodificador de Traccar (Jt808ProtocolDecoder.java) tiene un conjunto explícito de modelos Jimi con lógica dedicada — JC_MODELS — y la JC450 está ahí, junto a JC371, JC181, JC182 y JC451. No es una cámara "compatible por casualidad": el servidor la reconoce por nombre.

Eso significa que hereda exactamente el mismo mecanismo de video en vivo que la JC181: videoStart dispara el mensaje JT808 0x9101, videoStop dispara el 0x9102, y Traccar hace de relay entre la cámara y tu navegador vía el pipeline JT/T1078 (Jt1078Protocol, Jt1078FrameDecoder, Jt1078ProtocolDecoder). Si ya operas una JC181, no tienes nada nuevo que aprender en el lado del protocolo.

Lo que sí cambia es cuántos canales hay para elegir.

El punto diferenciador: pedir un canal concreto

El mensaje 0x9101 que genera videoStart lleva, entre otros parámetros, el número de canal de video — por defecto 1. En una cámara de dos canales como la JC181 eso apenas importa: frontal o cabina, y ya. En la JC450, con hasta cinco canales posibles (integrada + 4 remotas), ese campo es donde realmente se decide qué estás viendo.

En teoría, esto abre la puerta a pedir video del canal 3 (una cámara lateral, por ejemplo) en lugar del canal 1 (la integrada), simplemente cambiando el parámetro de canal en el comando videoStart.

Y hay una segunda mitad de la historia, del lado de la reproducción: el canal también viaja en la URL del stream. Traccar sirve el video en vivo como HLS desde VideoStreamResource, en /api/stream/{deviceId}/{channel}/live.m3u8 (con los segmentos en /api/stream/{deviceId}/{channel}/{index}.ts). Es decir, una JC450 de cinco canales expone cinco playlists distintas, y la cámara lateral se consume en su propia ruta. El mecanismo completo está en video en vivo JT1078 en Traccar.

Ahora la parte honesta: no tenemos verificado cómo expone Traccar esos cinco canales en la interfaz de comandos, ni si selecciona canal por defecto de forma automática, ni si hay algún límite práctico del lado del decodificador para números de canal altos. Esto es exactamente lo que debes probar en tu propia instalación antes de prometerle a un cliente "video de las cinco cámaras a la vez" — empieza pidiendo el canal 1, confirma que responde, y luego ve subiendo el número de canal en el comando para ver qué te devuelve cada uno.

ADAS y DMS: qué llega de verdad al servidor

Aquí conviene bajar las expectativas con precisión, porque es donde más se sobrevende esta cámara.

Traccar recibe los eventos ADAS y DMS. En Jt808ProtocolDecoder.java, los subtipos 0x64 (ADAS) y 0x65 (DMS) se decodifican y se guardan en la posición como atributos:

  • adasAlarm — un byte numérico con el tipo de alarma ADAS
  • dmsAlarm — un byte numérico con el tipo de alarma DMS
  • alarmLabel — 16 bytes en hexadecimal identificando la alarma, cuando el mensaje es lo bastante largo

Lo que no pasa: esos códigos no se traducen a alarmas con nombre de Traccar. No vas a ver "somnolencia" ni "salida de carril" en la interfaz; vas a ver dmsAlarm: 3. La tabla de qué significa cada número la define el fabricante, así que pídesela a tu distribuidor — sin ella, el atributo es un número sin sentido.

Sí hay mapeo con nombre para otras cosas del mismo equipo: el subtipo 0x70 traduce aceleración brusca, frenado, giro brusco y colisión a ALARM_ACCELERATION, ALARM_BRAKING, ALARM_CORNERING y ALARM_ACCIDENT. Y la fatiga del conductor sí tiene su ALARM_FATIGUE_DRIVING por la vía de bits de estado. Pero el grueso de ADAS/DMS llega como número crudo.

Si tu cliente quiere alertas legibles y reglas de notificación sobre eventos ADAS/DMS, eso es trabajo de integración encima de estos atributos, no algo que Traccar te dé hecho.

Lo que no cambia: ni grabación en servidor, ni cortes de red gratis

Dos cosas se heredan tal cual de la familia JT808, y conviene repetirlas aunque ya las hayas leído en el post de la JC181:

El decodificador JT808 no guarda archivos multimedia en el servidor. El video histórico de la JC450 se queda en sus dos tarjetas microSD, dentro del vehículo. Esto no es una limitación de arquitectura de Traccar — es que el decodificador JT808 no invoca el sistema de media genérico que el servidor ya tiene. Es implementable con una modificación acotada; nosotros la tenemos resuelta en nuestro propio servidor. Pero de serie, no.

El streaming se corta por las mismas dos razones de siempre. Conmutación de celda 3G/4G con el vehículo en marcha, y reenviar videoStart cada pocos segundos por impaciencia — cada nueva petición obliga a la cámara a cancelar la sesión y renegociar el socket TCP, así que el reintento rápido es la causa, no la solución. Espera 10–15 segundos tras pedir video, y en cobertura mala usa el sub-stream. El detalle completo del mecanismo está en video en vivo JT1078 en Traccar.

Para confirmar que una cámara concreta obedeció, el chequeo de log es el mismo:

grep -i "jt1078" /opt/traccar/logs/tracker-server.log

Si ves jt1078 < seguido de la IP de la cámara justo después del videoStart, la sesión se estableció del lado de la cámara. Y si en el log de eventos ves notifications: 0, no es un fallo del dispositivo ni de ADAS/DMS: Traccar procesó el evento, solo que no tienes una regla de notificación configurada para ese tipo de evento.

¿Es la cámara adecuada?

Sí, si manejas vehículo comercial pesado (24 V), necesitas más de dos canales de cámara, o el requisito incluye ADAS/DMS como capa de seguridad además de la posición GPS. Es el mismo protocolo probado de la JC181, con más hardware detrás.

No, si solo necesitas dos cámaras y vehículo ligero — ahí la JC181 cubre el caso con menos equipo y menos costo. Y no, si tu requisito no negociable es archivo de video centralizado en tu servidor sin tocar código: con JT808 de serie, ni la JC181 ni la JC450 lo hacen.

NOTE

Las especificaciones de hardware de este post provienen de fragmentos de la página oficial del fabricante (confianza media, no de una ficha técnica en PDF completa). La integración con Traccar (modelo en JC_MODELS, mecanismo JT1078, comandos videoStart/videoStop) está verificada contra el código fuente del servidor. El comportamiento exacto del multicanal en la interfaz de Traccar no está verificado — pruébalo en tu instalación antes de comprometerte con un cliente.

Comentarios (0)