7. ASCOM Alpaca Connectivity

In 2018, as astronomy software began to grow on Linux and MacOS, and as cheap but powerful embedded processors appeared, it was obvious that universal interfaces were needed in this ecosystem. Since the ASCOM patterns were mature and proven, we just applied the same patterns to a new connectivity scheme, ASCOM Alpaca, which has no dependence on Windows at all.

ASCOM Alpaca employs widely used network protocols to provide apps with the ability to use the same properties and methods already defined in the ASCOM interfaces. These choices greatly reduced the technical risk inherent in this new scheme to connect astronomy apps with their devices. If you're interested in the details and have some technical background, see the ASCOM Alpaca Developers section.

The two diagrams show the most common connectivity patterns when using Alpaca. In the top one, the astronomy app includes the Alpaca network protocol, as does the adapter/driver. The "network" in this case connects two programs running on the same box but still using TCP/IP and other common layers. Both reside on the same physical computer, similar to how apps and devices relate on Windows systems with COM, but here we may be on a box running any OS.

In the bottom diagram. the astronomy app also includes the Alpaca network protocol, but the driver is within a self-contained device. An example would be mount with embedded Raspberry Pi controlling the motors and the hand box, but also including a tiny server that provides Alpaca access.

The key is that the astronomy app is the same, with Alpaca logic using common libraries for the protocols, yet able to talk to an Alpaca device with a driver on the same computer, on a different computer with maybe a different OS or a dedicated device with embedded computer or micro-processor and using WiFi or Ethernet.

Congratulations, at this point you have developed a thorough understanding of the layers of technology and concepts on which the ASCOM ecosystem is based. But wait, there is a bit more. When things go wrong, it's vital that there is a solid reasonable process for declarinng problems and handling them. For the first of two parts on this last topic, read 8. Error Handling.