Étape 16 : Document de tiers (TPI) d’Interface, interface de programmation
L’Interface de tierce partie (TPI) est un ensemble de commandes, des réponses et des codes d’erreur permettant aux applications tierces en interface avec les 3 EnvisaLink sur une connexion TCP/IP. J’ai trouvé ce document très déroutant. J’espère que cette explication permet d’expliquer le document un peu mieux.
En général, toutes les commandes du TPI, les réponses et les Codes d’erreur sont trois chiffres :
- Les commandes sont supérieur ou égal à 500
- Les réponses sont inférieures ou égales à 200
- Codes d’erreur sont entre 000 et 027, mais les réponses sont aussi dans cette gamme
Données sont ajoutées à la fin d’une commande ou une réponse. Par exemple, une commande de connexion peut être :
- 005pswdCS\n\r
où,
- PSWD = est données, dans ce cas, votre mot de passe
Les suivants sont requis :
- CS = somme de contrôle
- \n = caractère de nouvelle ligne
- \r = caractère de retour chariot
Sur le web, j’ai trouvé beaucoup d’implémentations pour calculer le checksum. La somme de contrôle est nécessaire, et de nombreuses implémentations n’a pas fonctionné. Je ne sais pas pourquoi beaucoup n’a pas fonctionné pour moi. Il peut être mauvais code, ou il peut être des versions différentes des versions Office ou firmware en cours d’exécution sur la planche. Mon code checksum fonctionne pour mon Conseil et progiciels.
Le EnvisaLink agit comme un serveur pour une connexion TCP à une application cliente. Le Client doit uniquement exécuter sur un serveur sécurisé qui peut communiquer avec les 3 EnvisaLink. Le serveur du Client devrait être sur votre réseau domestique, mais ne devrait pas être ouvert à l’internet. Un certificat auto-signé est requis (voir mes autres instructable pour une porte de garage).
Le EnvisaLink écoute sur le port 4025 et n’accepte une connexion cliente. Les connexions suivantes seront refusées. La EnvisaLink fermera la connexion si le client ferme le côté.
Pour établir une connexion :
- Client démarre une session TCP en établissant une socket TCP.
- Client envoie une commande de connexion [005]
- EnvisaLink répond avec une ou plusieurs [lignes 505]
- Si les données de la commande [505] soient un 3, puis 10 secondes pour répondre avec une commande de connexion [005]
- Si des données [505] contient un 1, puis connexion est réussie
Données de la commande login sont un mot de passe jusqu'à six caractères de long, qui est le même mot de passe pour vous connecter à la page de web de la EnvisaLink locale.
Voir description de la commande 505 dans le manuel TPI pour obtenir une description de toutes les données.
Une fois que le mot de passe est accepté, la session est créée et se poursuivra jusqu'à ce que la connexion TCP est supprimée.