Skip to content

Commit

Permalink
Merge pull request #36 from synfinatic/instructions
Browse files Browse the repository at this point in the history
update instructions
  • Loading branch information
synfinatic authored Jul 28, 2021
2 parents 6cb0305 + cfff94c commit b898e9c
Show file tree
Hide file tree
Showing 2 changed files with 90 additions and 79 deletions.
23 changes: 12 additions & 11 deletions Configure.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,26 @@ SkySafari for the most common use cases.
## What you need

* Your telescope mount configured in [ASCOM](https://ascom-standards.org).
* Download & install [ASCOM Remote](https://github.com/ASCOMInitiative/ASCOMRemote/releases)
to convert ASCOM to Alpaca.
* Download & install [ASCOM Remote Server](
https://github.com/ASCOMInitiative/ASCOMRemote/releases) to convert ASCOM
to Alpaca.
* [AlpacaScope](https://github.com/synfinatic/alpacascope/releases) downloaded
for your computer to convert Alpaca to NexStar/LX200.
* SkySafari or some other astronomy software which speaks Celestron NexStar or
Meade LX200 protocol over TCP/IP.

This document will assume you have your telescope mount already setup via ASCOM
and walk you through configuring ASCOM Remote, AlpacaScope and SkySafari. If
your mount is supported natively via Alpaca please reach out to me and I will
be happy to help you.
your mount is supported natively via Alpaca you can skip to step #7!

## Let's Go!

1. Connect your telescope mount to your PC as usual and start up whatever ASCOM
driver you normally use. (For the purposes of this documentation, I will be
using the ASCOM Telescope Simulator.)
2. Download and install [ASCOM Remote](https://github.com/ASCOMInitiative/ASCOMRemote/releases).
3. Start ASCOM Remote and click "Setup"
2. Download and install [ASCOM Remote Server](
https://github.com/ASCOMInitiative/ASCOMRemote/releases).
3. Start ASCOM Remote Server and click "Setup"
![](https://user-images.githubusercontent.com/1075352/127172229-8550cf99-98f1-4b5b-8eaf-fa48f05fec7f.png)
4. Configure your telescope as shown:
![](https://user-images.githubusercontent.com/1075352/127172241-aca0e0ea-620d-4135-a5fd-542cd58449a7.png)
Expand All @@ -33,17 +34,17 @@ be happy to help you.
6. Choose which network interface to listen on:
* `localhost` - More secure. Use if running AlpacaScope on the same computer
* `+` - Less secure. Use if running AlpacaScope on a different computer
(remote observatory, etc)
(remote observatory, etc).
![](https://user-images.githubusercontent.com/1075352/127172250-e9376f78-77fc-4d09-9826-51c06ba28632.png)
7. Start AlpacaScope:
* `Telescope Protocol` - This must match your setting in SkySafari
* `Mount Type` - Only for NexStar. Set to your mount type
* `Telescope Protocol` - This must match your setting in SkySafari.
* `Mount Type` - Only for NexStar. Set to your mount type.
* `Listen IP` - Default is to listen on all interfaces so you can use
SkySafari on a remote device (iPad, Android tablet, etc). Change if
you wish.
* `Listen Port` - 4030 is the default port SkySafari uses
* `Listen Port` - 4030 is the default port SkySafari uses.
* `Auto Discover ASCOM Remote` - Keep checked unless you have a complex
network setup (then you can manually set the values)
network setup (then you can manually set the values).
* `ASCOM Telescope ID` - Must match the telescope ID set in Step #4.
* `Start AlpacaScope Services` - Click this when settings are correct!
You should then see the following messages in the box below showing it is
Expand Down
146 changes: 78 additions & 68 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,45 +4,18 @@

Basically AlpacaScope is a lot like the [SCC SkyFi](
https://www.skysafariastronomy.com/skyfi-3-professional-astronomy-telescope-control.html)
and Sequence Generator Pro's [WiFi Scope](https://www.sequencegeneratorpro.com/download/wifi-scope/).
and Sequence Generator Pro's [WiFi Scope](
https://www.sequencegeneratorpro.com/download/wifi-scope/).

Unlike the SkyFi, there is no special device you have to buy to control
your telescope; you can just use your Windows, Mac or Linux computer. AlpacaScope controls
your telescope via [ASCOM](https://ascom-standards.org) and [ASCOM Remote Server](
https://github.com/ASCOMInitiative/ASCOMRemote) or via [Alpaca](
https://ascom-standards.org/Developer/Alpaca.htm) directly.
your telescope; you can just use your Windows, Mac or Linux computer.
AlpacaScope controls your telescope via [ASCOM Alpaca](
https://ascom-standards.org/Developer/Alpaca.htm)
which is an open source and open standard for astronomy software.

WiFi Scope is probably the closest thing to AlpacaScope- it also runs on Windows
and uses ASCOM. Unfortunately, I've found WiFi Scope buggy (it crashes a lot
for me) which is why I ended up writing this. Now AlpacaScope has more features
than WiFi Scope.

## Why?

TL;DR: I have a [Celestron Evolution EdgeHD 800](
https://www.celestron.com/products/nexstar-evolution-8-hd-telescope-with-starsense)
and I'd like to be able to control it via [SkySafari](https://skysafariastronomy.com).

Unfortunately, the WiFi on the Evolution mount is known to be a bit flakey and
it's annoying when it drops out and you have to exit the app, reconnect to WiFi,
restart the app, and re-connect to the telescope.

So I decided to create this little application which allows me to control the
telescope via [CWPI](
https://www.celestron.com/pages/celestron-pwi-telescope-control-software)
which runs on the PC I have connected to the telescope via USB. Of course,
SkySafari can't talk directly to CWPI. CWPI supports [ASCOM](
https://ascom-standards.org) but that only allows IPC via Windows COM
which doesn't even support talking to programs on other computers (or my iPad).

But then in 2019, ASCOM introduced [Alpaca](
https://ascom-standards.org/Developer/Alpaca.htm) which via
[ASCOM Remote Server](https://github.com/ASCOMInitiative/ASCOMRemote/releases)
exposes the ASCOM API via REST. Of course, SkySafari doesn't support this (yet)
so I decided to write a service which emulates a telescope SkySafari supports
and talks to Alpaca Remote Server. The result is that SkySafari can now control
my Celestron Evolution mount, or any mount that supports the ASCOM or
Alpaca standards.
If your telescope does not yet support Alpaca, there is good news: you can use
[ASCOM Remote Server](https://github.com/ASCOMInitiative/ASCOMRemote) to bridge
Alpaca to the older [ASCOM](https://ascom-standards.org) platform.

## Install

Expand All @@ -64,34 +37,36 @@ Celestron Evolution <-> CWPI <-> ASCOM <-> ASCOM Remote <-> AlpacaScope <-> SkyS
`-> ZWO Camera
```

Basically, just download the binary for your system (easist to run on the same Windows
box as ASCOM & the ASCOM Remote Server) and run it. It will automatically find
the ASCOM Remote Server running on your network and connect to it.
Basically, just download the binary for your system (easist to run on the same
Windows box as ASCOM & the ASCOM Remote Server) and run it. It will
automatically find the ASCOM Remote Server running on your network and connect
to it.

Configure SkySafari or other remote control software to connect to AlpacaScope on port
4030 using the Celestron NexStar (I use the NexStar/Advanced GT) or Meade LX200 GPS
protocol. AlpacaScope supports both, but defaults to NexStar.
Configure SkySafari or other remote control software to connect to AlpacaScope
on port 4030 using the Celestron NexStar (I use the NexStar/Advanced GT) or
Meade LX200 GPS protocol. AlpacaScope supports both, but defaults to NexStar.

AlpacaScope supports the "Auto-Detect SkyFi" feature in SkySafari so you should not need
to enter the IP address of your computer running AlpacaScope.
AlpacaScope supports the "Auto-Detect SkyFi" feature in SkySafari so you should
not need to enter the IP address of your computer running AlpacaScope.

### Graphical User Interface

![](https://user-images.githubusercontent.com/1075352/126884700-13caa5e7-fca7-4fc2-8c1e-33dad1ca353d.png)

Hopefully the above is pretty self-explainatory. In general, the defaults (other than the
mount type) should work 99% of the time and you can just press `Start AlpacaScope Services`. This
will then:
Hopefully the above is pretty self-explainatory. In general, the defaults
(other than the mount type) should work 99% of the time and you can just press
`Start AlpacaScope Services`. This will then:

* If 'Auto Discover ASCOM Remote' is enabled, it will try to find it on your local network
* Attempt to connect to ASCOM Remote
* If 'Auto Discover ASCOM Remote' is enabled, it will try to find it on your
local network
* Attempt to connect to ASCOM Remote
* Start SkyFi auto-discovery for SkySafari
* Listen for new connections on the ListenIP/ListenPort

### Command Line Flags

AlpacaScope supports a number of optional CLI options. For a full list use the `--help`
flag.
AlpacaScope supports a number of optional CLI options. For a full list use the
`--help` flag.

* `--help` Built in help
* `--alpaca-host` Manually set the FQDN or IP address of the host running ASCOM Remote Server
Expand All @@ -102,6 +77,33 @@ flag.
* `--mode` Choose between `nexstar` and `lx200` protocols. `nexstar` is the default.
* `--debug` Print debugging information

## Why?

TL;DR: I have a [Celestron Evolution EdgeHD 800](
https://www.celestron.com/products/nexstar-evolution-8-hd-telescope-with-starsense)
and I'd like to be able to control it via [SkySafari](
https://skysafariastronomy.com).

Unfortunately, the WiFi on the Evolution mount is known to be a bit flakey and
it's annoying when it drops out and you have to exit the app, reconnect to WiFi,
restart the app, and re-connect to the telescope.

So I decided to create this little application which allows me to control the
telescope via [CWPI](
https://www.celestron.com/pages/celestron-pwi-telescope-control-software)
which runs on the PC I have connected to the telescope via USB. Of course,
SkySafari can't talk directly to CWPI. CWPI supports [ASCOM](
https://ascom-standards.org) but that only allows IPC via Windows COM
which doesn't even support talking to programs on other computers (or my iPad).

But then in 2019, ASCOM introduced [Alpaca](
https://ascom-standards.org/Developer/Alpaca.htm) which via
[ASCOM Remote Server](https://github.com/ASCOMInitiative/ASCOMRemote/releases)
exposes the ASCOM API via REST. Of course, SkySafari doesn't support this (yet)
so I decided to write a service which emulates a telescope SkySafari supports
and talks to Alpaca Remote Server. The result is that SkySafari can now control
my Celestron Evolution mount, or any mount that supports the ASCOM or
Alpaca standards.

## FAQ

Expand All @@ -117,14 +119,19 @@ protocols.

1. A telescope mount with an ASCOM or Alpaca driver.
1. The ASCOM/Alpaca driver configured on a computer.
1. If your mount only has an ASCOM driver, you will need ASCOM Remote Server installed, configured & running
1. If your mount only has an ASCOM driver, you will need ASCOM Remote Server
installed, configured & running
1. AlpacaScope installed and running
1. Some kind astronomy software which talks the Meade LX200 or Celestron NexStar protocols
(SkySafari, etc)
1. Some kind astronomy software which talks the Meade LX200 or Celestron
NexStar protocols (SkySafari, etc)

#### How do I configure AlpacaScope and ASCOM Remote Server?
[This document](Configure.md) provides step-by-step instructions to configure
everything.

#### Does this support SkySafari on Mac, iPad, Android, etc?
Yes, this supports all versions of SkySafari which allow for controlling telescopes.
Typically this is SkySafari Plus and Pro.
Yes, this supports all versions of SkySafari which allow for controlling
telescopes. Typically this is SkySafari Plus and Pro.

#### What about other astronomy software?
Yep, anything that can do Celestron NexStar or LX200 protocols over TCP/IP
Expand All @@ -144,9 +151,10 @@ For the record, I build all the release binaries on a Mac- so the chances of
a Windows virus infecting the binaries is pretty much zero.

#### Windows says AlpacaScope was published by an unknown author?
Yes, I haven't yet paid Microsoft a fee so you will get this warning. If you have downloaded
the AlpacaScope binary from github.com it should be safe, but if you want to be extra careful
you can verify the GPG signature I include with every release.
Yes, I haven't yet paid Microsoft a fee so you will get this warning. If you
have downloaded the AlpacaScope binary from github.com it should be safe, but
if you want to be extra careful you can verify the GPG signature I include
with every release.

#### What features work with SkySafari?

Expand All @@ -171,8 +179,8 @@ it is cross-platform, but I haven't looked into it yet.

#### Does AlpacaScope need to run on the same computer as Alpaca or ASCOM Remote?
No, but that is probably the most common solution. AlpacaScope just needs
to be able to talk to the ASCOM Remote Server running on the same computer as the
ASCOM driver connected to your telescope mount.
to be able to talk to the ASCOM Remote Server running on the same computer as
the ASCOM driver connected to your telescope mount.

#### My telescope mount has an Alpaca driver. Can I use that instead of going through ASCOM Remote?
Yes! Over time I expect more telescope mounts to have native Alpaca support
Expand All @@ -194,17 +202,19 @@ If you wish to build your own binary on Windows, you'll need to do:
https://golangdocs.com/install-go-windows).
1. Install GNU Make for Windows/Git by following [these instructions](
https://gist.github.com/evanwill/0207876c3243bbb6863e65ec5dc3f058#make)
1. Install [TDC GCC](https://jmeubank.github.io/tdm-gcc/).
1. Clone this repoistory onto your computer using Git or just downloading the
Zip file from Github.
1. Using the Git shell (installed in Step #1), from inside of the AlpacaScope
source tree, run `make windows-gui` or `make windows-release` to build a binary.
source tree, run `make windows-gui` or `make windows-release` to build a
binary.

#### How to build on Linux, OSX, etc?

1. Install [GoLang](https://golang.org) for your OS.
1. Make sure you have GNU Make installed. BSD Make will not work out of the box.
If you don't want to install GNU Make, you'll have to run the `go build` command
manually.
1. Make sure you have GNU Make installed. BSD Make will not work out of the
box. If you don't want to install GNU Make, you'll have to run the
`go build` command manually.
1. Clone this repoistory onto your computer using Git or just downloading the
Zip file from Github.
1. Run `make` (or `gmake`) to build a binary for your OS.
Expand All @@ -220,6 +230,6 @@ fork mount which can optionally have a wedge. The result is the mount must be
told to change it's tracking mode.

However, Alpaca/ASCOM does not support this- it only allows you to turn on &
off tracking. Hence, AlpacaScope allows you to specify the mount type at startup,
and then when SkySafari/etc queries the current tracking mode it will get the
correct answer.
off tracking. Hence, AlpacaScope allows you to specify the mount type at
startup, and then when SkySafari/etc queries the current tracking mode it will
get the correct answer.

0 comments on commit b898e9c

Please sign in to comment.