Skip to content
JC L. edited this page Dec 14, 2024 · 4 revisions

Welcome to the dwarfium wiki!

Dwarfium

GitHub issues GitHub last commit GitHub downloads Discord Repobeats

This application connects to the DWARF telescope and integrates with Stellarium via the DWARF API and the Stellarium remote control plugin. Once DWARF II and Stellarium are connected, you can select an object in Stellarium and command DWARF II to point to that object.

You can find the documentation here.

Screenshot of Dwarfium

Features

DWARF Session Data

You can access and download your session data for inspection.

Screenshot of session data

DWARF Camera

You can control the telescope just as you would with the official app.

Screenshot of camera control

Automated Updates for Application Versions

The desktop application is available for Windows, macOS, and Linux.

Screenshot of updates

macOS Support

Support for macOS is limited as we do not have a Mac available for dedicated support. Running this tool as a desktop application requires signing, which is currently not feasible for us.

You can still use Dwarfium with the provided web package available here.

For Mac ARM users: If you encounter an issue where the application can't be installed and should be moved to the trash, use the following command:

xattr -d com.apple.quarantine /Applications/Dwarfium.app

Setup for Coders

If you're interested in exploring the code or contributing to the project, follow these steps:

This app is built with Next.js, TypeScript, and Bootstrap CSS. It uses ESLint and Prettier for linting and formatting the code.

  1. Clone the repository.

  2. Install the necessary libraries.

npm install
  1. Start the server.
npm run dev
  1. Create a production-ready build.
npm run build:api

Start it with :

npm run start:api
  1. Build the desktop app for your operating system.

To build the desktop app, you need to install Rust.

npm run tauri build

Setup for Non-Coders

If you just want to get the site up and running on your machine, follow these steps:

  1. Download the desired release.

  2. For the web browser version:

    2.1. There are two versions, one for Windows (Dwarfium-Win) and one for Linux

    2.2. Unzip the file. A Dwarfium directory will be created. The website is a static HTML site (HTML, JavaScript, and CSS), so it should work on any OS that can run a browser and a web server.

    2.3. There is a script inside the Dwarfium directory that launch a Python's web server and necessary tools.

    On Linux

    cd Dwarfium
    ./launch-tools

    On Windows

    cd Dwarfium
    ./launch-tools.bat

    2.4. Visit the site in a browser. If you're using the script, visit localhost:8000.

Technical Details

The Stellarium remote control plugin starts a web server that allows access to the Stellarium desktop app through a web browser. When you select an object in Stellarium, you can retrieve information about that object through http://<localhost or IP>:<port>/api/main/status.

This app connects to /api/main/status and parses the returned data to get the object's name, right ascension, and declination. It then sends a go-to command to the DWARF with the right ascension, declination, latitude, and longitude data via the DWARF API.

The desktop app wraps the web service in a windowed environment. Rust provides the web service and serves the pages.

Installation: Detailed Procedure

Link to Latest Version

For Web Server Version: Linux and Windows

For Windows Version

Web Server Version

  1. There are two versions, one for Windows (Dwarfium-Win) and one for Linux

  2. Unzip the file. A Dwarfium directory will be created. The website is a static HTML site (HTML, JavaScript, and CSS), so it should work on any OS that can run a browser and a web server.

  3. There is a script inside the Dwarfium directory that launch a Python's web server and necessary tools.

    On Linux

    cd Dwarfium
    ./launch-tools

    On Windows

    cd Dwarfium
    ./launch-tools.bat
  4. Visit the site in a browser. If you're using the script, visit localhost:8000.