Tabla de contenido:

Telnet a su Arduino / AVR: 4 pasos
Telnet a su Arduino / AVR: 4 pasos

Video: Telnet a su Arduino / AVR: 4 pasos

Video: Telnet a su Arduino / AVR: 4 pasos
Video: 7) Protocolo Telnet - Enviando Datos desde Windows, Raspberry a Arduino Ethernet Shield - Parte_01 2024, Mes de julio
Anonim
Telnet a su Arduino / AVR!
Telnet a su Arduino / AVR!

El otro día quería comprobar uno de mis AVR, pero estaba arriba y Dios sabe que era demasiado complicado bajar hasta donde estaba el microcontrolador. Pero, había dos computadoras inactivas en el piso de arriba junto a mi trasero perezoso, así que tuve medio día de trabajo y decidí escribir una aplicación que vincule dos puertos: un puerto serie para conectarse al Arduino / AVR y un TCP / IP. puerto al que podría hacer telnet desde mi red inalámbrica o por Internet. Luego, la aplicación actúa como un proxy entre la red TCP / IP y el AVR. Para ver mejor el video, haga clic dos veces, ábralo en su propia ventana y amplíelo. De lo contrario, entrecierra los ojos y podrá ver lo que se está escribiendo. Entonces, terminé modificando la aplicación de conexión serial AVR Terminal que ya había escrito, y le agregué soporte TCP / IP. Para acompañarlo, escribí un firmware que proporciona algo así como un shell UNIX, dándome acceso remoto a todos los pines, configuraciones de fusibles, etc. Puedes encender los LED y todo eso de forma remota. Incluso admite el ajuste de la velocidad del reloj en tiempo real y tiene un sistema de pseudocontraseña que proporciona el marco para las listas de control de acceso o autenticación para los comandos de nivel raíz (como apagar subsistemas, etc.). Estas son algunas de las cosas que puede hacer:

  • Muestra la frecuencia de tu CPU
  • Establecer cualquier pin para entrada o salida
  • Leer el estado de cualquier pin
  • Envíe la lógica 1 y 0 a cualquier pin para encender los LED, etc.
  • Apague y encienda los periféricos SPI, TWI, USART y ADC
  • Lea el fusible inferior, el fusible superior, el fusible externo y los bits de bloqueo en tiempo real
  • Inicie temporizadores para cronometrar automáticamente eventos y cosas.
  • Un marco para un sistema de autenticación en EEPROM
  • Establezca cualquier preescalador de reloj disponible en tiempo real
  • Escrito en C ++ y compilado para un ATmega328P

Este instructivo detalla cómo puede descargar el software (y el firmware, si lo desea), instalarlo y comenzar a acceder a su AVR desde su red doméstica inalámbrica o por Internet.

Paso 1: lo que necesitará

  • Un AVR independiente o Arduino / clon (para obtener instrucciones detalladas sobre cómo hacer su propio sistema AVR independiente bastante completo que incluye un cristal externo, condensadores de desacoplamiento y una fuente de alimentación regulada, consulte mi otro instructivo).
  • Una conexión en serie o USB a su PC host
  • La versión del terminal AVR que tiene el servidor TCP / IP incorporado
  • Opcionalmente, el AVR Shell (avrsh) si desea ejecutar firmware en su AVR / Arduino de destino para obtener acceso a sus periféricos.

La puerta de enlace TCP / IP funciona con cualquier firmware que esté utilizando o desee escribir siempre que se comunique a través de la UART con la PC. Desafortunadamente, no hay una versión de Java, por lo que AVR Terminal solo se ejecuta en Windows en este momento.

Paso 2: Descargue e instale el terminal AVR y el servidor TCP / IP

Descargue e instale el terminal AVR y el servidor TCP / IP
Descargue e instale el terminal AVR y el servidor TCP / IP

AVR Terminal es una aplicación de Windows que presenté en instrucciones anteriores. Puede hablar con su AVR a través del RS232 USART, así como escuchar las conexiones TCP / IP entrantes y transmitirlas a través de la conexión RS232 para obtener una respuesta de su AVR en espera. No tiene todas las funciones, pero ofrece un recorrido inicial de las funciones detalladas aquí y en mis otros instructivos. La versión más reciente se puede descargar aquí. El software no requiere una instalación completa; simplemente puede ejecutar el software desde su directorio. El cuadro de texto en la barra de herramientas que dice CUALQUIERA es la dirección IP que se debe vincular para escuchar. CUALQUIERA vinculará todas y cada una de las direcciones IP, o, opcionalmente, puede enumerar una para vincularla en particular. El cuadro de texto a la derecha de la dirección IP es el puerto IP al que estará vinculado el servidor. El valor predeterminado es 23232, pero puede cambiarlo a lo que quiera.

Paso 3: Instale su Shell

Antes de que su AVR pueda comunicarse con usted, deberá tener algún tipo de sistema operativo o shell en el AVR de destino. Hay un par disponible, incluido mi AVR Shell y el shell Bitlash.

Alternativamente, use esta experiencia como una oportunidad para escribir su propio shell mínimo.

Paso 4: Telnet y disfruta

Telnet y disfruta
Telnet y disfruta

Recuerde su información de configuración o puede mantenerla en los valores predeterminados. En mi imagen de ejemplo, estoy en un host llamado "newton" y telnet a la máquina a la que está conectado mi AVR, un host llamado "quadcpu1". Puede ver la salida de telnet estándar. Entonces, si lo ha mantenido en los valores predeterminados, puede acceder a su AVR / Arduino desde su red TCP / IP con: telnet 23232

o si está en la misma caja: telnet localhost 23232

Solo recuerde usar la configuración a la que lo cambió, si lo cambió. Eso debería ser todo. El código fuente tanto para el servidor telnet como para el firmware AVR están disponibles gratuitamente como código abierto y deberían proporcionarle suficiente información para que pueda modificarlo o escribir sus propias versiones de cualquiera de ellos. El siguiente paso podría ser escribir una implementación Java o Qt del servidor TCP / IP para que los usuarios de Mac y Linux puedan beneficiarse.

Recomendado: