Paso 16: documento de terceros interfaz (TPI) programador
La interfaz de Third Party (TPI) es un conjunto de comandos, las respuestas y códigos de error que permite aplicaciones de terceros para interfaz con 3 EnvisaLink sobre una conexión TCP/IP. Encontré este documento muy confuso. Espero que esta explicación Ayude a explicar el documento un poco mejor.
En general, todos los comandos de TPI, respuestas y códigos de Error son tres dígitos:
- Los comandos son mayor o igual a 500
- Las respuestas son menor o igual a 200
- Códigos de error son entre 000 y 027, pero las respuestas también en esta gama
Datos se anexa al final de un comando o respuesta. Por ejemplo, un comando de inicio de sesión podría ser:
- 005pswdCS\n\r
donde,
- perdida = datos, en este caso, la contraseña
Los siguientes son necesarios:
- CS = suma de comprobación
- \n caracter de =
- \r = carácter retorno de carro
En la web, encontré muchas implementaciones para el cálculo de la suma de comprobación. La suma de comprobación se requiere, y muchas implementaciones no. No sé por qué muchos no funcionan para mí. Puede ser código malo, o puede ser versiones diferentes de las versiones de firmware o junta en la Junta. Mi código de suma de comprobación funciona para mi placa y el firmware.
El EnvisaLink actúa como un servidor para una conexión de TCP a una aplicación cliente. El cliente sólo debe ejecutarse en un servidor seguro que se puede comunicar con el EnvisaLink 3. Servidor de cliente debe estar en tu red doméstica, pero no debe estar abierto a internet. Se requiere un certificado autofirmado (véase mi instructable para un abridor de puerta de garaje).
La EnvisaLink escucha en el puerto 4025 y sólo aceptará una conexión de cliente. Sucesivas conexiones se negará. La EnvisaLink cerrará la conexión si el cliente cierra su lado.
Para iniciar una conexión:
- Cliente inicia una sesión TCP estableciendo un socket TCP.
- Cliente envía un comando de inicio de sesión [005]
- EnvisaLink responde con una o más [505]
- Si los datos del comando [505] están un 3, luego en 10 segundos responder con un comando de inicio de sesión [005]
- Si datos [505] contiene un 1, luego inicio de sesión tiene éxito
Datos de comandos de inicio de sesión están una contraseña de hasta seis caracteres de longitud, que es la misma contraseña para ingresar a la página web local de EnvisaLink.
Ver 505 Descripción del comando en el manual del TPI para una descripción de todos los datos.
Una vez aceptada la contraseña, la sesión es creada y continuará hasta que se cae la conexión TCP.