KVM utiliza muchos arduinos

La plataforma Arduino es una de las placas de microcontroladores más versátiles disponibles, con muchas formas y tamaños diferentes perfectos para todo, desde el parpadeo de algunos LED hasta la robótica y los sistemas completos de automatización del hogar. Una de sus características más sutiles es la capacidad de usar sus bibliotecas en serie para manejar las tareas de las teclas y el mouse. Si bien esto se puede utilizar para implementaciones HID básicas, [Nathalis] pasos adicionales usando una serie de Arduinos como un conmutador KVM; aunque ciertamente todavía sin el metraje de video y la función del mouse.

Para empezar, Arduino Uno acepta entradas de un teclado que maneja las señales seriales entrantes del teclado. A partir de ahí, dos Arduino Pro Micros se conectan en paralelo y reciben señales del Uno para enviarlas a sus respectivas computadoras. La tecla de desplazamiento, que no hace mucho en la era moderna más que una hoja de cálculo de Excel frustrada, es el cambio entre las dos salidas. Todo es USB HID estándar, por lo que debe ser compatible con casi todo lo que existe. Todos los códigos fuente y esquemas están disponibles en el repositorio del proyecto para cualquiera que quiera jugar en casa.

Usar un Arduino para copiar un dispositivo de entrada USB no tiene que ser completamente funcional y sin juegos, el mismo concepto básico también se puede usar para construir controladores de juguete personalizados.

  • Jeroen dice:

    Noté en el código fuente que parece que el teclado real se está ejecutando en modo PS / 2, por lo que las etiquetas Data – / + son un poco incorrectas.

  • Jeroen dice:

    Uno de los dos Arduino Pro Micros también puede interactuar fácilmente con un teclado y mouse PS / 2, lo que ahorra un Arduino Uno. Entonces tampoco hay necesidad de una serie blanda. Arduino Pro Micro debe poder imitar un teclado y un mouse HID al mismo tiempo.

  • LWATCDR dice:

    ¿KVM no significa teclado, video y mouse?
    Creo que PiZero y hub serían una mejor solución. Sé que el Pi puede funcionar como un HID, por lo que la pregunta es si puede hacer ambas cosas al mismo tiempo. El tiempo inicial, por supuesto, sería mucho más largo y admito que usar un sistema Linux completo como KVM es realmente estúpido.

    • fpgcomputadora dice:

      FYI: Mi proyecto KVM cambia video HDMI, USB a mouse + teclado. Utilizo un conmutador HDMI de $ 10 + PS / 2 a USB para teclado, USB MUX y un solo microcontrolador STM8.

      https://github.com/FPGA-Computer/KVM-Switch

    • Chris J dice:

      Me imagino que planea agregar esas características más adelante. Si solo quisiera cambiar el teclado, podría usar un solo interruptor de dos polos. Antes de que alguien me diga que necesita cambiar la potencia y no solo las líneas de datos, lea esto. https://la-tecnologia.com/2016/11/12/diy-kvm-switch-lets-you-use-one-keyboard-and-mouse-with-multiple-computers/

  • reg dice:

    Realmente cambiar KVM sin el video y el mouse es tan útil como los pares en un toro. Sin mencionar que puedes conseguirlos por muy poco en este momento. Demonios, conseguí un KVM basado en IP de centro de datos usado por $ 30 en eBay hace unos años. Ejecuta el cliente en cualquier red informática y tiene el KVM en una ventana al alcance de su mano. También tengo una regleta de enchufes de control remoto que es similar, pero sin clientes (tiene su propia interfaz basada en web). Con ellos dos, casi nunca tengo que entrar en mi pequeña sala de máquinas.

  • Ø dice:

    Los demás se utilizan como esclavos USB.
    Y debido al diseño USB estándar, buena suerte al comunicarse con muchas computadoras sin tener controladores USB dedicados.
    Este enfoque también lo hace escalable si la desventaja es que no admite entrada USB y salida PS / 2.

    • fpgcomputadora dice:

      De hecho, es bastante fácil porque he construido mi propio KVM y lo he usado durante algunos años. Piensas demasiado con todo tu Arduino.

      El interruptor de video se realiza con un interruptor HDMI de $ 10 y dirigí su señal de control MUX a un USB MUX. El interruptor (con su firmware interno) puede detectar cuando una computadora está encendida y encender la fuente de entrada visual a ella. El USB MUX conecta un concentrador con el mouse + teclado a la computadora a través del video activo. El lado del sistema operativo maneja la conexión / desconexión USB. Mi microcontrolador STM8 hace poco más que monitorear el teclado PS / 2 y recodificar las señales de control MUX y

      https://github.com/FPGA-Computer/KVM-Switch

      • Palmadita dice:

        La ventaja de tener muchos esclavos USB activos es que * no * se conectan / desconectan, lo que puede ser un problema en algunos casos (el conteo / carga de USB lleva un tiempo macroscópico). Un microcontrolador con soporte USB casi cuesta el equivalente a un USB MUX.

        • fpgcomputadora dice:

          Solo necesito un solo USB MUX para todo el proyecto que admite 3 computadoras. Vi un MUX más grande. Me permitió cambiar el concentrador o cualquier dispositivo conectado. Si quiero cambiar mi herramienta JTAG u otros dispositivos, podría simplemente conectarlo al concentrador. Conectarse / desconectarse sin duda lo haría un poco más difícil, pero puedo manejar eso.

          Se necesita muy poca codificación en mi proyecto. Incluso podría dejar mi microcontrolador encendido y presionar el botón en mi interruptor HDMI manualmente.

          El diseño OP necesita un microcontrolador para que una computadora funcione como un dispositivo USB si lo leo correctamente y no te permite omitir el cambio de teclado / mouse o cualquier dispositivo que emule el microcontrolador.

        • Ø dice:

          Sí, esto rápidamente se convierte en un dolor en los glúteos definidos.
          Confiar en el conector de calor USB es como una ruleta rusa con ventanas, porque cuando finalmente esperas que funcione a la perfección, cumple toda la ley de Murphy sobre ti.
          Tuve una situación en la que tuve que cambiar entre dos puertos USB separados en la misma computadora, ya que era mejor que Microsoft decidiera no incluir más un teclado o mouse básico en ese puerto.

        • fpgcomputadora dice:

          El sistema operativo que maneja las cosas incorrectamente significa que el sistema operativo es el culpable del cumplimiento de USB. No puede continuar corrigiendo errores de otras personas porque aún pueden afectarlo de otras maneras. La conexión / desconexión del teclado / mouse funciona bien, pero es posible que otros dispositivos, como los dispositivos de memoria / audio que aún utilizan los usuarios, no lo hagan.

          Por cierto, tuve problemas con los controladores MS USB3 para Ryzen después de las últimas actualizaciones de win10. Afecta no solo a la conexión / desconexión USB, sino al reinicio del inicio de sesión después de la sesión RDP. Tuve que reiniciar la máquina. Todo desapareció después de forzar manualmente una actualización con el controlador AMD destinado a Win7. Este problema no es tan fácil de buscar en Google y no afecta a ninguna de mis computadoras más antiguas con win10.

        • Palmadita dice:

          “El sistema operativo maneja mal las cosas significa que el sistema operativo es el culpable del cumplimiento de USB”.

          Por lo tanto, puede presentar un error al proveedor del sistema operativo, esperar años para que lo ignoren … o tomar tres cosas sobre las que está mintiendo y resolver el problema.

          Muchos piratas informáticos tienen las cosas por ahí que usaba este tipo. Es casi seguro que más personas tienen estas cosas que el software multiplexor USB. Nada en su diseño tiene un propósito especial, lo que significa que literalmente no gastó * nada * en él: todo el diseño puede destruirse y reutilizarse para algo completamente no relacionado con USB.

          El USB es un protocolo básico, lo que significa que en cualquier momento ocurren problemas extravagantes, caprichos y cosas horribles. A veces, la solución más “elegante” o “simple” simplemente no funciona, así que vaya con eso.

          El problema aquí no significa que una solución sea mejor. Decir que afirmar que “esta solución es demasiado compleja, es más simple” pierde completamente el sentido de los árboles.

      • limroh dice:

        Ligeramente OT.

        > Esta es la razón por la que necesito compilar en la computadora # 1 a través de KVM en el compilador de demostración C con licencia LMFlex que no funciona en la conexión RDP. 🙁

        ¿Has probado VNC? / Tight- / UltraVNC tienen controladores de espejo que facilitan el trabajo con él (?).

        • fpgcomputadora dice:

          Ahora se han trasladado a un sistema automático probablemente debido a la cantidad de solicitudes. Simplemente obtengo más licencias de compilación “gratuitas” para mis computadoras. 😉

          No toco VNC en mucho tiempo porque me gusta RDP.

      • JUSTIN SHAW dice:

        ¡Dame 3 arduinos sobre FPGA todos los días de la semana!

  • Danjovic dice:

    Es un proyecto extraño y genial al mismo tiempo. Extraño en el sentido de que poca gente pensaría en coleccionar 3 placas Arduino para un mismo proyecto y te felicito por no tener inercia psicológica. Es bueno raro, no malo raro.

    Es genial al mismo tiempo, ya que muchas veces necesito cambiar el dongle inalámbrico entre diseños de computadora en mi escritorio, cada uno con su propio estándar de video, a veces VGAxDVI y otro VGAxHDMI, y no conozco ningún KVM barato que pueda hacer ambas (en al menos nada más barato que las 3 placas arduino)

    • Nathan dice:

      DVI y HDMI tienen el mismo protocolo / señales eléctricas bajo el capó. Debido a esto, puede obtener adaptadores pasivos económicos entre los dos conectores.
      Entonces, una unidad con 2 hdmi o 2 dvi funcionaría.
      El único inconveniente es que DVI no suena como hdmi.

    • fpgcomputadora dice:

      Las pantallas con múltiples fuentes de video podrían funcionar fácilmente como un KVM económico si también tuvieran un USB MUX en su interior.

    • Lee Studley dice:

      “Inercia psicológica” Entiendo que puede impedir que saltes bien dicho. ¿Encontraste una buena manera de sortear un “bloqueo de implementación”? Por lo general, busca la perfección …

  • Capitán McAllister dice:

    Hey hombre. Sea genuino aquí, pero no dude en comentar los proyectos que no le gusten.

    • Un hombre viejo dice:

      Por favor, no comente comentarios que no le gusten. El verdadero problema aquí, como sucede a menudo, es el título: no es “KVM”, es “K”.

      • Alan dice:

        Imagina tener tanto tiempo y enfado que estás furioso por publicar sobre el pasatiempo de alguien.

  • Hasan dice:

    Construye una empresa como Microsoft y luego comenta cómo te fue …

  • Kyle K dice:

    un montón de arduinos es bastante fácil de volver a un montón de arduinos

  • Rob B dice:

    Bill, creo que el sitio que estás buscando es AliExpress, no La-Tecnologia. Sheeze.

  • Rob B dice:

    Bill Mi Creo que el sitio que estás buscando es AliExpress, no La-Tecnologia. Sheeze

  • Yorr Mayker dice:

    Eso es caro ..?

  • gipetto dice:

    Supongo que podría crear un teclado personalizado con dos mcus para hacer lo mismo, pero siempre he escuchado que las fuentes atx no tienen que coincidir. quizás no sea un problema a los bajos niveles actuales.

  • echodelta dice:

    Tengo un módulo de dongle bidireccional KVM gratuito que usa la tecla de desplazamiento para cambiar todo. Fue conveniente hasta que esos PS-2 violeta y azul verdoso pasaron junto con VGA.

    Con 2 teclados USB en una computadora, noté que esos 3 indicadores encienden una tecla de desplazamiento, etc., ambos encendidos o apagados juntos. Tomé un teclado USB basura y conecté un relé y un transistor a la luz de la tecla de desplazamiento y lo habilité al sintonizador lejos de la mesa de la computadora. Transformó una tecla inútil en un botón de silencio para la radio que se mezcla con el sonido de la computadora, ahora al alcance de mi mano.

    Solo un problema, Linux parece ignorar la respuesta de la tecla de desplazamiento para que la luz se encienda y apague. Los otros dos todavía funcionan, por lo que el bloqueo numérico está silenciado porque rara vez lo uso.

  • José M. D dice:

    ¿No sería mucho más fácil cambiar las líneas USB D + / D con MOSFET de alta velocidad adecuados?

    • ziew dice:

      Más fácil, sí, pero esperar a que el teclado USB sea detectado y configurado correctamente cada vez que cambie probablemente volvería loco al usuario.

      • fpgcomputadora dice:

        Para KVM con capacidad de video cuando la pantalla se sincroniza después de un cambio en la fuente de video, la configuración ha finalizado. 😉

        • ziew dice:

          No lo pensé. La última vez que usé KVM, era una caja de metal con un interruptor analógico. Sin embargo, con HDMI y DIsplayPort, las cosas se han vuelto más civilizadas. Estúpido yo 😉

    • fpgcomputadora dice:

      Hice exactamente eso con un MUX con clasificación USB2.0 480Mbps adecuado. Estas partes están hechas para aquellos puertos móviles de audio y serie a conectores USB. La capacitancia discreta del MOSFET es un poco alta para cualquier velocidad por encima de USB1.1. Cambio el concentrador y cualquier cosa en él.

  • Un hombre viejo dice:

    Ahhhh, la vieja censura de HaD en dos etapas.

    • Elliot Williams dice:

      ??

  • zoobab dice:

    O use 2x ESP8266 con espusb:

    https://github.com/cnlohr/espusb

    Se comporta como un teclado oculto:

    Cambiar entre uno u otro solo puede conectarse a otra dirección IP.

  • ele dice:

    “Utilice una serie de Arduinos como conmutador KVM; aunque ciertamente todavía sin la función de video y mouse”.
    Entonces es un interruptor K.

  • Sjoer van der Ploeg dice:

    El bloqueo de desplazamiento evita que su terminal se mueva

  • Rico dice:

    Esto es solo K, no KVM: sin video, sin mouse, sin beneficios.

  • Henk Jan van der Pol dice:

    Me gusta el proyecto. A pesar de todas las respuestas de que no hace V y M, no obstante es creativo y muy divertido. Y una gran idea para elegir para 3 Arduino.

  • Robonater dice:

    Me gusta! Y gracias por poner el código y los esquemas en GitHub. Y con una bonita licencia MIT, ¡gracias de nuevo! También gracias al otro comentarista que publicó su proyecto similar. Encuentro que el Arduino es más útil para mis propios proyectos, ya que tengo alrededor de una docena de clones de Arduino diferentes, e incluso más chips ATtiny y ATmega desnudos, por lo que podría agotar algunos conectores y armar esto rápidamente en mi garaje sin mendi. . Mux USB o algo más. Hay miles de millones de formas de resolver un problema y, para algo que no es demasiado importante, ¿por qué no utilizar las herramientas que ya conoce y tiene?

Alana Herrero
Alana Herrero

Deja una respuesta

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