Сервер для светоприемников
Mar. 22nd, 2022 06:44 pmСегодня практически добил простейший серверок для светоприемников. Можно добавить любой светоприемник, турель или фокусер написав библиотеку-обертку над его API. Еще вчера думал, что все почти готово, но пришлось кучу дополнительных опций добавить + отладить небольшие косяки.
В "одной коробчонке" заключены standalone-приложение, сервер и клиент. Сервер работает исключительно локально (чтобы не париться с безопасностью: в случае необходимости можно и ssh-прокси сделать). Можно его повесить на UNIX-сокет (привязанный к файлу или нет) или обычный INET-сокет. Standalone оставил старый функционал. Клиент/сервер поддерживают почти все то же самое, что он умеет (кроме вещей, которые мне показались бессмысленными). Запустить одновременно сервер и standalone или несколько одинаковых серверов/standalone нельзя, как обычно. Клиентов можно хоть 1000 запустить. Вне экспозиции делай что хочешь, но пока светоприемник занят, можно лишь геттеры вызывать, в т.ч. для турелей и фокусеров.
Основную отладку я делал на эмуляторах ('Dummy device'), во второй половине дня с ZWO'шной камерой поигрался, заодно несколько багов отыскав. Чтобы отладить все устройства, завтра потренируюсь на FLI (на "роботелескопах" все устройства флишные).
Протокол специально сделал текстовым: подключаюсь для отладки своим терминалом и могу вообще любые команды вводить (в т.ч. те, которые клиент бы не ввел). В режиме standalone можно смотреть текущие изображения встроенной OpenGL-смотрелкой, а вот клиент этого не умеет. В будущем думаю вообще смотрелку убрать, сделав ее самостоятельным приложением — в лучшем духе UNIX-way. Аналогично можно убрать standalone, но над этим надо подумать.
В "одной коробчонке" заключены standalone-приложение, сервер и клиент. Сервер работает исключительно локально (чтобы не париться с безопасностью: в случае необходимости можно и ssh-прокси сделать). Можно его повесить на UNIX-сокет (привязанный к файлу или нет) или обычный INET-сокет. Standalone оставил старый функционал. Клиент/сервер поддерживают почти все то же самое, что он умеет (кроме вещей, которые мне показались бессмысленными). Запустить одновременно сервер и standalone или несколько одинаковых серверов/standalone нельзя, как обычно. Клиентов можно хоть 1000 запустить. Вне экспозиции делай что хочешь, но пока светоприемник занят, можно лишь геттеры вызывать, в т.ч. для турелей и фокусеров.
Основную отладку я делал на эмуляторах ('Dummy device'), во второй половине дня с ZWO'шной камерой поигрался, заодно несколько багов отыскав. Чтобы отладить все устройства, завтра потренируюсь на FLI (на "роботелескопах" все устройства флишные).
Протокол специально сделал текстовым: подключаюсь для отладки своим терминалом и могу вообще любые команды вводить (в т.ч. те, которые клиент бы не ввел). В режиме standalone можно смотреть текущие изображения встроенной OpenGL-смотрелкой, а вот клиент этого не умеет. В будущем думаю вообще смотрелку убрать, сделав ее самостоятельным приложением — в лучшем духе UNIX-way. Аналогично можно убрать standalone, но над этим надо подумать.