1<chapter id="indi"> 2<title>Astronomical Device Control with <acronym>INDI</acronym></title> 3<indexterm><primary>INDI Control</primary> 4<secondary>Overview</secondary> 5</indexterm> 6 7<para>&kstars; provides an interface to configure and control astronomical 8instruments via the <acronym><link linkend="what-is-indi">INDI</link></acronym> 9protocol. 10</para> 11 12<para>The <acronym>INDI</acronym> protocol supports a variety of astronomical 13instruments such as CCD cameras and focusers. For an up to date list of supported 14devices, please visit <acronym>INDI</acronym> 15<ulink url="https://indilib.org/index.php?title=Devices">supported devices page</ulink>. 16</para> 17 18<sect1 id="indi-kstars-setup"> 19<title>INDI Setup</title> 20<indexterm><primary>INDI</primary> 21<secondary>Setup</secondary> 22</indexterm> 23<para> 24&kstars; can control local and remote devices seamlessly via the 25<link linkend="what-is-indi">INDI</link> server/client architecture. INDI devices 26may be run in three different modes: 27</para> 28 29<orderedlist> 30<listitem><para><guilabel>Local</guilabel>: The local mode is the most common and is used to control 31local device (&ie; a device attached to your machine). 32</para></listitem> 33 34<listitem><para><guilabel>Server</guilabel>: The server mode establishes an INDI server for a particular 35device and waits for connections from remote clients. You cannot operate server devices, 36you can only start and shut them down. 37</para></listitem> 38 39<listitem><para><guilabel>Client</guilabel>: The client mode is used to connect to remote INDI servers 40running INDI devices. You can control remote devices seamlessly like local devices. 41</para></listitem> 42</orderedlist> 43 44<para>You can run local device, establish INDI servers, and connect to remote clients 45from the <menuchoice><guimenu>Tools</guimenu> <guisubmenu>Devices</guisubmenu> 46<guimenuitem>Device Manager...</guimenuitem></menuchoice> menu item. 47</para> 48 49<para>Here is a screenshot of the <guilabel>Device Manager</guilabel> 50window: 51</para> 52 53<screenshot> 54<screeninfo>Running device drivers</screeninfo> 55<mediaobject> 56<imageobject> 57<imagedata fileref="devicemanager.png" format="PNG"/> 58</imageobject> 59<textobject> 60<phrase>Start device drivers</phrase> 61</textobject> 62</mediaobject> 63</screenshot> 64 65<para>You can run devices by browsing the device tree, selecting a specific device, 66and then clicking on the <guibutton>Run Service</guibutton> button. You can select 67the operation mode, either local or server as defined above. The port number is 68randomly generated between the range from 7624 to 10,000. To specify a port, click 69on the port column next to the desired driver. &kstars; allows multiple drivers to 70run under one INDI server, and hence one port. Select multiple drivers then press 71<guibutton>Run Service</guibutton> button. 72</para> 73 74<para>To control remote devices, refer to the 75<link linkend="indi-remote-control">remote device control</link> section. 76</para> 77</sect1> 78 79<sect1 id="indi-telescope-setup"> 80<title>Telescope Setup</title> 81<indexterm><primary>INDI</primary> 82<secondary>Setup</secondary> 83</indexterm> 84 85<para>Most telescopes are equipped with <hardware>RS232</hardware> interface 86for remote control. Connect the RS232 jack in your telescope to your 87computer's <hardware>Serial/&USB;</hardware> port. Traditionally, the RS232 88connects to the serial port of your computer, but since many new laptops 89abandoned the serial port in favor of <hardware>&USB;/FireWire</hardware> 90ports, you might need to obtain a Serial to &USB; adaptor to use with new 91laptops. 92</para> 93 94<para>After connecting your telescope to the Serial/&USB; port, turn your 95telescope on. It is <emphasis>highly</emphasis> recommended that you 96download and install the latest firmware for your telescope 97controller. 98</para> 99 100<para>The telescope needs to be aligned before it can be used properly. 101Align your telescope (one or two stars alignment) as illustrated in your 102telescope manual. 103</para> 104 105<para>&kstars; needs to verify time and location settings before connecting 106to the telescope. This insures proper tracking and synchronization between 107the telescope and &kstars;. The following steps will enable you to connect 108to a device that is connected to your computer. To connect and control remote 109devices, please refer to 110<link linkend="indi-remote-control">remote device control</link> section. 111</para> 112 113<para>You can use the Telescope Setup Wizard and it will verify all the 114required information in the process. It can automatically scan ports for 115attached telescopes. You can run the wizard by selecting the 116<menuchoice><guimenu>Devices</guimenu> <guimenuitem>Telescope Wizard</guimenuitem></menuchoice> menu item. 117</para> 118 119<para>Alternatively, you can connect to a local telescope by performing the 120following steps: 121</para> 122 123<orderedlist> 124<listitem><para>Set your geographical location. Open the 125<guilabel>Set Geographic Location</guilabel> window by selecting the 126<menuchoice><guimenu>Settings</guimenu> <guimenuitem>Geographic...</guimenuitem></menuchoice> 127menu item, or by pressing the <guiicon>Globe</guiicon> 128icon in the toolbar, or by pressing <keycombo 129action="simul">&Ctrl;<keycap>G</keycap></keycombo>. 130</para> 131</listitem> 132 133<listitem><para>Set your local time and date. You can change to any time or 134date by selecting <menuchoice><guimenu>Time</guimenu> 135<guimenuitem>Set Time...</guimenuitem></menuchoice> menu item, or by pressing the <guiicon>Time</guiicon> 136icon in the toolbar. The <guilabel>Set Time</guilabel> window uses a standard 137&kde; Date Picker widget. If you ever need to reset the clock back to the current 138time, just select the <menuchoice><guimenu>Time</guimenu> <guimenuitem>Set Time to 139Now</guimenuitem></menuchoice> menu item. 140</para> 141</listitem> 142 143<listitem> 144<para>Click on the <menuchoice><guimenu>Tools</guimenu> <guisubmenu>Devices</guisubmenu> 145<guimenuitem>Device Manager...</guimenuitem></menuchoice> menu item. 146</para> 147</listitem> 148 149<listitem> 150<para>Under the <guilabel>Device</guilabel> column, select your telescope model. 151</para> 152</listitem> 153 154<listitem> 155<para>Click on the <guibutton>Run Service</guibutton> button. 156</para> 157</listitem> 158 159<listitem> 160<para>Click <guibutton>Close</guibutton> to leave the Device Manager 161Dialog. 162</para> 163</listitem> 164</orderedlist> 165 166<note id="geo-time-note"> 167<title>Frequent Settings</title> 168<para>You do not need to set the geographic location and time every time you 169connect to a telescope. Only adjust the settings as needed. 170</para></note> 171 172<para>You are now ready to use the device features, &kstars; conveniently provides 173two interchangeable &GUI; interfaces for controlling telescopes: 174</para> 175 176<orderedlist> 177<title>Controlling your telescope</title> 178<listitem> 179<para> 180<guilabel>Sky map Control</guilabel>: For each device you run in the 181<guilabel>Device Manager</guilabel>, a corresponding entry will show up in popup menu 182that allows you to control the properties of the device. You can 183issue commands like <command>Slew</command>, <command>Sync</command>, and 184<command>Track</command> directly from the sky map. 185</para> 186 187<para>Here is a screenshot of the popup menu with an active LX200 Classic device: 188</para> 189 190<screenshot> 191<screeninfo>Controlling devices from sky map</screeninfo> 192<mediaobject> 193<imageobject> 194<imagedata fileref="skymapdevice.png" format="PNG"/> 195</imageobject> 196</mediaobject> 197</screenshot> 198</listitem> 199 200<listitem> 201<para> 202<guilabel>INDI Control Panel</guilabel>: The panel offers the user with all the 203features supported by a device. 204</para> 205 206<para>The panel is divided into three main sections: 207</para> 208 209<itemizedlist> 210<listitem> 211<para> 212<guilabel>Device tabs</guilabel>: Each additional active device occupies a 213tab in the INDI panel. Multiple devices can run simultaneously without 214affecting the operation of other devices. 215</para> 216</listitem> 217 218<listitem> 219<para> 220Property views on the <guilabel>Main Control</guilabel> and <guilabel>Options</guilabel> 221tabs: Properties are the key element in INDI architecture. Each device defines a 222set of properties to communicate with the client. The current position of the 223telescope is an example of a property. Semantically similar properties are usually 224contained in logical blocks or groupings. 225</para> 226</listitem> 227 228<listitem> 229<para> 230<guilabel>Log viewer</guilabel>: Devices report their status and acknowledge commands 231by sending INDI messages. Each device has its own log view. A device usually sends messages 232to its device driver only, but a device is permitted to send a generic message when appropriate. 233</para> 234</listitem> 235</itemizedlist> 236 237<screenshot> 238<screeninfo>INDI Control Panel</screeninfo> 239<mediaobject> 240<imageobject> 241<imagedata fileref="indicontrolpanel.png" format="PNG"/> 242</imageobject> 243</mediaobject> 244</screenshot> 245</listitem> 246</orderedlist> 247 248<para>You are not restricted on using one interface over another as they can be both 249used simultaneously. Actions from the <guilabel>Sky map</guilabel> are automatically 250reflected in the <guilabel>INDI Control Panel</guilabel> and vice versa. 251</para> 252 253<para>To connect to your telescope, you can either select <guimenuitem>Connect</guimenuitem> 254from your device popup menu or alternatively, you can press <guibutton>Connect</guibutton> 255under your device tab in the <guilabel>INDI Control Panel</guilabel>. 256</para> 257 258<important><para>By default, &kstars; will try to connect to the <constant>/dev/ttyS0</constant> 259port. To change the connection port, select the <menuchoice><guimenu>Tools</guimenu> 260<guisubmenu>Devices</guisubmenu> <guimenuitem>INDI Control Panel...</guimenuitem></menuchoice> menu item and 261change the port under your device tab. 262</para></important> 263 264<para>&kstars; automatically updates the telescope's longitude, latitude, and 265time based on current settings in &kstars;. You can enable/disable these 266using the <guilabel>INDI</guilabel> page from the <menuchoice><guimenu>Settings</guimenu> 267<guimenuitem>Configure &kstars;...</guimenuitem></menuchoice> menu item. Using the 268<guilabel>INDI</guilabel> page you can configure &kstars; to display or not 269INDI status messages in the status bar. By default INDI server port numbers have values between 270the range from 7624 to 9000, but you can easily change the range using the <guilabel>From:</guilabel> 271and <guilabel>To:</guilabel> text boxes from the <guilabel>Server Port</guilabel> section. 272</para> 273 274<para>If &kstars; communicates successfully with the telescope, it will retrieve the 275current <abbrev>RA</abbrev> and <abbrev>DEC</abbrev> from the telescope and will display a 276crosshair on the sky map indicating the telescope position. You can hide the crosshair that marks telescope 277position using <guilabel>INDI</guilabel> page from the <menuchoice><guimenu>Settings</guimenu> 278<guimenuitem>Configure &kstars;...</guimenuitem></menuchoice> menu item. 279</para> 280 281<note id="indi-sync"> 282<title>Synchronizing your telescope</title> 283<para>If you aligned your telescope and the last alignment star was, for example, Vega, 284then the crosshair should be centered around Vega. If the crosshair was off target, then 285you can <mousebutton>right</mousebutton>-click Vega from the sky map and select 286<command>Sync</command> from your telescope menu. This action will instruct the telescope 287to synchronize its internal coordinates to match those of Vega, and the telescope's crosshair 288should now be centered around Vega. 289</para> 290</note> 291 292<para>This is it: your telescope is ready to explore the heavens! 293</para> 294 295<warning> 296<title>WARNING</title> 297<para>Never use the telescope to look at the sun. Looking at the sun might cause irreversible 298damage to your eyes and your equipment. 299</para> 300</warning> 301</sect1> 302 303<sect1 id="indi-other-setup"> 304<title>CCD and Video-Capture Setup</title> 305<indexterm><primary>CCD Video Control</primary> 306<secondary>Setup</secondary> 307</indexterm> 308 309<para>You can run CCD and Video Capture devices from the <menuchoice><guimenu>Tools</guimenu> 310<guisubmenu>Devices</guisubmenu> <guimenuitem>Device Manager...</guimenuitem></menuchoice> menu item. 311Like all INDI devices, some of the device controls will be accessible from the skymap. 312The device can be controlled fully from the <guimenuitem>INDI Control Panel...</guimenuitem> item. 313</para> 314 315<para>The standard format for image capture is FITS. Once an image is captured and downloaded, 316it will be automatically displayed in the &kstars; <link linkend="tool-fitsviewer">FITS Viewer</link>. 317</para> 318</sect1> 319 320<sect1 id="indi-configure"> 321<title>Configure INDI</title> 322<indexterm><primary>Configure</primary> 323<secondary>INDI</secondary> 324</indexterm> 325 326<para>The <guilabel>INDI</guilabel> page allows you to modify <emphasis>Client side</emphasis> INDI 327specific options. To access it, select the <guilabel>INDI</guilabel> page from 328<menuchoice><guimenu>Settings</guimenu> <guimenuitem>Configure &kstars;...</guimenuitem></menuchoice> 329menu item. 330The window is divided into several main categories: General, Device Updates, Display and Server Port: 331</para> 332 333<itemizedlist> 334 <listitem><para><guilabel>General</guilabel></para> 335 <itemizedlist> 336 <listitem><para><guilabel>INDI server:</guilabel> Specify the binary of installed INDI server in your system. By default, &kstars; uses <quote>/usr/bin/indiserver</quote> binary.</para></listitem> 337 <listitem><para><guilabel>INDI drivers XML directory:</guilabel> Specify the &XML; directory where INDI drivers are located in your system. By default, &kstars; uses <quote>/usr/share/indi</quote> directory.</para></listitem> 338 <listitem><para><guilabel>Default FITS directory:</guilabel> Specify the directory where all captured FITS images will be saved to. If no directory is specified, images will be stored in <varname>$HOME</varname>.</para></listitem> 339 <!-- Telescope port & Video port: 340 <listitem><para><option>Telescope port:</option> The default telescope port. When you connect to a local or remote telescope service, &kstars; will automatically fill the telescope's device port with the specified default port.</para></listitem> 341 <listitem><para><option>Video port:</option> The default video port. When you connect to a local or remote video service, &kstars; will automatically fill the webcam's device port with the specified default port.</para></listitem> 342 --> 343 </itemizedlist> 344 </listitem> 345 <listitem><para><guilabel>Time & Location Updates</guilabel></para> 346 <itemizedlist> 347 <listitem><para><guilabel>KStars updates all devices</guilabel>: KStars is the master source for time and location settings. All INDI devices time and locations settings are synchronized to KStars settings.</para></listitem> 348 <listitem><para><guilabel>Mount updates KStars</guilabel>: Mount handset is the master source of time and location settings. KStars time and location settings are synchronized with controller settings.</para></listitem> 349 <listitem><para><guilabel>GPS updates KStars</guilabel>: GPS driver is the master source of time and location settings. KStars time and location settings are synchronized with GPS settings.</para></listitem> 350 <listitem><para><guilabel>Time</guilabel>: Synchronize KStars date and time automatically from the update source.</para></listitem> 351 <listitem><para><guilabel>Location</guilabel>: Synchronize KStars location settings from the update source.</para></listitem> 352 </itemizedlist> 353 </listitem> 354 <listitem><para><guilabel>Display</guilabel></para> 355 <itemizedlist> 356 <listitem><para><guilabel>Telescope crosshair</guilabel>: When checked, &kstars; displays the telescope's target crosshair on the sky map. The crosshair is displayed upon a successful connection to the telescope and its location is updated periodically. The telescope's name is displayed next to the crosshair. &kstars; displays one crosshair per each connected telescope. To change the color of the telescope's crosshair, open the <link linkend="viewops">Configure - &kstars;</link> window. Select the <guilabel>Colors</guilabel> page, and then change the color of the <guimenuitem>Target Indicator</guimenuitem> item to the desired color.</para></listitem> 357 <listitem><para><guilabel>Independent window</guilabel>: Make <guilabel>FITS Viewer</guilabel> window independent.</para></listitem> 358 <listitem><para><guilabel>Message notifications</guilabel>: Show INDI messages as desktop notifications instead of dialogs.</para></listitem> 359 </itemizedlist> 360 </listitem> 361<!-- 362 <listitem><para>Update Source: Synchronize &kstars; according to either the 363 computer or device time and location settings.</para> 364 </listitem> 365 <listitem><para>Filter Wheel: Assign color codes to the filter wheel slots (⪚ Slot #0 Red, Slot #1 Blue, &etc;) You can assign color codes for up to 10 filter slots (0 to 9). To assign a color code, select a slot number from the drop down combo box, and then type the corresponding color code in the edit field. Repeat the process for all desired slots and then press OK.</para> 366 </listitem> 367--> 368 <listitem><para><guilabel>Server Port</guilabel></para> 369 <itemizedlist> 370 <listitem><para>Specify range of ports that INDI Server will bind to when starting new drivers.</para></listitem> 371 </itemizedlist> 372 </listitem> 373</itemizedlist> 374 375</sect1> 376 377<sect1 id="indi-concepts"> 378<title>INDI Concepts</title> 379<indexterm><primary>Telescope Control</primary> 380<secondary>Concepts</secondary> 381</indexterm> 382 383<para> 384The main key concept in INDI is that devices have the ability to describe themselves. 385This is accomplished by using &XML; to describe a generic hierarchy that can represent 386both canonical and non-canonical devices. In INDI, all <emphasis>devices</emphasis> 387may contain one or more <emphasis>properties</emphasis>. Any <emphasis>property</emphasis> 388may contain one or more <emphasis>elements</emphasis>. 389There are four types of INDI properties: 390</para> 391<itemizedlist> 392<listitem><para>Text property.</para></listitem> 393<listitem><para>Number property.</para></listitem> 394<listitem><para>Switch property (Represented in &GUI; by buttons and checkboxes).</para></listitem> 395<listitem><para>Light property (Represented in &GUI; by colored LEDs).</para></listitem> 396</itemizedlist> 397 398<para>For example, all INDI devices share the CONNECTION standard switch <emphasis>property</emphasis>. 399The CONNECTION property has two elements: CONNECT and DISCONNECT switches. &kstars; parses the generic 400&XML; description of properties and builds a &GUI; representation suitable for direct human interaction. 401</para> 402 403<para>The INDI control panel offers many device properties not accessible from the sky map. 404The properties offered differ from one device to another. Nevertheless, all properties share 405common features that constrains how they are displayed and used: 406</para> 407 408<itemizedlist> 409<listitem> 410<para> 411Permission: All properties can either be read-only, write-only, or read and 412write enabled. An example of a read-write property is the telescope's Right 413Ascension. You can enter a new Right Ascension and the telescope, based on 414current settings, will either slew or sync to the new input. Furthermore, 415when the telescope slews, its Right Ascension gets updated and sent back to 416the client. 417</para> 418</listitem> 419<listitem> 420<para>State: Prefixed to each property is a state indicator (round LED). 421Each property has a state and an associated color code: 422</para> 423<table frame="top"><title>INDI State color code</title> 424<tgroup cols="3" colsep="1" rowsep="1"> 425<thead> 426<row> 427<entry>State</entry> 428<entry>Color</entry> 429<entry>Description</entry> 430</row> 431</thead> 432<tbody> 433<row> 434<entry>Idle</entry> 435<entry>Gray</entry> 436<entry>Device is performing no action with respect to this property</entry> 437</row> 438<row> 439<entry>Ok</entry> 440<entry>Green</entry> 441<entry>Last operation performed on this property was successful and 442active</entry> 443</row> 444<row> 445<entry>Busy</entry> 446<entry>Yellow</entry> 447<entry>The property is performing an action</entry> 448</row> 449<row> 450<entry>Alert</entry> 451<entry>Red</entry> 452<entry>The property is in critical condition and needs immediate 453attention</entry> 454 </row> 455 </tbody> 456</tgroup> 457</table> 458 459<para>The device driver updates the property state in real-time when 460necessary. For example, if the telescope is in the process of slewing to a 461target, then the RA/DEC properties will be signaled as 462<guilabel>Busy</guilabel>. When the slew process is completed successfully, 463the properties will be signaled as <guilabel>Ok</guilabel>. 464</para> 465</listitem> 466<listitem> 467<para> 468Context: Numerical properties can accept and process numbers in two formats: 469decimal and sexagesimal. The sexagesimal format is convenient when expressing 470time or equatorial/geographical coordinates. You can use any format at your 471convenience. For example, all the following numbers are equal: 472</para> 473<itemizedlist> 474<listitem><para>-156.40</para></listitem> 475<listitem><para>-156:24:00</para></listitem> 476<listitem><para>-156:24</para></listitem> 477</itemizedlist> 478</listitem> 479<listitem> 480<para> 481Time: The standard time for all INDI-related communications is Universal Time UTC 482specified as YYYY-MM-DDTHH:MM:SS in accord with ISO 8601. &kstars; communicates the 483correct UTC time with device drivers automatically. You can enable/disable automatic 484time updates from the <guilabel>INDI</guilabel> page in the settings dialog. 485</para> 486</listitem> 487</itemizedlist> 488</sect1> 489 490<sect1 id="indi-remote-control"> 491<title>Remote Device Control</title> 492<indexterm><primary>Telescope Control</primary> 493<secondary>Remote Devices</secondary> 494</indexterm> 495 496<para>&kstars; provides a simple yet powerful layer for remote device control. 497A detailed description of the layer is described in the INDI <ulink 498url="https://www.clearskyinstitute.com/INDI/INDI.pdf">white paper</ulink>. 499</para> 500 501<para>You need to configure both the server and client machines for remote control: 502</para> 503 504<orderedlist> 505<listitem> 506<para><guilabel>Server</guilabel>: To prepare a device for remote control, follow the same steps in the 507<link linkend="indi-kstars-setup">local/server</link> setup. When you start a device 508service in the <guilabel>Device Manager</guilabel>, a port number is displayed under 509the <guilabel>Port</guilabel> column. In addition to the port number, you 510also need the hostname or IP address of your server. 511</para> 512 513</listitem> 514<listitem> 515<para><guilabel>Client</guilabel>: Select the <menuchoice><guimenu>Tools</guimenu> 516<guisubmenu>Devices</guisubmenu> <guimenuitem>Device Manager...</guimenuitem></menuchoice> 517menu item and you can add, modify, or delete hosts into <guilabel>Client</guilabel> tab. 518Add a host by clicking on the <guibutton>Add</guibutton> button. 519Enter the hostname/IP address of the server in the <guilabel>Host:</guilabel> field, and enter the port 520number obtained from the <emphasis>server</emphasis> machine in step 1. 521</para> 522</listitem> 523</orderedlist> 524 525<screenshot> 526<screeninfo>INDI Client</screeninfo> 527<mediaobject> 528<imageobject> 529<imagedata fileref="indiclient.png" format="PNG"/> 530</imageobject> 531</mediaobject> 532</screenshot> 533 534<para>After you add a host, right click on the host to 535<guimenuitem>Connect</guimenuitem> or <guimenuitem>Disconnect</guimenuitem>. 536If a connection is established, you can control the telescope from the 537<guilabel>Sky map</guilabel> or <guilabel>INDI Control Panel</guilabel> 538exactly as described in the <link linkend="indi-kstars-setup">local/server</link> section. It is as easy at that. 539</para> 540 541<sect2 id="indi-commandline"> 542<title>Running an INDI server from the command line</title> 543<para>While &kstars; allows you to easily deploy an INDI server; you can launch 544an INDI server from the command line. 545</para> 546 547<para> 548Since INDI is an independent backend component, you can run an INDI server on a host 549without &kstars;. INDI can be compiled separately to run on remote hosts. 550Furthermore, device drivers log messages to <constant>stderr</constant> and that can 551be helpful in a debugging situation. The syntax for INDI server is as following: 552</para> 553 554<para>$ <command>indiserver</command> [options] driver [<filename>driver</filename> ...] 555</para> 556 557<para><screen>Options: 558 -l d : Log driver messages to <d>/YYYY-MM-DD.islog 559 -m m : Kill client if gets more than this many MB behind, default 128. 560 -d m : Drop streaming blobs if client gets more than this many MB behind, default 5. 0 to disable. 561 -p p : Alternate IP port, default 7624. 562 -r r : Maximum driver restarts on error, default 10. 563 -f path : Path to fifo for dynamic startup and shutdown of drivers. 564 -v : Show key events, no traffic. 565 -vv : -v + key message content. 566 -vvv : -vv + complete xml. 567 driver : Executable or [device]@host[:port] 568</screen></para> 569 570<para>For example, if you want to start an INDI server running an LX200 GPS 571driver and listening to connections on port 8000, you would run the 572following command: 573</para> 574 575<para>$ <command>indiserver</command> -p 8000 <filename>lx200gps</filename></para> 576</sect2> 577 578<sect2 id="indi-secure-remote"> 579<title>Secure Remote Operation</title> 580 581<para>Suppose we want to run an indiserver with INDI drivers on a remote host, 582<constant>remote_host</constant>, and connect them to &kstars; running on the local machine. 583</para> 584 585<para>From the local machine log onto the remote host, <constant>remote_host</constant>, 586by typing: 587</para> 588 589<para>$ <command>ssh</command> -L <varname>local_port</varname>:<constant>remote_host</constant>:<varname>remote_port</varname></para> 590 591<para>This binds the <varname>local_port</varname> on the local machine to the 592<varname>remote_port</varname> on the <constant>remote_host</constant>. After logging in, 593run indiserver on the remote host: 594</para> 595 596<para>$ <command>indiserver</command> -p <varname>remote_port</varname> [<filename>driver</filename>...]</para> 597 598<para>Back on the local machine, start &kstars; then open the <guimenuitem>Device Manager</guimenuitem> 599and add a host under the <guilabel>Client</guilabel> tab. The host should be the local host 600(usually 127.0.0.1) and the port number should be the <varname>local_port</varname> used in the steps above. 601<mousebutton>Right</mousebutton>-click on the host and select <guimenuitem>Connect</guimenuitem> from 602the popup menu. &kstars; will connect to the remote INDI server securely. The host information will be saved 603for future sessions.</para> 604</sect2> 605</sect1> 606 607<sect1 id="indi-faq"> 608<title>INDI Frequently Asked Questions</title> 609<indexterm><primary>Telescope Control</primary> 610<secondary>&FAQ;</secondary> 611</indexterm> 612 613<qandaset defaultlabel="qanda"> 614<qandaentry> 615<question id="what-is-indi"> 616<para>What is INDI?</para> 617</question> 618<answer> 619<para><acronym>INDI</acronym> is the 620<ulink url="https://indilib.org"> Instrument-Neutral-Distributed-Interface</ulink> control 621protocol developed by <author><firstname>Elwood</firstname><surname>C. Downey</surname></author> of 622<ulink url="https://www.clearskyinstitute.com/">ClearSky Institute</ulink>. &kstars; employs device 623drivers that are compatible with the INDI protocol. INDI has many advantages including loose coupling 624between hardware devices and software drivers. Clients that use the device drivers (like &kstars;) 625are completely unaware of the device capabilities. In run time, &kstars; communicates with the device 626drivers and builds a completely dynamical &GUI; based on services provided by the device. Therefore, new 627device drivers can be written or updated and &kstars; can take full advantage of them without any changes 628on the client side. 629</para> 630</answer> 631</qandaentry> 632 633<qandaentry> 634<question> 635<para> 636Do you plan to support more devices? 637</para> 638</question> 639<answer> 640<para> 641Yes. We plan to support major CCD cameras and focusers and extend support 642for more telescopes. If you would like INDI to support a particular device, 643please send an email to <email>indi-devel@lists.sourceforge.net</email> 644</para> 645</answer> 646</qandaentry> 647 648<qandaentry> 649<question> 650<para> 651What operations does &kstars; provide to control the telescope? 652</para> 653</question> 654<answer> 655<para> 656It depends on the particular telescope you're running, but the minimum three operations are 657<command>Slew</command>, <command>Track</command>, and <command>Sync</command>, which you can 658issue directly from the sky map. Your telescope must be aligned for those operations to perform 659correctly. Some telescopes offer you more operations like site management, slew modes, focusing, 660parking, and more. You can access the telescopes extended features from the 661<menuchoice><guimenu>Tools</guimenu> <guisubmenu>Devices</guisubmenu> 662<guimenuitem>INDI Control Panel...</guimenuitem></menuchoice> menu item. 663</para> 664</answer> 665</qandaentry> 666 667<qandaentry> 668<question> 669<para> 670What's the difference between <command>Slew</command>, <command>Track</command>, and <command>Sync</command> exactly? 671</para> 672</question> 673<answer> 674<para> 675The command <command>Slew</command> orders the telescope to move to a particular target, and once 676the telescope reaches its target, the telescope keeps tracking that target at a 677<emphasis>sidereal</emphasis> rate (&ie;, the rate at which stars move across the sky). This works well 678for stars, Messier objects, and about everything outside our solar system. But solar system objects 679travel differently across the sky and so the telescope must <command>Track</command> the objects as they move. 680</para> 681<para> 682Therefore, you need to issue a track command if you want to track an object with non-sidereal motion. 683On the other hand, <command>Sync</command> is used to synchronize the telescope's internal coordinates 684with that of an object you select. 685</para> 686</answer> 687</qandaentry> 688 689<qandaentry> 690<question> 691<para> 692Can I control my telescope remotely? 693</para> 694</question> 695<answer> 696<para> 697Yes. You can start an INDI server on the machine connected to your telescope and the server will listen 698to requests from &kstars; clients. Once you're connected, you can control your telescope directly from 699the sky map. This procedure is described in detail in the 700<link linkend="indi-remote-control">Remote device control</link> section. 701</para> 702</answer> 703</qandaentry> 704 705<qandaentry> 706<question> 707<para> 708When I try to <guibutton>Connect</guibutton>, &kstars; reports that the 709telescope is not connected to the serial/&USB; port. What can I do? 710</para> 711</question> 712<answer> 713<para>This message is triggered when &kstars; cannot communicate with the telescope. Here are few things you can do:</para> 714 715 <orderedlist> 716 <listitem> 717<para>Check that you have both reading and writing permission for the port you are trying to connect to.</para> 718 </listitem> 719 <listitem> 720<para>Check the connection cable, make sure it is in good condition and test it with other applications.</para> 721 </listitem> 722 <listitem> 723<para>Check your telescope power, make sure the power is on and that the telescope is getting enough power.</para> 724 </listitem> 725 <listitem> 726<para>Select the <menuchoice><guimenu>Tools</guimenu> <guisubmenu>Devices</guisubmenu> 727<guimenuitem>INDI Control Panel...</guimenuitem></menuchoice> menu item and set the correct 728port in the <guilabel>INDI Control Panel</guilabel> dialog. The default device is 729<constant>/dev/ttyS0</constant></para> 730 </listitem> 731 <listitem> 732 <para>Restart &kstars; and retry again.</para> 733 </listitem> 734 </orderedlist> 735</answer> 736</qandaentry> 737 738<qandaentry> 739<question> 740<para>&kstars; reports that the telescope is online and ready, but I cannot find the telescope's crosshair, where is it?</para> 741</question> 742<answer> 743<para>&kstars; retrieves the telescopes RA and DEC coordinates upon connection. If your 744alignment was performed correctly, then you should see the crosshair around your target 745in the Sky Map. However, the RA and DEC coordinates provided by the telescope may be 746incorrect (even below the horizon) and you need to <link linkend="indi-sync">Sync</link> 747your telescope to your current target. You can use the right-click menu to center and track 748the telescope crosshair in the sky map. 749</para> 750</answer> 751</qandaentry> 752 753<qandaentry> 754<question> 755<para>The telescope is moving erratically or not moving at all. What can I do?</para> 756</question> 757<answer> 758<para>This behavior is mostly due to incorrect settings, please verify the following check list:</para> 759<orderedlist> 760<listitem> 761<para>Is the telescope aligned?</para> 762</listitem> 763<listitem> 764<para>Is the telescope alignment mode correct? Use <guilabel>INDI Control Panel</guilabel> to check 765and change these settings (<constant>Alt/Az,Polar, Land</constant>). 766</para> 767</listitem> 768<listitem> 769<para>Are the telescope's time and date settings correct?</para> 770</listitem> 771<listitem> 772<para>Are the telescope's longitude and latitude settings correct?</para> 773</listitem> 774<listitem> 775<para>Is the telescope's UTC offset correct?</para> 776</listitem> 777<listitem> 778<para>Are the telescope's RA and DEC axis locked firmly?</para> 779</listitem> 780<listitem> 781<para>Is the telescope's N/S switch (when applicable) setup correctly for your hemisphere?</para> 782</listitem> 783<listitem> 784<para>Is the cable between the telescope and computer in good condition?</para> 785</listitem> 786</orderedlist> 787 788<para>If you think all settings are correct but the telescope still moves erratically or not at all, 789then please send a report to <email>indi-devel@lists.sourceforge.net</email>. 790</para> 791</answer> 792</qandaentry> 793</qandaset> 794</sect1> 795</chapter> 796 797