Understanding Alpaca

For many years ASCOM has been the definitive standard for astronomy device control. The ASCOM Initiative defines the standard interfaces that device drivers expose, allowing client applications to use them without any device specific code. Up until now these drivers are built only on COM, a Windows technology that allows a program written in any language to control the device. However, COM is limited as this technology only capable of running on Windows.

Alpaca is a new technology, supported by the ASCOM Initiative, which is built on the foundation of these standards. Instead of COM Alpaca uses REST to allow clients to communicate with devices. Unlike COM, which is cross language but not cross platform, REST is both cross platform and cross language. Even beyond that computers on the same network can control Alpaca devices as if the hardware was directly attached. Because REST can operate across a network any devices exposing the Alpaca standard have a great deal of flexibility. A device can be attached to one computer (like a Raspberry Pi) and controlled by a separate computer.

Optec offers Alpaca drivers for several different platforms. In addition, clients on the same network can access these drivers for device control without needing to install anything. Currently Optec is offering drivers (depending on the device) for Windows, Linux (including Raspberry Pi) and MacOS.

On Windows these drivers are installed using the normal installation methods. Once installed the driver can be started by clicking on the desktop icon. On Linux the drivers are distributed as an AppImage or as a bundle. AppImages contain the dependencies to run on various distributions and the driver can be started by simple running the image. On MacOS and some Linux distributions the bundle can be extracted, and the driver started from the executable that it contains.

There are several ways to access the hardware through the driver. On all platforms starting the driver will open a browser to the device control and configuration pages. If the driver is set to allow remote access these pages can also be accessed from other computers on the network. Alpaca clients can discover the device and control it through the Alpaca APIs.

Alpaca uses a lightweight discovery server to find devices on a network. This is built into the Optec Drivers and discovery is built into ASCOM Platform 6.5 and the Optec Remote App. Discovery allows clients to use the drivers with minimal configuration. Note that Alpaca and Alpaca discovery are meant to be used on a single network. They are not intended to be used across several networks or the Internet at large.

ASCOM platform 6.5 and up has built in support for Alpaca and Alpaca Discovery in the ASCOM Chooser. Once an Alpaca device is selected it will behave just like a normal COM driver, allowing existing ASCOM client programs to run with Alpaca devices. See the page on setting up the ASCOM platform for details.