tools - Usar telnet en un programa C
telnet login (5)
Estoy trabajando en un proyecto de automatización de robots y me encontré con un bloque de carreteras. Para controlar el robot, uno necesita conectarse con él de forma inalámbrica a través de telnet y enviar comandos a través del protocolo tcp / ip. (por ejemplo, el comando ''Mabc'' lo mueve hacia adelante en función de la velocidad de la rueda izquierda (a), la velocidad de la rueda derecha (b) y el tiempo (c)). Lo que intento hacer es hacer algunos cálculos en un programa C y luego enviar un mensaje al robot en función del valor del cálculo.
¿Cómo se pueden enviar comandos a través del protocolo tcp / ip en un programa C?
¡Gracias!
Erik
Usted está buscando enchufes. Esta es una guía completa de la programación de socket en C. Telnet también es un protocolo bien definido, aunque no sé si este robot usaría telnet o no (es sobrecarga de procesamiento adicional para un protocolo que no tendría mucho beneficio adicional para un programa de control de robots). Telnet está cubierto en detalle por RFC 854
Utilizaría libcurl: http://curl.haxx.se/libcurl/ . Hará lo que quiera, y manejará todo el telnet goo que realmente no desea manejar.
Yo sería:
- escribiendo algunos scripts de shell simples que contienen las intercaciones de telnet escritas como documentos aquí.
- utilizando un archivo .telnetrc en su directorio de inicio para controlar aspectos de su sesión de telnet, por ejemplo, crmod
- llamando al script usando llamadas al sistema.
De esta forma, su tiempo de respuesta para cambiar sus interrelaciones con el robot no implicará tener que volver a compilar su programa todo el tiempo.
Por cierto, esto suena divertido.
HTH.
aclamaciones,
Robar
Esperar te permitiría interactuar con programas externos, pero no conozco un puerto C de esperar. De lo contrario, encontraría una biblioteca de telnet en C o escribiría la suya usando la programación de socket.
Esperar fue diseñado para hacer exactamente esto: mantener conversaciones con programas interactivos. Está escrito en Tcl , extendiendo el intérprete Tcl con varios comandos. Tcl es muy fácil de extender; fue diseñado para ser un lenguaje de scripting incorporado desde el principio. La API C principal utiliza construcciones de estilo argv para pasar parámetros a los comandos Tcl y es muy fácil de usar. La mejor guía para C API es el libro original de Ousterhout y me tomó una sesión de laboratorio de dos horas para poner en funcionamiento mi primer intérprete Tcl integrado.
Como beneficio adicional, también obtienes un intérprete Tcl incorporado, que puedes usar para agregar una función de scripting a tu aplicación. Es probable que descubras que un poco de esto puede implementarse en Tcl si te apetece, por lo que probablemente te ahorrará tiempo en general.