# Control de dispositivos astronómicos con INDI

&kstars; proporciona una interfaz para configurar y controlar instrumentos astronómicos mediante el protocolo INDI.

El protocolo INDI funciona con diversos instrumentos astronómicos, como cámaras CCD y enfocadores. Para una lista actualizada de dispositivos permitidos, visite la página de dispositivos permitidos de INDI.

## Configuración de INDI

&kstars; puede controlar dispositivos locales y remotos de forma independiente mediante la arquitectura servidor/cliente INDI. Los dispositivos INDI pueden funcionar en tres modos distintos:

1. Local: el modo local es el más común y se utiliza para controlar dispositivos locales (&ie; un dispositivo conectado a su máquina).

2. Servidor: el modo servidor proporciona un servidor INDI para un dispositivo particular y espera conexiones provenientes de clientes remotos. No es posible operar dispositivos servidores; solo podrá iniciarlos y detenerlos.

3. Cliente: el modo cliente se usa para conectar a servidores INDI remotos que están ejecutando dispositivos INDI. No es posible controlar independientemente dispositivos remotos como si se tratara de dispositivos locales.

Puede ejecutar un dispositivo local, proporcionar servidores INDI y conectar con clientes remotos desde el Gestor de dispositivos en el submenú Herramientas Dispositivos.

A continuación se muestra una captura de la ventana del Gestor de dispositivos:

Ejecución de controladores de dispositivos
Iniciar controladores de dispositivos

Puede ejecutar dispositivos explorando el árbol de dispositivos, seleccionando a continuación un determinado dispositivo y pulsando luego el botón Ejecutar servicio. Puede seleccionar el modo de operación, tanto local como servidor, como se define más arriba. El número de puerto se genera aleatoriamente entre un intervalo de 7624 a 10000. Para especificar un puerto, haga clic sobre la columna de puertos junto al controlador deseado. &kstars; permite que se ejecuten diversos controladores en un mismo servidor INDI y, por lo tanto, un único puerto. Seleccione varios controladores y pulse a continuación el botón Ejecutar servicio.

Para controlar dispositivos remotos, consulte la sección control de dispositivos remotos.

## Configuración del telescopio

La mayor parte de los telescopios están equipados con una interfaz RS232 para ser controlados a distancia. Conecte la clavija RS232 de su telescopio a un puerto serie/USB de su equipo. Tradicionalmente, la clavija RS232 se conectaba a un puerto serie de su equipo, pero como muchos nuevos portátiles abandonaron el puerto serie en beneficio de los puertos USB/FireWire, tal vez necesite obtener un adaptador serie a USB para poder usarlo con los nuevos portátiles.

Tras conectar su telescopio al puerto serie/USB, encienda el telescopio. Se le recomienda encarecidamente que descargue e instale el último firmware para el controlador de su telescopio.

El telescopio necesita estar alineado antes de poder usarlo correctamente. Alinee el telescopio (alineación con una o dos estrellas) siguiendo el modo descrito en su manual.

&kstars; necesita verificar las preferencias de hora y posición antes de conectar con el telescopio. Esto asegura un correcto seguimiento y la sincronización entre el telescopio y &kstars;. Los siguientes pasos le permitirán conectar con un dispositivo controlado por su equipo. Para conectar y controlar dispositivos remotos, consulte la sección control de dispositivos remotos.

Puede usar el asistente de configuración del telescopio para verificar toda la información necesaria para este proceso. Este asistente buscará telescopios conectados a cualquier puerto. Puede lanzar el asistente seleccionando Asistente del telescopio en el menú Dispositivos.

De forma alternativa, puede conectar con un telescopio local realizando los siguientes pasos:

1. Fije su posición geográfica. Abra la ventana Fijar posición geográfica... seleccionando Posición geográfica... en el menú Preferencias o pulsando el icono del globo que hay en la barra de herramientas; también puede pulsar &Ctrl;G.

2. Fije su fecha y hora local. Puede cambiar a cualquier fecha u hora seleccionando Establecer tiempo... en el menú Tiempo o pulsando el botón Tiempo que hay en la barra de herramientas. La ventana Establecer la fecha y la hora usa un selector de fechas estándar de &kde;. Si alguna vez necesita restablecer el tiempo a la hora actual, seleccione Establecer tiempo a ahora en el menú Tiempo.

3. Pulse sobre el submenú Herramientas Dispositivos y seleccione Gestor de dispositivos.

4. Seleccione su modelo de telescopio en la columna Dispositivo.

5. Pulse el botón Ejecutar servicio.

6. Pulse Cerrar para salir del diálogo del gestor de dispositivos.

### Preferencias frecuentes

No necesita establecer la posición geográfica y la hora cada vez que conecte un telescopio. Ajuste únicamente las preferencias que necesite.

Ahora está preparado para usar las funciones del dispositivo. &kstars; proporciona dos interfaces de usuario intercambiables para controlar telescopios:

### Control del telescopio

1. Control del mapa del cielo: Para cada dispositivo que ejecute en el Gestor de dispositivos se mostrará una entrada correspondiente en el menú emergente que le permitirá controlar las propiedades del dispositivo. Puede lanzar órdenes como `Slew, Sync` y `Track` directamente desde el mapa del cielo.

   Esta es una captura del menú emergente con un dispositivo LX200 Classic activo:

   Control de dispositivos desde el mapa del cielo

2. Panel de control INDI: este panel proporciona al usuario todas las funciones permitidas por un dispositivo.

   El panel está dividido en tres secciones principales:

   - Pestañas del dispositivo: cada dispositivo activo adicional ocupa una pestaña en el panel INDI. Se pueden ejecutar múltiples dispositivos de forma simultánea sin afectar la operación del resto de dispositivos.

   - Vistas de propiedades en las pestañas Control principal y Opciones: Las propiedades son los elementos clave en la arquitectura INDI. Cada dispositivo define una serie de propiedades para comunicarse con el cliente. La posición actual del telescopio es un ejemplo de propiedad. Las propiedades semánticamente similares están contenidas normalmente en bloques lógicos o agrupaciones.

   - Visor de registros: Los dispositivos informan de su estado y de las órdenes reconocidas enviando mensajes INDI. Cada dispositivo posee su propio visor de registro. Normalmente, un dispositivo envía mensajes únicamente a su propio controlador de dispositivo, aunque también se le permite enviar un mensaje general cuando resulta conveniente.

   Panel de control INDI

No está limitado a usar una interfaz en lugar de otra, ya que es posible usar ambas simultáneamente. Las acciones del mapa del cielo se reflejan automáticamente en el Panel de control de INDI y viceversa.

Para conectar su telescopio puede seleccionar Conectar en el menú emergente de su dispositivo, o bien pulsar el botón Conectar que encontrará en la pestaña de su dispositivo en el Panel de control de INDI.

De forma predeterminada, &kstars; intentará conectar con el puerto `/dev/ttyS0`. Para cambiar el puerto de conexión, seleccione Panel de control INDI en el submenú Herramientas Dispositivos y cambie el puerto en la pestaña del correspondiente dispositivo.

&kstars; actualiza automáticamente la longitud, latitud y la hora del telescopio según las preferencias actuales de &kstars;. Puede activar o desactivar esto usando la pestaña INDI del submenú Preferencias Configurar &kstars;.... En la pestaña INDI puede configurar &kstars; para que muestre o no mensajes de estado de INDI en la barra de estado. Por omisión, los números de los puertos del servidor INDI poseen valores entre 7624 y 9000, pero puede cambiar este intervalo usando los cuadros de texto Desde y Hasta de la sección Puerto del servidor.

Si &kstars; consigue comunicarse con éxito con el telescopio, obtendrá la AR y la DEC del mismo y mostrará una cruceta en el mapa del cielo para indicar la posición del telescopio. Puede ocultar la cruceta que marca la posición del telescopio usando la pestaña INDI del submenú Preferencias Configurar &kstars;....

### Sincronización del telescopio

Si ya alineó su telescopio y la última estrella usada para la alineación fue, por ejemplo, Vega, la cruceta debería estar centrada en Vega. Si la cruceta está fuera del objetivo, puede pulsar sobre Vega en el mapa con el botón derecho del ratón y seleccionar `Sync` en el menú de su telescopio. Esta acción indicará al telescopio que sincronice sus coordenadas internas para que coincidan con las de Vega, con lo que la cruceta del telescopio debería aparecer ahora centrada en Vega.

Ya está: su telescopio está preparado para explorar los cielos.

### ADVERTENCIA

Nunca use el telescopio para mirar al Sol. Mirar al Sol puede causar daños irreversibles en sus ojos y en su equipo.

## Configuración de CCD y de captura de vídeo

Puede ejecutar dispositivos CCD y de captura de vídeo desde Gestor de dispositivos, en el submenú Herramientas Dispositivos. Al igual que todos los dispositivos INDI, podrá acceder a algunos de los controles de los dispositivos desde el mapa del cielo. El dispositivo se puede controlar totalmente desde el Panel de control INDI.

FITS es el formato estándar de las capturas de imagen. Una vez que se ha capturado y descargado una imagen, esta será mostrada automáticamente por el visor FITS de &kstars;.

## Configurar INDI

La página de INDI le permite modificar opciones específicas de INDI en la parte cliente. Para acceder a ellas, seleccione la pestaña INDI del diálogo que se muestra al usar la opción Preferencias Configurar &kstars;.... La ventana se divide en varias categorías principales: «General», «Actualizaciones del dispositivo», «Pantalla» y «Puerto del servidor»:

- General

  - `Servidor INDI:` indica el archivo binario del servidor INDI instalado en su sistema. Por omisión, &kstars; usa el archivo «/usr/bin/indiserver».

  - `Directorio de controladores INDI:` indica el directorio de su sistema donde están situados los controladores INDI. Por omisión, &kstars; usa el directorio «/usr/share/indi».

  - `Carpeta FITS por omisión:` Especifica la carpeta donde se guardarán las imágenes FITS capturadas. Si no se especifica ninguna, las imágenes se guardarán en $HOME.

- Actualizaciones del dispositivo

  - `Computadora:` usar las preferencias de hora y de posición de su equipo para sincronizar el dispositivo.

  - `Dispositivo:` usar las preferencias de hora y de posición del dispositivo para sincronizar su equipo.

  - `Tiempo:` Actualiza la fecha y hora del telescopio, si está permitido, tras la conexión.

  - `Posición geográfica:` Actualiza la información sobre la posición geográfica del telescopio (la longitud y latitud actuales), si está permitido, tras la conexión.

- Pantalla

  - `Cruceta del Telescopio:` Cuando está marcada, &kstars; muestra la cruceta del objetivo del telescopio en el mapa del cielo. La cruceta se muestra tras una conexión exitosa con el telescopio, y su posición se actualiza periódicamente. El nombre del telescopio se muestra junto a la cruceta. &kstars; muestra una cruceta por cada telescopio conectado. Para cambiar el color de la cruceta del telescopio, abra la ventana Configurar &kstars;. Seleccione la sección Colores y cambie a continuación el color del elemento indicador de objetivo.

  - `Mensajes de INDI en la barra de estado:` Cuando está marcado, &kstars; muestra mensajes de estado INDI en la barra de estado de &kstars;.

- Puerto del servidor: Especifique un intervalo de puertos a los que enlazará el servidor INDI cuando inicie nuevos controladores.

## Conceptos INDI

El concepto clave principal de INDI es que los dispositivos tienen la capacidad de describirse a sí mismos. Esto se consigue usando XML para describir una jerarquía general que puede representar dispositivos tanto canónicos como no canónicos. En INDI, todos los dispositivos pueden contener una o más propiedades. Una propiedad puede contener uno o más elementos. Existen cuatro tipos de propiedades INDI:

- Propiedad de texto.

- Propiedad numérica.

- Propiedad conmutable (representada en la interfaz mediante botones y casillas).

- Propiedad luminosa (representada en la interfaz mediante LED de colores).

Por ejemplo, todos los dispositivos INDI comparten la propiedad conmutable estándar «CONNECTION». Esta propiedad tiene dos elementos: los conmutadores «CONNECT» y «DISCONNECT». &kstars; analiza la descripción XML general de las propiedades y construye una representación de una interfaz gráfica de usuario apropiada para la interacción humana directa.

El panel de control INDI ofrece muchas propiedades de dispositivo a las que no se puede acceder desde el mapa del cielo. Las propiedades que se ofrecen difieren de un dispositivo a otro. No obstante, todas las propiedades comparten características comunes que limitan la forma en que se muestran y cómo se usan:

- Permisos: Todas las propiedades pueden ser de solo lectura, de solo escritura y con permiso de lectura y escritura. Un ejemplo de una propiedad de lectura y escritura es la ascensión recta del telescopio. Puede introducir una nueva ascensión recta y el telescopio, basado en las preferencias actuales, se desplazará o se sincronizará al nuevo dato introducido. Aún más, cuando el telescopio se desplaza, su ascensión recta se actualiza y se envía de vuelta al cliente.

- Estado: Existe un indicador de estado (LED redondo) prefijado para cada propiedad. Cada propiedad posee un estado y un código de color asociado:

  ### Código de colores de estado INDI

  Estado | Color | Descripción
  --- | --- | ---
  Inactivo | Gris | El dispositivo no está realizando ninguna acción con respecto a esta propiedad
  Ok | Verde | La última operación realizada sobre esta propiedad se realizó con éxito y sigue activa
  Ocupado | Amarillo | La propiedad está realizando una acción
  Alerta | Rojo | La propiedad está en condición crítica y necesita atención inmediata

  El controlador del dispositivo actualiza el estado de la propiedad en tiempo real cuando es necesario. Por ejemplo, si el telescopio se está desplazando a un objetivo, las propiedades RA/DEC recibirán la señal Ocupado. Cuando el desplazamiento se haya completado con éxito, las propiedades recibirán la señal Ok.

- Contexto: Las propiedades numéricas pueden aceptar y procesar números en dos formatos: decimal y sexagesimal. El formato sexagesimal resulta conveniente cuando se expresan horas o coordenadas ecuatoriales o geográficas. Puede usar el formato que más le convenga. Por ejemplo, todos los números siguientes son idénticos:

  - -156.40

  - -156:24:00

  - -156:24

- Hora: La hora estándar que se usa para todas las comunicaciones relacionadas con INDI es la Hora Universal UTC, especificada como AAAA-MM-DDTHH:MM:SS, según la ISO 8601. &kstars; comunica la hora UTC correcta a los controladores de dispositivo automáticamente. Puede activar o desactivar las actualizaciones de hora automáticas en la página INDI del diálogo de preferencias.

## Control de dispositivo remoto

&kstars; proporciona una capa simple, aunque potente, para controlar dispositivos remotos. Una descripción detallada de esta capa se describe en el libro blanco de INDI.

Necesita configurar tanto la máquina servidora como la cliente para el control remoto:

1. Servidor: Para preparar un dispositivo para control remoto, siga los mismos pasos que en la configuración local/servidor. Cuando inicie un servicio para un dispositivo en el Gestor de dispositivos, se mostrará un número de puerto en la columna Puerto. Además de este número de puerto, también necesita el nombre de máquina o la dirección IP de su servidor.

2. Cliente: Seleccione el Gestor de dispositivos en el submenú Herramientas Dispositivos y pulse sobre la pestaña Cliente. Puede añadir, modificar o borrar máquinas en la pestaña Cliente. Añada una máquina pulsando el botón Añadir. Introduzca el nombre de máquina o la dirección IP del servidor en el campo Servidor, e introduzca el número de puerto de la máquina servidora obtenido en el paso 1.

Cliente INDI

Tras añadir un servidor, pulse sobre él con el botón derecho del ratón para Conectar o Desconectar. Si se ha establecido una conexión, puede controlar el telescopio desde el mapa del cielo o desde el Panel de control INDI exactamente como se describe en la sección local/servidor. Es tan sencillo como eso.

### Ejecución de un servidor INDI desde la consola

Aunque &kstars; le permite establecer fácilmente un servidor INDI, también puede lanzar un servidor INDI desde la línea de órdenes.

Debido a que INDI es un componente de motor independiente, es posible ejecutar un servidor INDI en un servidor sin &kstars;. Se puede compilar INDI por separado para ser ejecutado en máquinas remotas. Además, los controladores de dispositivo envían mensajes a `stderr`, algo que puede resultar útil en una situación de depuración. La sintaxis para lanzar un servidor INDI es la siguiente:

$ `indiserver` [opciones] [`controlador` ...]

Opciones:

-l d : registrar los mensajes del controlador en d/YYYY-MM-DD.islog

-m m : cerrar el cliente si genera más de estos MB (10 por omisión)

-p p : puerto IP alternativo (7624 por omisión)

-f ruta : Ruta FIFO para el inicio y apagado dinámico de los controladores.

-v : mostrar eventos clave, no tráfico

-vv : -v + contenido de los mensajes clave

-vvv : -vv + xml completo

driver : ejecutable o dispositivo@máquina[:puerto]

Por ejemplo, si desea iniciar un servidor INDI para ejecutar un controlador LX200 GPS y escuchar conexiones en el puerto 8000, tendría que ejecutar la siguiente orden:

$ `indiserver` -p 8000 `lx200gps`

### Operación remota segura

Suponga que queremos ejecutar un servidor INDI con controladores INDI en una máquina remota, `remote_host`, y conectarlo con &kstars;, que está ejecutándose en la máquina local.

Iniciaremos la sesión en la máquina remota, `remote_host`, desde la máquina local escribiendo:

$ `ssh` -L `puerto_local`:`remote_host`:`puerto_remoto`

Esto enlaza el `puerto_local` de la máquina local al `puerto_remoto` del `remote_host`. Tras iniciar la sesión, ejecute el servidor INDI en la máquina remota:

$ `indiserver` -p `puerto_remoto` [`controlador`...]

De nuevo en la máquina local, inicie &kstars;, abra el Gestor de dispositivos y añada una máquina en la pestaña Cliente. La máquina debe ser el servidor local (normalmente 127.0.0.1) y el número de puerto debería ser el `puerto_local` usado en los pasos anteriores. Pulse con el botón derecho del ratón en la máquina añadida y seleccione Conectar en el menú emergente. &kstars; conectará con el servidor INDI remoto de forma segura. La información del servidor se guardará para futuras sesiones.

## Preguntas frecuentes sobre INDI

¿Qué es INDI?

INDI es el protocolo de control Instrument Neutral Distributed Interface desarrollado por Elwood C. Downey del ClearSky Institute. &kstars; emplea controladores de dispositivos que son compatibles con el protocolo INDI. INDI tiene muchas ventajas, como un perfecto entendimiento entre dispositivos de hardware y controladores de software. Los clientes que usan los controladores de dispositivos (como &kstars;) no necesitan saber absolutamente nada sobre las capacidades de los dispositivos. &kstars; se comunica con los controladores de dispositivos durante su ejecución y construye una interfaz completamente dinámica basada en los servicios que proporciona el dispositivo. Por tanto, se pueden escribir nuevos controladores de dispositivos o actualizar los existentes y &kstars; puede aprovecharlos sin realizar ningún cambio en la parte cliente.

¿Está previsto que funcionen más dispositivos?

Sí. Planeamos implementar las principales cámaras CCD y enfocadores, e incorporar más telescopios. Si le gustaría que INDI funcionara con un dispositivo particular, envíenos un email a indi-devel@lists.sourceforge.net.

¿Qué operaciones proporciona &kstars; para controlar el telescopio?

Depende del telescopio particular que esté usando, pero las tres operaciones mínimas son `Slew`, `Track` y `Sync`, que puede lanzar directamente desde el mapa del cielo. Su telescopio debe estar alineado para que estas operaciones se realicen correctamente. Algunos telescopios le ofrecerán más operaciones, como gestión del sitio, modos de desplazamiento, enfoques, aparcado y demás. Puede acceder a las características extendidas del telescopio desde el «Panel de control INDI» en el submenú Herramientas Dispositivos.

¿Qué diferencia hay exactamente entre `Slew`, `Track` y `Sync`?

La orden `Slew` hace que el telescopio se desplace a un objetivo particular y, una vez en él, mantenga el seguimiento de dicho objetivo a un ritmo sideral (es decir, el ritmo al que las estrellas se mueven en el cielo). Esto funciona bien con estrellas, objetos Messier y con cualquier cosa que esté fuera de nuestro Sistema Solar). Pero los objetos del Sistema Solar viajan de un modo diferente a través del cielo, por lo que usamos la orden `Track` con ellos para seguir su movimiento.

Por lo tanto, necesita emitir una orden «track» si desea seguir un objeto que tenga un movimiento no sideral. Por el contrario, la orden `Sync` se usa para sincronizar las coordenadas internas del telescopio con las de un objeto que haya seleccionado usted.

¿Puedo controlar mi telescopio de forma remota?

Sí. Puede iniciar un servidor INDI en la máquina conectada a su telescopio y el servidor escuchará las peticiones de los clientes de &kstars;. Una vez conectado, podrá controlar su telescopio directamente desde el mapa del cielo. Este procedimiento se describe con detalle en la sección Control de dispositivos remotos.

Cuando intento Conectar, &kstars; informa que el telescopio no está conectado al puerto serie/USB. ¿Qué puedo hacer?

Este mensaje se muestra cuando &kstars; no puede comunicarse con el telescopio. Estas son algunas cosas que puede hacer:

1. Compruebe que tiene permisos de lectura y escritura en el puerto al que intenta conectarse.

2. Compruebe el cable de conexión, asegúrese de que está en buen estado y pruébelo con otras aplicaciones.

3. Compruebe que su telescopio está enchufado, que la fuente de alimentación está encendida y que el telescopio está recibiendo suficiente energía.

4. Indique el puerto correcto en el Panel de control INDI del menú Dispositivos. El dispositivo por omisión es `/dev/ttyS0`

5. Reinicie &kstars; y pruebe de nuevo.

&kstars; informa que el telescopio está encendido y preparado, pero no puedo encontrar la cruceta del telescopio. ¿Dónde está?

&kstars; obtiene las coordenadas AR y Dec tras la conexión. Si se realizó la alineación correctamente, debería ver la cruceta sobre el objetivo en el mapa del cielo. No obstante, las coordenadas AR y Dec proporcionadas por el telescopio pueden ser incorrectas (e incluso por debajo del horizonte), por lo que necesitará sincronizar su telescopio con su objetivo actual. Puede usar el menú del botón derecho del ratón para centrar y seguir la cruceta del telescopio en el mapa del cielo.

El telescopio se mueve de forma errática o no se mueve en absoluto. ¿Qué puedo hacer?

Este comportamiento se debe principalmente a preferencias incorrectas. Compruebe la siguiente lista de verificaciones:

1. ¿Está el telescopio alineado?

2. ¿Es correcto el modo de alineación del telescopio? Utilice el Panel de control INDI para comprobar y cambiar estas preferencias (`Alt/Az, Polar, Land`).

3. ¿Ha establecido correctamente la fecha y hora del telescopio?

4. ¿Ha establecido correctamente la longitud y latitud del telescopio?

5. ¿Es correcto el desplazamiento UTC del telescopio?

6. ¿Están firmemente asegurados los ejes AR y DEC del telescopio?

7. ¿Está bien posicionado el conmutador N/S de su telescopio (cuando sea de aplicación) para el hemisferio en el que se encuentra?

8. ¿Está en buen estado el cable de conexión del telescopio a su equipo?

Si cree que todas las preferencias son correctas y el telescopio continúa moviéndose erráticamente o no se mueve en absoluto, envíe un informe a indi-devel@lists.sourceforge.net.