Skip to content

ASCOMInitiative/ASCOM.Alpaca.Simulators

Repository files navigation

ASCOM Alpaca Simulators

About

ASCOM Alpaca Simulators (sometimes called the OmniSim) is a combined set of simulators for all Alpaca device types. The goal is to be as compliant as possible with the Alpaca specification. By default it starts on localhost:32323. The port may change as it nears release.

The simulators are direct ports from the ASCOM Platform simulators over to .Net Standard 2.0. Once complete they are meant to be fully compatible with the platform versions. The configuration (which is in progress) is achieved through a Blazor web UI.

Most devices will have a Setup page for device settings and a Control page. The control page allows the device to run without a client, similar to the ASCOM Simulator handboxes.

Settings, discovery, and logging are provided by the ASCOM Cross Platform libraries. The log and settings files can be found in the standard folders for the ASCOM Cross Platform project. From Driver Setup you can also set the logs to write to the console.

This supports Swagger / OpenAPI on the /swagger url. Please note that the documentation on the ASCOM website should be considered canonical, to better handle serialization of some endpoints (camera images) the automatic serializer is not used so the swagger doc may not be correct. As development progresses it is expected that the auto-generated Swagger document will better match the Alpaca Specification.

There are builds available in the releases section. While in Beta breaking changes may occur on any update. See the release notes for changes and the available platforms. Normally builds should be available for Windows, Linux (desktop, server, and Raspberry Pi), and macOS.

Currently development is focused on reaching a 1.0 stable release. However, even in beta form the simulators are quite functional and are routinely tested to ensure that they are conformant with both the ASCOM Conformance checker and the Alpaca specification.

Builds

Prebuilt versions are available from the Github releases page (https://github.com/DanielVanNoord/ASCOM.Alpaca.Simulators/releases). These include packages for Windows, Linux (x64, armhf and aarch64) and macOS (x64). Versions with preview in the name are test builds for future releases. Each build contains a platform specific binary called ascom.alpaca.simulators. Note that the AppImage builds require libfuse2.

Command Line Arguments

  1. --reset -> Resets all settings for the drivers and server
  2. --reset-auth -> Resets authentication allowing access without password
  3. --local-address -> Prints the localhost and port IE http://localhost:32323
  4. --urls=http://*:p -> Starts the server listening on * IP and port p. Use * as a wildcard for any available IP Address

Potability With Docker 🐋

This project can also be run using docker via docker-compose:

docker compose -f docker-compose.yml up --build

This will expose the ASCOM Alpaca Simulation API and Blazer web UI on http://localhost:80, or even simpler, localhost on any browser of your choice.

Roadmap

Some future updates, not in order

  1. Improve swagger doc generation and match official specification
  2. Add UI function for Telescope and Camera
  3. Add a traffic monitor to the UI
  4. Add camera support for user supplied images
  5. Add temperature simulator to camera
  6. General UI Improvements
  7. Cleanup and modernization of simulator ports

Feedback

Feedback can be given to the ASCOM Developer forum or here on the Github page. For issues please include any relevant logs. Please note that this is not the appropriate place to request changes to the Alpaca protocols. This is an implementation of the protocols, not the protocols themselves.