Керування віддаленими пристроями

KStars надає доступ до простого, але водночас потужного рівня віддаленого керування пристроями. Докладний опис цього рівня наведено у білій книзі INDI.

Для віддаленого керування вам потрібно налаштувати обидва комп’ютери: сервер і клієнт.

  1. Сервер: щоб підготувати пристрій до віддаленого керування, виконайте дії згідно кроків, зазначених у описі налаштування клієнта/сервера. Після запуску служби пристрою у Керуванні пристроями у стовпчику Порт з’явиться номер порту. Окрім номеру порту вам потрібна буде назва вузла або IP-адреса вашого сервера.

  2. Клієнт: виберіть пункт Керування пристроями з меню ІнструментиПристрої, а потім відкрийте у відповідному вікні вкладку Клієнт. На вкладці Клієнт ви можете додавати, змінювати або вилучати вузли. Додати вузол можна натисканням кнопки Додати. Введіть назву вузла або IP-адресу сервера у поле Вузол, а замість номера порту введіть номер порту отриманий від комп’ютера-сервера на першому кроці.

Після додавання вузла відкрийте його контекстне меню за допомогою правої кнопки миші, щоб З’єднатися з ним або Від’єднатися від нього. Якщо з’єднання буде встановлено, ви зможете керувати вашим телескопом з Зоряної карти або Панелі керування INDI у той спосіб, що описано у розділі щодо клієнтського і серверного режиму. Ну ось, власне, і все.

Як запустити сервер INDI з командного рядка

Хоча KStars надає вам змогу без проблем запустити сервер INDI, ви можете зробити це і з командного рядка.

Оскільки INDI є незалежним серверним компонентом, ви можете запускати сервер INDI на вузлах, де не встановлено KStars. Для запуску на віддалених вузлах INDI можна зібрати окремо. Крім того, драйвери пристроїв записують повідомлення у stderr, ці повідомлення будуть корисними для усунення можливих проблем. Синтаксис команд сервера INDI такий:

$ indiserver [параметри] driver [драйвер ...]

Параметри:
 -l d     : записувати журнал драйвер а до файла <d>/РРРР-ММ-ДД.islog
 -m m     : «вбити» клієнт, якщо він споживатиме понад вказану кількість мегабайтів, типово, 128.
 -d m     : відкидати потоків блоки даних, якщо клієнт споживатиме понад вказану кількість мегабайтів, типово 5. 0 — вимкнути.
 -p p     : змінити IP-порт, типовим є порт 7624.
 -r r     : максимальна кількість перезапусків драйвера при помилці, типова кількість — 10.
 -f шлях  : шлях до каналу fifo для динамічного запуску та завершення роботи драйверів.
 -v       : показати ключові події, без обміну даними.
 -vv      : -v + вміст ключових повідомлень.
 -vvv     : -vv + увесь xml.
 driver   : виконуваний файл або [пристрій]@вузол[:порт]

Наприклад, щоб запустити сервер INDI разом з драйвером LX200 GPS так, щоб він очікував на з’єднання з портом 8000, слід виконати команду:

$ indiserver -p 8000 lx200gps

Безпечне віддалене керування

Припустімо, що нам потрібно запустити indiserver з драйверами INDI на віддаленому вузлі, віддалений_вузол, а потім зв’язатися з ним з KStars, запущеного на локальному комп’ютері.

Увійдіть з локального комп’ютера на віддалений_вузол за допомогою команди:

$ ssh -L локальний_порт:віддалений_вузол:віддалений_порт

Ця команда пов’яже локальний_порт на локальному комп’ютері з віддаленим_портом на віддаленому_вузлі. Після вдалого входу до віддаленого вузла, запустіть на ньому indiserver:

$ indiserver -p віддалений_порт [драйвер...]

На локальному комп’ютері запустіть KStars, потім відкрийте вікно Керування пристроями і додайте вузол на вкладці Клієнт. Вузлом має бути назва локального комп’ютера (зазвичай, 127.0.0.1), а номером порту має бути номер локальний_порт, використаний у попередніх кроках. Наведіть вказівник миші на запис вузла і клацніть правою кнопкою, а потім виберіть з контекстного меню пункт З’єднатися. Відбудеться безпечне з’єднання KStars з віддаленим сервером INDI. Інформацію про вузол буде збережено для наступних сеансів роботи з програмою.