artyom-beilis / skyhopper

GNU General Public License v3.0
64 stars 20 forks source link

AstroHopper - (f.k.a. SkyHopper)

[TOC]

AstroHopper (formerly known as SkyHopper) is a free and open-source web application developed by Artyom Beilis that helps to find objects across the night sky. It does this by allowing an accurate hop from a well-known and easily identifiable star to other fainter stars or DSO by measuring changes in pointing angles of the cell phone using built in gyroscope and gravity sensors. It is similar to Digital Setting Circles implemented in a smart phone.

The smart phone must have gyro and gravity sensors and preferably compass.

AstroHopper is a web-based application that contains a single HTML page with a JavaScript objects database that will continue working even offline as long as it is cached by the browser.

Operation

You attach the cellphone to the telescope such that the physical top part of the phone points towards viewing direction. Note this is different from typical sky observing apps that simulate camera view of the sky. For AstroHopper the screen is parallel to the viewing direction.

Before you attach the smartphone, open AstroHopper application and calibrate the compass using "8" like movements. The calibration will significantly improve compass direction accuracy. But if your compass fails to work properly, press the hand button to use Manual Mode.

When AstroHopper starts, a Quick Start Guide appears. You can also get help by pressing the gear button at upper right and then the ? button.

  1. Align your telescope with an easily identifiable star or a planet near the object you want to observe
  2. Tap on [Align] button at top left of screen
  3. Tap on the star or the planet you selected. A 3 sec timer is started to make sure there is no shaking. After 3 seconds the application is aligned on the selected object. "Aligned" message is shown and a cross appears in the center of the screen showing the viewing direction your telescope on the map.
  4. Tap on an object you want to observe or type its name in the search box in the Settings Menu (accessed via the gear button). You will see a line showing the direction you need to move the telescope and the changes in altitude and azimuth are shown at the right and bottom part of the screen
  5. Move the telescope till these numbers are close to zero - at this point your telescope should point to the requested object
  6. In order to move to next object - repeat the alignment process from the step 1 since the built-in cellphone gyros don't keep the accuracy for a long time or multiple movements

Tutorial and Introduction Videos:

Notes for iOS Users

You need to provide some permissions to Safari in order to run AstroHopper.

Device Orientation Sensors:

Geolocation (watch for No Geolocation message on screen):

Installing AstroHopper

AstroHopper is a Progressive Web Application. It can be installed as regular application on your smart phone. Once it is installed it is fully accessible offline. You can also run AstroHopper as a demo on a laptop computer.

In order to install the application, open the URL https://artyom-beilis.github.io/astrohopper.html and install it.

The application will be installed on home screen or in applications screen - depending on browser.

To test if AstroHopper works offline:

  1. Close all applications/browsers
  2. Put your phone in "Flight/Airplane" mode, make sure WiFi is closed
  3. Tap on application icon and make sure it works.

You can usually update the installed version of AstroHopper by refreshing the page. If this does not work for your browser, uninstall it and reinstall from scratch.

Troubleshooting

Controls

Controls in Small Screen Mode

On screen controls:

Wikipedia Page Info

When W button appears you can tap on it and open a frame with Wikipedia page about the selected object.

Note: But be careful - the app has no control over style of the page and by default it would be black text over white page. It is something not desirable for night vision. To improve this, you can tweak your browser settings or use a specific browser extension such as Dark Reader, however white text or bright images may still disturb your night vision.

Thus by default the Wiki page info support is disabled in Night mode. You can change behavior in settings menu "Wiki".

Watch List

A user can create a custom watch list in advance to browse them easily during the night. There is List option in "Settings" menu. It has [edit] control to open watch list editing tool.

A watch list is defined by a simple list of object names separated by space, new lines or commas. For example below the "default" list:

M411, M47, M49, M50, M44, M45

Several named lists can be defined by giving watch list a name followed by :, for example:

clusters: M41 M47 M49
 M50 M44 M45
doublestars: Polaris, "Cor Caroli"

It is possible to add user comment between ( and ) to explain the object id. It would be shown in UI upon object selection, for example:

Galaxies: M31 (Andromeda), M64 (Black Eye)

Note: if you adding a comment or use a name that contains spaces you need to add a comma , as a separator

Lists can be selected by pressing < and > buttons in "Lists" control. When the list is selected two buttons < and > are shown in main screen under "Align" button. They allow browsing the objects forward and backward. The current selected object's name is shown under the controls.

The watch lists are stored at your phone on per domain basis. They are kept even when you reopen the app.

Note: if you accessing the app from different location (for example from local server) than it is stored separately, so prepare the list in advance.

User Objects

This application does not contain every possible star or DSO. If you want to access objects that are not listed in the database you can add them via "User Objects" in settings menu.

User object are defined in CSV format when first column contains object name, second right ascension (RA) and the third the declination (DEC). Both RA and DEC can be given as decimal degrees (0-360 for RA and -90 +90 for DEC) or in hour/degree with minutes and seconds. Seconds may be omitted. Fields can be separated by spaces, by ":" or by appropriate symbols like "h", "m", "s", "d". For example

This is an example of such a list:

V1405,23h 24m 48s, +61° 11′ 15″
Pluto,19:55:16,-22:13:42

The user objects are stored on your phone on per domain basis. They are kept even when you reopen the app.

Note: if you are accessing the app from different location (for example from local server) than it is stored separately, so prepare the list in advance.

Equatorial Mount Users

The application assumes you work with alt-azimuth mount. If you are using equatorial mount an additional error may be introduced due to misalignment between the cell phone major axis and the telescope axis.

If the targets are close to poles and significant changes in right ascension are required for the hop any misalignment error between cell phone axis and telescope axis will affect the accuracy. Final error can be calculated as 2e⋅sin(Δα/2)⋅sin(δ), where e - misalignment error between cell phone and telescope, Δα - change in right ascension required for the hop and δ - declination of the target.

So it may not work reliably for equatorial mounts. Alt-Az mounts are recommended.

Road Map

  1. Develop procedure for phone alignment for equatorial mounts.
  2. Implement zoom-via-pinch.

Known Issues

Reporting Bugs and Getting Support

Copyrights

(C) 2021-2023 Artyom Beilis.

It is an open source web application licensed under GPL license. It may work only with well working sensors. No warranty of any kind is given. For detailed copyrights of different parts of the project refer to https://github.com/artyom-beilis/skyhopper/blob/main/COPYING.md