Ce document décrit le protocole utilisé pour communiquer en série, par l’interface RS-232, avec un YuJa
Hardware Hub. Les commandes envoyées permettent de contrôler l’état d’enregistrement ou d’obtenir les renseignements sur l’état actuel
du concentrateur. Les commandes sont des chaînes envoyées en série et interprétées par le concentrateur afin d’exécuter
l’action souhaitée.
Spécifications
Un convertisseur USB-série muni d’un connecteur DB-9 mâle est utilisé. Seules les broches GND, TxD et RxD servent à la communication avec le concentrateur.
- Débit en bauds = 38400
- Bits de données = 8
- Bits d’arrêt = 1
- Parité = AUCUNE
- Contrôle de flux = AUCUN
- Appareil YuJa Hardware Hub
- Pin 2 : RxD <------------------- TxD
- Pin 3 : TxD -------------------> RxD
- Pin 5 : GND ------------------- GND
Commandes et réponses en chaîne série
Le protocole n’ayant pas de contrôle de flux, les commandes sont envoyées une à la fois selon une structure requête/réponse. Lorsqu’il reçoit une commande, le concentrateur analyse la chaîne série, exécute la commande et répond par sa propre chaîne série. Une deuxième commande ne peut pas être envoyée avant que la réponse du concentrateur à la commande initiale ait été reçue. Toutes les commandes et réponses sont formatées comme suit :
- Tête : <!XX>
- Queue : <!YY>
- Structure générale : <!XX><COMMAND> <!YY>
où <COMMAND>
Remarque : La tête et la queue doivent être exactement comme indiqué, mais les commandes ne sont pas sensibles à la casse. Par exemple :
- <!XX>CTRL=Start<!YY> est interprétée de la même façon que <!XX>ctrl=start<!YY>.
- Cependant, <!xx>CTRL=Start<!yy> est une commande inconnue.
- De plus, toutes les réponses en chaîne du concentrateur sont par défaut entièrement en majuscules.
Commandes de contrôle
Les commandes de contrôle modifient l’état du concentrateur YuJa. Elles servent à démarrer et à arrêter la capture de cours.
Les chaînes de commande qui remplacent <COMMAND> sont les suivantes :
| Commande | Description | Paramètres |
| CTRL=Start | Démarre la capture de cours. Si elle est en pause, elle reprend plutôt. | N/A |
| CTRL=Pause | Met la capture de cours en pause. | N/A |
| CTRL=Stop | Arrête la capture de cours. | N/A |
| CTRL=Extend |
Ajoute 30 minutes à une capture de cours déjà démarrée. Remarque : Les captures qui se terminent dans moins de 5 minutes ne peuvent pas être prolongées. |
N/A Remarque : La possibilité de passer en paramètre une durée de prolongation précise pourrait être incluse dans une version future. |
À la suite d’une commande de contrôle, le concentrateur répond par 1 des 3 messages suivants :
- Commande réussie : lorsqu’il a interprété et exécuté la commande de contrôle avec succès, le concentrateur répond avec la chaîne de la commande de contrôle d’origine, tous les caractères en majuscules.
- Commande inconnue : pour les commandes non reconnues ou non valides, le concentrateur répond par la chaîne « UNKNOWN COMMAND ».
- Échec de la commande : pour les commandes valides que le concentrateur n’a pas réussi à exécuter, une chaîne de réponse indiquant l’erreur est envoyée.
-
Exemples :
-
Démarrer le concentrateur :
- Commande : <!XX>CTRL=Start<!YY>
- Réponse : <!XX>CTRL=START<!YY>
-
Commande non valide :
- Commande : <!XX>CTRL=Capture<!YY>
- Réponse : <!XX>UNKNOWN COMMAND<!YY>
-
Échec de la commande de démarrage :
- Commande : <!XX>CTRL=Start<!YY>
- Réponse : <!XX>FAIL : SESSION OVERLAPS WITH ANOTHER SESSION.<!YY>
-
Démarrer le concentrateur :
Commandes d’état
Les commandes d’état servent à demander l’état actuel du concentrateur. Les chaînes de commande qui remplacent
<COMMAND> sont les suivantes :
| Commande | Description | Valeur retournée |
| STAT=Recording | Retourne l’état d’enregistrement du concentrateur. |
"RECORDING : ON" "RECORDING : OFF" |
| STAT=Connection | Indique si le concentrateur est correctement connecté au nuage ou non. |
"CONNECTION : CONNECTED" "CONNECTION : DISCONNECTED" |
| STAT=Capture-Duration | Retourne le temps écoulé depuis le début de la capture.* |
"CAPTURE-DURACTION : <duration of capture**> |
| STAT=Remaining | Retourne le temps restant avant la fin d’une capture.* |
“REMAINING : <remaining time**>” |
| STAT=Length | Retourne la durée totale de la capture en cours.* |
"LENGTH : <length of capture**>" |
*: Une session de capture doit avoir été démarrée (c’est-à-dire que l’enregistrement doit être activé) pour qu’une durée soit retournée.
**: Toutes les durées sont au format hh:mm:ss. Si elle n’est pas disponible, N/A est retourné au lieu d’une durée.
À la suite d’une commande d’état, le concentrateur répond par 1 des 2 messages suivants :
- Statut : pour les demandes d’état valides, le concentrateur retourne l’information souhaitée sous forme de hachage.
-
Commande inconnue : pour les commandes non reconnues ou non valides, le concentrateur répond par la chaîne
« UNKNOWN COMMAND ». -
Exemples :
-
Demander l’état d’enregistrement :
- Commande : <!XX>STAT=Recording<!YY>
- Réponse : <!XX>RECORDING : ON<!YY>
-
Commande non valide :
- Commande : <!XX>STAT=Com<!YY>
- Réponse : <!XX>UNKNOWN COMMAND<!YY>
-
Demander la durée de la capture :
- Commande : <!XX>STAT=Capture-Duration<!YY>
- Réponse : <!XX>CAPTURE-DURATION : 00:12:34<!YY>
-
Demander la durée de la capture d’un concentrateur non démarré :
- Commande : <!XX>STAT=Capture-Duration<!YY>
- Réponse : <!XX>CAPTURE-DURATION : N/A<!YY>
-
Demander la durée totale de la capture :
- Commande : <!XX>STAT=Length<!YY>
- Réponse : <!XX>LENGTH : 03:00:00<!YY>
-
Demander l’état d’enregistrement :
Dépannage
Si vous ne recevez pas de réponse du Hardware Hub, vous pouvez prendre quelques mesures pour résoudre le problème.
- Assurez-vous d’avoir réglé les spécifications avec un débit en bauds de 38400. Vous devez ensuite redémarrer l’appareil Hub pour vous assurer qu’il fonctionne.
- Vous pouvez essayer d’inverser vos broches TX et RX à l’aide d’un connecteur DB9 null ou d’un adaptateur null modem. Après l’inversion des connecteurs, redémarrez l’appareil pour vous assurer qu’il fonctionne.
- Si le problème persiste, veuillez communiquer avec YuJa Support.