Este documento especifica el protocolo que se utiliza para comunicarse en serie mediante la interfaz RS-232 con un Hardware Hub de YuJa. Los comandos enviados se pueden usar para controlar el estado de grabación o para obtener la
información de estado actual del hub. Los comandos son cadenas que se envían en serie
y que el hub interpreta para realizar la
acción deseada.
Especificaciones
Se utiliza un convertidor de USB a serie con un conector DB-9 macho. Solo se utilizan los pines GND, TxD y RxD para comunicarse con el hub.
- Velocidad en baudios = 38400
- Bits de datos = 8
- Bits de parada = 1
- Paridad = NINGUNA
- Control de flujo = NINGUNO
- Dispositivo YuJa Hardware Hub
- Pin 2: RxD <------------------- TxD
- Pin 3: TxD -------------------> RxD
- Pin 5: GND ------------------- GND
Comandos y respuestas de cadenas seriales
Debido a la ausencia de control de flujo en el protocolo, los comandos se envían de uno en uno con una estructura de solicitud y respuesta. Cuando se le envía un comando, el hub analiza la cadena serial, ejecuta el comando y responde con su propia cadena serial. No se puede enviar un segundo comando hasta que se haya recibido la respuesta del hub al comando original. Todos los comandos y respuestas tienen el siguiente formato:
- Encabezado: <!XX>
- Cierre: <!YY>
- Estructura general: <!XX><COMMAND> <!YY>
donde <COMMAND>
Nota: El encabezado y el cierre deben ser exactamente como se muestran, pero los comandos no distinguen entre mayúsculas y minúsculas. Por ejemplo:
- <!XX>CTRL=Start<!YY> se interpreta igual que <!XX>ctrl=start<!YY>.
- Sin embargo, <!xx>CTRL=Start<!yy> es un comando desconocido.
- Además, todas las respuestas en cadena del hub se devuelven en mayúsculas de forma predeterminada.
Comandos de control
Los comandos de control modifican el estado del hub de YuJa. Se utilizan para iniciar y detener la captura de clases.
Las cadenas de comando para reemplazar <COMMAND> son las siguientes:
| Comando | Descripción | Parámetros |
| CTRL=Start | Inicia la captura de clases. Si está en pausa, se reanudará en su lugar. | N/A |
| CTRL=Pause | Pone en pausa la captura de clases. | N/A |
| CTRL=Stop | Detiene la captura de clases. | N/A |
| CTRL=Extend |
Agrega 30 minutos más a una captura de clases ya iniciada. Nota: Las capturas que estén a 5 minutos o menos de finalizar no se pueden extender. |
N/A Nota: Es posible que en una versión futura se incluya como parámetro el tiempo de extensión específico. |
Después de un comando de control, el hub responderá con 1 de 3 mensajes:
- Comando exitoso: al interpretar y ejecutar correctamente el comando de control, el hub responderá con la cadena original del comando de control con todos los caracteres en mayúsculas.
- Comando desconocido: para los comandos no reconocidos o no válidos, el hub responderá con la cadena “UNKNOWN COMMAND”.
- Comando fallido: para los comandos válidos que el hub no logró ejecutar, se enviará una cadena de respuesta que indica el error.
-
Ejemplos:
-
Iniciar el hub:
- Comando: <!XX>CTRL=Start<!YY>
- Respuesta: <!XX>CTRL=START<!YY>
-
Comando no válido:
- Comando: <!XX>CTRL=Capture<!YY>
- Respuesta: <!XX>UNKNOWN COMMAND<!YY>
-
Comando de inicio fallido:
- Comando: <!XX>CTRL=Start<!YY>
- Respuesta: <!XX>FAIL: SESSION OVERLAPS WITH ANOTHER SESSION.<!YY>
-
Iniciar el hub:
Comandos de estado
Los comandos de estado se utilizan para solicitar el estado actual del hub. Las cadenas de comando para reemplazar
<COMMAND> son las siguientes:
| Comando | Descripción | Devuelve |
| STAT=Recording | Devuelve el estado de grabación del hub. |
"RECORDING: ON" "RECORDING: OFF" |
| STAT=Connection | Devuelve si el hub está conectado correctamente a la nube o no. |
"CONNECTION: CONNECTED" "CONNECTION: DISCONNECTED" |
| STAT=Capture-Duration | Devuelve el tiempo transcurrido desde que comenzó la captura.* |
"CAPTURE-DURACTION: <duración de la captura**> |
| STAT=Remaining | Devuelve el tiempo que falta para que termine una captura.* |
“REMAINING: <tiempo restante**>” |
| STAT=Length | Devuelve la duración total de la captura actual.* |
"LENGTH: <duración de la captura**>" |
*: Debe haberse iniciado una sesión de captura (es decir, la grabación debe estar en ON) para que se devuelva un tiempo.
**: Todo el tiempo tiene el formato hh:mm:ss. Si no está disponible, se devolverá N/A en lugar de un tiempo.
Después de un comando de estado, el hub responderá con 1 de 2 mensajes:
- Estado: para las solicitudes de estado válidas, el hub devolverá la información solicitada en forma de hash.
-
Comando desconocido: para los comandos no reconocidos o no válidos, el hub responderá con la cadena
“UNKNOWN COMMAND”. -
Ejemplos:
-
Solicitar el estado de grabación:
- Comando: <!XX>STAT=Recording<!YY>
- Respuesta: <!XX>RECORDING: ON<!YY>
-
Comando no válido:
- Comando: <!XX>STAT=Com<!YY>
- Respuesta: <!XX>UNKNOWN COMMAND<!YY>
-
Solicitar la duración de la captura:
- Comando: <!XX>STAT=Capture-Duration<!YY>
- Respuesta: <!XX>CAPTURE-DURATION: 00:12:34<!YY>
-
Solicitar la duración de la captura de un hub que no se ha iniciado:
- Comando: <!XX>STAT=Capture-Duration<!YY>
- Respuesta: <!XX>CAPTURE-DURATION: N/A<!YY>
-
Solicitar la duración total de la captura:
- Comando: <!XX>STAT=Length<!YY>
- Respuesta: <!XX>LENGTH: 03:00:00<!YY>
-
Solicitar el estado de grabación:
Solución de problemas
Si no recibe una respuesta del Hardware Hub, hay algunas cosas que puede hacer para resolver el problema.
- Asegúrese de haber configurado correctamente las especificaciones para que la velocidad en baudios sea igual a 38400. Luego debe reiniciar el dispositivo Hub para asegurarse de que funcione.
- Puede intentar intercambiar los pines TX y RX con un conector nulo DB9 o un adaptador de módem nulo. Después de intercambiar los conectores, reinicie el dispositivo para asegurarse de que funcione.
- Si el problema persiste, comuníquese con el Soporte de YuJa.