Instrument Neutral Distributed Interface
   HOME

TheInfoList



OR:

Instrument Neutral Distributed Interface (INDI) is a
distributed control system A distributed control system (DCS) is a computerised control system for a process or plant usually with many control loops, in which autonomous controllers are distributed throughout the system, but there is no central operator supervisory contro ...
(DCS) protocol to enable control, data acquisition and exchange among hardware devices and software front ends, emphasizing astronomical instrumentation.


Introduction

Elwood Downey Elwood may refer to any one of the following:: Places ;In Australia *Elwood, Victoria ;In the United States of America * Elwood, Illinois * Elwood, Indiana *Elwood, Kansas * Elwood, Missouri * Elwood, Nebraska * Elwood-Magnolia, New Jersey * Elwoo ...
started the INDI Protocol initiative in 2003 to develop a platform and client independent control protocol. INDI is a simple protocol modeled on Extensible Markup Language (
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
), described for interactive and automated remote control of diverse instruments. It is small, easy to parse, and stateless. In the INDI paradigm, each ''Device'' poses all command and status functions in terms of setting and getting ''Properties''. Each Property is a vector of one or more named members, and has a current value vector; a target value vector; provides information about how it should be sequenced with respect to other Properties to accomplish one coordinated unit of observation; and provides hints as to how it might be displayed for interactive manipulation in a
graphical user interface The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
(GUI). Clients learn the Properties of a particular Device at runtime using introspection. This decouples Client and Device implementation histories. Devices have full authority over whether to accept commands from Clients. INDI accommodates intermediate servers, broadcasting, and connection topologies ranging from one-to-one on one type of system, to many-to-many between systems of different genre. The INDI protocol can be nested within other XML elements such as
Remote Telescope Markup Language The Remote Telescope Markup Language (RTML) is an XML dialect for controlling remote and/or robotic telescopes. It is used to describe various telescope parameters (such as coordinates and exposure time) to facilitate observation of selected target ...
(RTML) to add constraints for automatic scheduling and execution.


Architecture

The main key concept in INDI is that devices have the ability to describe themselves. This is accomplished by using
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
to describe a generic hierarchy that can represent both canonical and non-canonical devices. In INDI, all devices may contain one or more properties. Any property may contain one or more elements. A property in the INDI paradigm describes a specific function of the device. There are five types of INDI properties: *Text property *Number property *Switch property – represented in GUI by buttons or check boxes *Light property – represented in GUI by colored LEDs *Blob property – binary data INDI provides powerful scripting facilities that enable full device automation.


INDI Library

INDI Library is an implementation of the INDI wire protocol for
Unix-like A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
systems. It supports a wide variety of astronomical instruments including telescopes,
charge-coupled device A charge-coupled device (CCD) is an integrated circuit containing an array of linked, or coupled, capacitors. Under the control of an external circuit, each capacitor can transfer its electric charge to a neighboring capacitor. CCD sensors are a ...
s (CCDs), focusers, filters, and video capture devices. The INDI Library is licensed under the
GNU Lesser General Public License The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
(LGPL).


INDI Driver

INDI driver is the program that communicates directly to the device. It is responsible for controlling the device parameters and for defining them to clients. Drivers send a list of supported device properties to clients where they are parsed and presented to the end users.


INDI Clients

Clients are the software frontends that communicate with the hardware drivers. They usually communicate with INDI hardware drivers via INDI server, though they can communicate with the drivers directly. There are many types of clients, most notably: * Generic GUI clients like
KStars KStars is a freely licensed planetarium program using the KDE Platform. It is available for Linux, BSD, macOS, and Microsoft Windows. A light version of KStars is available for Android devices. It provides an accurate graphical representation ...
,
XEphem XEphem is a Motif based ephemeris and planetarium program for Unix-like operating systems developed by Elwood C. Downey. History XEphem started as a Unix and Motif conversion of the IBM PC-based '. It was initially released in December 1993 ...
, AstroImager, or AstroTelescope.AstroTelescope
/ref> Such clients generate a dynamic GUI to offer users a control panel to control the device. * Logger clients to record messages, alarms, and data exchanged between devices and clients. * Watch dog clients to ensure safe and proper operation of devices. * Automated scripts to carry on complex and coordinated operations on devices.


INDI Server

INDI server is the hub that sits between drivers and clients. It reroutes traffic for control and data across distributed networks. Each device or client in the network is a node and may communicate with other nodes whenever desired. The server supports broadcasting, chaining, and marshaling of data.


TCP/UDP port number assignment by IANA

The
Internet Assigned Numbers Authority The Internet Assigned Numbers Authority (IANA) is a standards organization that oversees global IP address allocation, autonomous system number allocation, root zone management in the Domain Name System (DNS), media types, and other Interne ...
(IANA) has assigned TCP/UDP port 7624 (
Transmission Control Protocol The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is commonly ...
and
User Datagram Protocol In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages (transported as datagrams in packets) to other hosts on an Internet Protocol (IP) network. ...
) for use by INDI. See
List of TCP and UDP port numbers This is a list of TCP and UDP port numbers used by protocols for operation of network applications. The Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP) only need one port for duplex, bidirectional traffic. They usually u ...
.


See also

*
Space flight simulation game A space flight simulation is a genre of flight simulator video games that lets players experience space flight to varying degrees of realism. Common mechanics include space exploration, space trade and space combat. Overview Some games in the ...
**
List of space flight simulation games This is a sourced index of commercial, indie and freeware space flight simulation games. The list is categorized into four sections: space flight simulators, space flight simulators with an added element of combat, space combat simulators with a ...
*
Planetarium software Planetarium software is application software that allows a user to simulate the celestial sphere at any time of day, especially at night, on a computer. Such applications can be as rudimentary as displaying a star chart or sky map for a specific t ...
* List of observatory software


References

{{Reflist


External links


INDI LibraryINDI Protocol white paperxINDI (INDI based tools for OSX) project pageiINDI (INDI control panel for iOS) project pagewINDI (ASCOM to INDI bridge) project page
Free astronomy software