Terminal serial de Python para sacarte del apuro

Cuando juegas con computadoras viejas, a veces puedes encontrarte en una situación complicada. Lo que puede ser una tarea sencilla con el hardware y el software de hoy en día puede resultar casi imposible debido a los recursos limitados disponibles para las máquinas con 20 o 30 años. Aquí es donde [bison] Recientemente se encontró cuando necesitaba configurar un dispositivo a través de una serie, pero no tenía forma de instalar el emulador de terminal adecuado en su Fujitsu Lifebook C34S.

Su solución, ya que tenía Python 2.6 instalado en la máquina Debian-6, fue escribir su propio emulador de terminal serial mínimo. Tenía la intención de que el código fuera lo más compacto posible para poder escribirlo rápidamente si alguien más necesitara hablar con un dispositivo serie en Linux pero no pudiera obtenerlo. screen o minicom instalado.

El código es muy simple, e incluso si nunca necesita lanzar un terminal improvisado usted mismo, ofrece un ejemplo interesante de cómo son realmente las comunicaciones seriales directas. El código abre el /dev/ttyS0 un dispositivo para leer, y después de agregar el carácter de retorno apropiado, inserta la entrada del teclado del usuario en él. Sigue dando vueltas y tendrás una terminal interactiva.

Con este programa escrito, [bison] pudo conectar el C34S de 266 MHz a su Retro WiFi SI, un adaptador de módem que cierra la brecha entre una computadora vieja y una red inalámbrica moderna. Herramientas como estas le permiten navegar por BBS de acuerdo con la intención del creador, y se pueden crear con nada más exótico que ESP8266 con algún código fuente abierto.

  • Osgeld dice:

    por lo que uno puede obtener un debian 6 en una línea de vida, pero tuvo que escribir una terminal en serie

    • Feinfinger dice:

      "(" (((...))) pero no se puede instalar la pantalla (((...))) ". ""
      ¿Por qué?
      O ...
      ¡Imposible!
      ¡Debe haber una forma!
      -> http://archive.debian.org/debian/dists/

  • Daid dice:

    Así es:
    “Kato / dev / ttyS0 &; kato> / dev / ttyS0 ”
    ¿Pero luego con mucho más código?

    • RW versión 0.0.1 dice:

      Una pregunta tonta, pero ¿tiene que funcionar en Android? sin embargo, no está claro cuáles son los dispositivos para la conexión USB en modo dev o el encabezado serie JTAG.

    • djsmiley2k dice:

      Ja, traté de encontrar alguna solución a través de netcat.

  • Menor dice:

    ¿Y cómo se configura la velocidad en baudios, los bits de datos, la paridad y muchas configuraciones pequeñas pero a veces críticas que tiene el controlador tty? No es tan complicado, pero no es tan simple como esto. Se necesita alguna LdC adicional.

    • norte dice:

      solo se necesita una línea más de código:

      "Stty 9600 -parenb cread cs8 cstopb

      o lo que sea.

      • Traumflug dice:

        No funciona porque los parámetros se reinician en cada nuevo enfoque. Por eso necesitas una 'pantalla' o algún programa trivial.

  • drako788 dice:

    Esta es una implementación muy interesante y simple en comparación con PySerial. Cuidado, me gustaría que eso realmente no sea un problema debido a la antigüedad de los dispositivos con los que interactúa, pero en Python 3 las cadenas se tratan de manera diferente, por lo que es posible que tenga que lidiar con la conversión de bytes y Unicode si quisiera hacer algo similar allí. .

    • norte dice:

      Es divertido reírse de este programa, pero dejará caracteres en su vieja computadora lenta si lo ejecuta rápido, lee solo un carácter a la vez desde el sistema remoto, lo que es peor, convierte cada carácter en una cadena y luego ejecuta el función de salida formateada en cada signo. En realidad, este es un buen ejemplo de cómo NO realizar comunicaciones en serie. Por favor, no tome lecciones de un código mal escrito. El comentario de Owen a continuación es sobre el dinero.

  • No es basura dice:

    No lo entiendo. ¿El título alternativo de este artículo es “Una persona descubre una puerta serial en una computadora vieja”?

    ¿El próximo artículo será "Una persona descubre un puerto paralelo en una computadora"?

    • tambalearse dice:

      Sigue la excavación arqueológica de "laplink" 🙂

      • Feinfinger dice:

        ¡Todavía tengo un cable "PLIP" (LapLink (?)).
        Pero olvidé si es PLIP4 o PLIP8 ... 🙁
        ... Necesito comprobar eso algún día.
        ¿Quizás debería enviarlo a un museo de informática?

        ¡No!
        ¡Todavía tengo algunos veteranos con parports!
        ¡Solo por diversión!

        De acuerdo ... Si encuentro un doble (¡Soy un camarógrafo tímido!), El artículo "chico recupera IP sobre parport" se puede hacer ... 😛

        • RW versión 0.0.1 dice:

          Bueno, si lo conectas desde un viejo XT a un portátil PIII o algo similar y explota el puerto XT, era de 8 bits.

          PLIP usado mucho en el día, sin embargo, puede ser útil.

          • RW versión 0.0.1 dice:

            Ah, y no puedo entender si todos confunden ECP y EPP o si solo fui yo, porque cada vez que lo veo, es la última vez que lo vi.

  • Owen dice:

    Como se mencionó anteriormente, hay muchas soluciones posibles para Debian ...

    1. pantalla (pantalla / dev /)
    2. Minicom (emulador final de código libre similar al antiguo programa de MS-DOS "Telix")
    3. kermit y / o wermit
    4. Buen viejo 'cu'
    5. masilla
    6. Buen viejo "consejo"

    Para empeorar las cosas, el código anterior parece estar orientado linealmente en el lado host-> serie mientras que un carácter está orientado en el lado serial-> host y usa dos procesos para hacer lo que se debe hacer simplemente usando select () en un bucle.

    • RTFA dice:

      ¿Has probado siquiera a leer? No tiene forma de instalar paquetes adicionales en el sistema.

      • Stephen Warren dice:

        TFA hace esa afirmación pero no la respalda en absoluto. Huele a BS. Si se ha instalado Debian, por supuesto, puede instalar un nuevo programa; el disco es claramente grabable, por lo que incluso si apt no funciona por alguna razón inexplicable, al menos dpkg -x picocom * .deb lo haría.

    • zoobab dice:

      Olvidas Picocom, que podría ser el número 2 en términos de uso. La pantalla fue una revolución surgida de la pesadilla de la configuración de minicom.

  • Traumflug dice:

    ¡Felicitaciones porque los transformaste en noticias de Hack Today con dos líneas de código!

  • Simulador dice:

    Enlace de pedido Retro Wifi SI: https://www.simulant.uk/shop/retro-vintage-computer-wifi-modem-rs232-serial-hayes-compatible

Gloria Vega
Gloria Vega

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *