Goal
This console application enables to drive all astronomical devices connected to the local host. It is a service on Microsoft Windows and a daemon on Linux and Mac OS X. It supports:
- the communication with different devices through:
- the Universal Serial Bus (USB),
- the IEEE 1394 interface (or FireWire),
- the Bluetooth;
- the astronomical algorithms and calculations,
- the image processing,
- the access and update data in the database,
- the listening of requests from client applications through a wired or Wireless network (LAN).
Features
- Detect, recognize, and alert in real-time all device connections.
- Transmit commands from clients to the appropriate device.
- Execute all necessary treatments like:
- calculations of coordinates,
- calculations of sidereal time,
- calculations of telescope alignment,
- solving of RGB calibration coefficient,
- image acquisition by a CCD,
- video acquisition by a camera,
- RGB processing,
- all other image processing,
- auto-focusing,
- etc...
- Manage the different observing sites (with the piloting of a GPS).
Modules
The modules are libraries for adding functionalities to the application. The module types are:
- the bus modules used for detect connections and disconnections of devices on a bus (USB, FireWire, Bluetooth, etc...),
- the network listener modules used for communicate with the remote or local clients (IIOP, INDI, ASCOM, etc...),
- the DAO module used for access to the database.
The astroDeviceServer application may include several modules of the same type with the exception of the DAO module.
Plug-ins
As for modules, plug-ins are libraries for adding functionalities to the application. These functionalities are related to the device support.
Each astronomical device is supported through a plug-in. This enables to include a new device without modification of astroDeviceServer. Part of the success of astroDevice platform depends on number of supported devices: the plug-in writing must be as simple as possible.
The astronomical device types that the platform can support are:
- the telescope mounts,
- the CCD and cameras,
- the filters wheels,
- the focusers,
- the rotators,
- the domes and roofs,
- the safety monitors.
The astroDeviceServer application can to control several instruments of the same type or even identical. For example, it is possible to control a Hα telescope and another telescope in same time. One exception to this, the GPS is necessarily unique.
Directory tree
The directory tree is as follows:
astroDeviceServer
|
|- etc
|- bin
|- lib
| |
| |- external
|- modules
|- plugins
|- log
Projects:
Several projects constitute the astroDeviceServer application:
- astroDeviceServer-core representing the main project.
- astroDevice-common containing all common classes with astroDeviceServer application and client applications.
- astroDeviceServer-plugin containing all common classes with astroDeviceServer application and plug-ins.
- The bus module projects:
- astroDeviceServer-usb used for integrate the functionalities enabling access to USB devices.
- astroDeviceServer-ieee1394 used for integrate the functionalities enabling access to FireWire devices.
- astroDeviceServer-bluetooth used for integrate the functionalities enabling access to bluetooth devices.
- The network listener module projects:
- astroDeviceServer-iiop used for integrate the astroDevice protocol for communicate with client applications. This protocol is very inspired by the ASCOM platform but uses technology RMI/IIOP instead of COM Automation/ActiveX not portable to other OS than MS Windows.
- astroDeviceServer-ascom used for integrate the ASCOM protocol for communicate with astronomy softwares under MS Windows.
- astroDeviceServer-indi used for integrate the INDI protocol for communicate with astronomy softwares under Linux.
- The DAO module project:
- The plug-in project: