Ir al contenido principal

Raspberry Pi como hub USB con VirtualHere

En esta entrada resumo mi experiencia utilizando una Raspberry Pi 4B como hub USB sobre TCP/IP. En mi caso, que armo el telescopio en el patio, sin la protección de un techo y paredes, me permite operar desde la computadora en la comodidad de un escritorio dentro de casa. De esta manera la Raspberry Pi se conecta a la computadora por Ethernet sin las limitaciones de distancia que impone el USB y sin exponer la PC. La entrada no pretende ser un tutorial, si no simplemente describir la solución. No obstante, al final se bosquejan los pasos mínimos para que el lector autodidacta tenga una guía para implementarla.

Introducción

Cuando se empieza con fotografía del cielo, ya sea con fines artísticos o científicos, normalmente se lo hace con la computadora para controlar el equipamiento al lado del telescopio, exponiendo a ésta, y a quien opera, a un ambiente poco agradable en algunas épocas del año debido al frio, la humedad y el rocío. Una primera manera de resguardarse es poner un hub USB activo junto a los equipos e instalar la PC en el interior. No obstante, USB tiene algunas limitaciones y para que todo funcione correctamente, a las velocidades deseadas, es recomendable usar un cable USB de buena calidad y de una longitud máxima de 5m de la PC al concentrador. Existen soluciones de cables USB activos de mayores longitudes (15~20m) pero son costosos y a la larga presentarán limitaciones que el usuario debe evaluar.

Bajo este escenario, una alternativa es la que aquí se presenta, utilizar un concentrador USB sobre TCP/IP lo cual permite conectar virtualmente los dispositivos astronómicos a la computadora de control mediante Ethernet o Wi-Fi con menores limitaciones de distancia. Esta solución utiliza una Raspberry Pi 4B (RPI) y la aplicación VirtualHere.

Descripción

La imagen debajo muestra la arquitectura de la implementación. En el exterior se encuentra el telescopio con la Raspberry PI 4B montada en la base. Todos los dispositivos astronómicos, es decir, cámaras, enfocador electrónico, montura etc.; se conectan a los puertos USB de la Raspberry (de los cuales dispone tanto 2.0 como 3.0). Mediante TCP/IP esta se conecta a la computadora que está en el interior. En esta instalación se utilizó Ethernet ya que brinda mejores velocidades que Wi-Fi.  En la Raspberry, sobre un sistema operativo basado en Raspberry Pi OS, se ejecuta como servicio el Server USB VirtualHere. En la PC, en el interior, con sistema operativo Windows, se ejecuta el Cliente USB VirtualHere. Una vez que el cliente se conecta al server, en la PC de control se reconocen todos los dispositivos conectados a la Raspberry y pueden ser usados de manera transparente como si  estuviesen conectados a la misma computadora. En efecto, el sistema funciona como un hub USB.


Algunas consideraciones
  • La principal ventaja de esta solución es que mantienen los mismos drivers y software para los dispositivos astronómicos; ASCOM, EQMOD, PHD, etc. 
  • La conexión entre la PC de control y la Raspberry Pi puede ser punto a punto, o bien, para una solución mas flexible, se pueden conectar ambos elementos a un switch LAN.
  • VirtualHere tiene capacidad de encontrar al server cuando este tiene IP dinámica, no obstante para optimizar el proceso de búsqueda es conveniente configurar una IP fija en la Raspberry.
  • La versión libre de VirtualHere solamente permite usar un dispositivo USB a la vez. Para eliminar la restricción se debe adquirir una licencia que cuesta U$D49.
  • Se instaló Astroberry que es un servidor basado en Raspberry Pi OS al que se agregaron varios paquetes muy útiles para astronomía. Entre estos, INDI, hacia donde posiblemente migre en un futuro.

¿Cómo hacerlo?

En la Raspberry Pi:
  • Montar la imagen de Astroberry en una tarjeta SD, instalarla en la Raspberry Pi e iniciar el sistema operativo (link).
  • Instalar el server VirtualHere para Linux (link).
  • Conectar la Raspberry Pi a la misma red que la computadora de control. Configurar IP fija (opcional).
En la PC de Control:
  • Instalar el cliente VirtualHere para Windows (link).
  • Iniciar el cliente VirtualHere.
  • VirtualHere encontrará automáticamente al servidor. No obstante, si se ha configurado una IP fija en la Raspberry, se puede ingresar su IP para agilizar el proceso de búsqueda desde la opción Specify Hubs...
  • Comprar e instalar una licencia para VirtualHere. Se instala desde el cliente pero se aplica la Raspberry (link).
Finalmente conectar todos los dispositivos astronómicos a la Raspberry y habilitarlos para su uso desde la aplicación de Windows.

Comentarios

  1. Hola, gracias por tu blog. Crees que con una raspberry 3b+ también se pueda?

    ResponderBorrar
    Respuestas
    1. Si, totalmente, en la web de VirtualHere podes ver que incluso funciona con las versiones anteriores.

      Borrar

Publicar un comentario