Введение
ASCOM (сокращение от AStronomy Common Object Model) — это открытая инициатива, предоставляющая стандартный интерфейс для широкого спектра астрономического оборудования, включая монтировки, фокусировщики и устройства визуализации, в среде Microsoft Windows.
История
ASCOM был изобретен в конце 1997 и начале 1998 года Бобом Денни, когда он выпустил две коммерческие программы и несколько бесплатных утилит, демонстрирующих эту технологию. Он также убедил Дага Джорджа включить поддержку ASCOM в коммерческое программное обеспечение для управления CCD-камерами. Первой обсерваторией, внедрившей ASCOM, стала обсерватория Junk Bond в начале 1998 года. Там он был использован для создания роботизированного телескопа, предназначенного для наблюдения за астероидами. Успешное применение ASCOM в этой обсерватории было освещено в статье журнала Sky & Telescope, что способствовало более широкому распространению ASCOM. Стандарты ASCOM были переданы под управление инициативы ASCOM – группы разработчиков астрономического программного обеспечения, которые добровольно взяли на себя дальнейшую разработку этих стандартов. Под влиянием Денни, Джорджа, Тима Лонга и других, ASCOM развился в набор стандартов драйверов устройств. В 2004 году более 150 устройств, связанных с астрономией, поддерживались драйверами ASCOM, которые распространялись как бесплатное программное обеспечение. Большинство драйверов также имели открытый исходный код. По мере развития ASCOM, термин стал менее тесно ассоциироваться с компонентной объектной моделью (Component Object Model) и стал использоваться в более широком смысле для описания не только стандартов и программного обеспечения, основанного на них, но и архитектуры наблюдательной системы и философии проектирования роботизированных телескопов. В 2004 году ASCOM формально оставался отсылкой к Component Object Model, но ожидалось, что термин станет самостоятельным, поскольку новые технологии, такие как Microsoft .NET, берут на себя функции, предоставляемые Component Object Model, и появляется все больше проектов ASCOM, снижающих акцент на драйверах устройств. Джонатан Фэй внес вклад в стандарт ASCOM. В процессе работы над ASCOM-клиентом для WorldWide Telescope он создал эталонные классы прототипов .NET Framework, которые привели к переработке ASCOM версии 5. Выпуск версии 6 платформы ASCOM в июне 2011 года ознаменовал переход к парадигме разработки с открытым исходным кодом, в которой участвовали несколько разработчиков, а весь исходный код платформы был опубликован под лицензией Creative Commons. Первоначально команда разработчиков платформы использовала серверы, размещенные компанией TiGra Networks (IT-консалтинговая компания Лонга), для контроля версий исходного кода, отслеживания ошибок и управления проектами, а лицензии на серверы были предоставлены компаниями Atlassian и JetBrains. В 2012 году, отчасти из-за различий в стиле разработки, участие TiGra Networks в разработке программного обеспечения прекратилось, и исходный код был перенесен на SourceForge.
Что это? - Что?
Платформа ASCOM – это набор компьютерных драйверов для различных астрономических устройств. Она использует согласованные стандарты, позволяющие различным компьютерным программам ("приложениям") и устройствам одновременно взаимодействовать друг с другом. Это означает, что вы можете управлять такими устройствами, как монтировки, фокусировщики, камеры и фильтровые колеса, с одного компьютера, даже если несколько компьютеров совместно используют доступ к этим ресурсам. Например, вы можете использовать одну программу для наведения на объекты и другую для автогидирования телескопа, при этом обе программы одновременно управляют монтировкой. Драйвер ASCOM выступает в качестве слоя абстракции между приложением и оборудованием, устраняя зависимость приложения от конкретного оборудования и обеспечивая автоматическую совместимость со всеми устройствами, поддерживающими минимально необходимые свойства и методы. Например, эта абстракция позволяет ASCOM-приложению использовать устройство визуализации, не зная, подключено ли оно через последовательный или сетевой интерфейс. ASCOM определяет набор обязательных свойств и методов, которые ASCOM-совместимое программное обеспечение может использовать для взаимодействия с ASCOM-совместимым устройством. ASCOM также определяет ряд дополнительных свойств и методов для использования общих функций, которые могут отсутствовать в устройствах разных производителей. Проверяя различные свойства, ASCOM-приложение может определить, какие функции доступны для использования. Свойства и методы доступны через интерфейсы скриптов, позволяя управлять устройствами с помощью стандартных скриптовых приложений, таких как VBScript и JavaScript. Фактически, любой язык, поддерживающий доступ к объектам Microsoft COM, может взаимодействовать с ASCOM. Для загрузки доступен программный пакет ASCOM Platform, который устанавливает общие библиотеки, документацию и набор драйверов ASCOM для широкого спектра оборудования. Дополнительные драйверы ASCOM для устройств, не входящих в пакет ASCOM Platform, можно загрузить и установить отдельно. Хотя ASCOM в основном используется любителями астрономии, благодаря тому, что стандарт является общедоступным, он также применяется в некоторых профессиональных установках.
Лицензирование
Нет особых требований к лицензированию, за исключением того, что логотип ASCOM может использоваться только в том случае, если клиентское приложение совместимо с ASCOM, и ASCOM-драйвер должен реализовывать все необходимые свойства и методы (но не обязан реализовывать какие-либо из необязательных свойств и методов).
Конечный пользователь
С точки зрения астронома, всё сводится к установке платформы ASCOM и подходящего клиентского программного обеспечения – программирование не требуется. Драйверы ASCOM обеспечивают компьютерное управление такими устройствами, как планетарные программы, позволяя наводить телескоп на выбранный объект. Используя комбинацию драйверов ASCOM для монтировки, фокусировщика и устройства захвата изображения, можно создать полностью автоматизированную систему для астрофотографии глубокого космоса.
Разработчик
Разработчики могут расширить функциональность ASCOM, создавая собственные клиенты с использованием скриптового или объектного интерфейса.
ASCOM Alpaca (Альпака)
Недавняя инициатива под названием ASCOM Alpaca в настоящее время находится в разработке. API Alpaca использует RESTful-технологии и TCP/IP для обеспечения взаимодействия между приложениями и устройствами ASCOM в современных сетевых окружениях. Это позволит устройствам, совместимым с ASCOM, работать со всеми различными операционными системами, включая Linux и Mac OSX, в ближайшем будущем.