Astroberry Server
Astroberry Server is ready to use system for Raspberry Pi for controlling astronomy equipment.
It runs on single board computer and is powered by Linux operating system. Astroberry lets you remotely control your telescope, focuser, camera and many other devices used in astronomy. It can manage your equipment located in the backyard or hundreds kilometers away. The system can be accessed as a remote desktop via a web browser or VNC client or it can act as INDI server accessible by INDI clients such as KStars, Skycharts / Cartes du Ciel or Stellarium. Astroberry Server is based on open-source software, developed and improved by astrofans around the globe.
Astroberry Server project site is located at www.astroberry.io
Contents
- 1 Features
- 2 System Requirements
- 3 Quick Start
- 4 Installation
- 5 Configuration
- 6 Maintenance and Upgrade
- 7 How-to
- 8 FAQ
- 8.1 How can I update the system?
- 8.2 … but ASTAP isn‘t upgraded using the normal means?
- 8.3 The image is too large for my microSD card
- 8.4 How to connect to my wireless home network?
- 8.5 I cannot login to astroberry HotSpot
- 8.6 How can I change my regional settings or add support for my language?
- 8.7 Screen resolution does not match my display. How can I fix it?
- 8.8 What is the source of location data in GPS Panel and Astro Panel?
- 8.9 My mount is not recognised in Kstars/Ekos?
- 8.10 How can I login to default pi user account?
- 8.11 How can I download all astrometry files for offline platesolving?
- 8.12 How can I have multiple astroberries on the same network?
- 9 Help and Support
- 10 Report a Bug
Features
- Support for Raspberry Pi 3 and 4, Pi Zero and... probably any other Raspberry Pi version released so far
- Official Raspberry Pi OS Desktop by Raspberry Pi Foundation
- APT repository for Raspberry Pi OS (yes, now any Raspberry Pi OS user can install Astroberry Server with 'apt install')
- Web interface featuring GPS Panel and Astro Panel (celestial almanac for your localization)
- Astroberry Wireless Hotspot allowing to access the system directly i.e. without external wireless network eg. in the field
- Remote desktop accessible over VNC at astroberry.local:5900 or a web browser at http://astroberry.local/desktop
- INDI framework with all available device drivers
- KStars planetarium software and Ekos with all available device drivers plus custom astroberry drivers
- SkyChart / Cartes du Ciel planetarium program (only in precooked image)
- Hallo Northern SKY planetarium program (only in precooked image)
- CCDciel capture software (only in precooked image)
- Astrometry for field solving (index files not provided and must be downloaded separately)
- ASTAP, the Astrometric STAcking Program (only in precooked image, see Updating)
- PHD2 for autoguiding
- Gnome Predict for satellite tracking
- oaCapture for planetary imaging
- FireCapture for planetary imaging
- SER Player for watching captured video streams (only in precooked image)
- Astroberry DIY drivers for focuser and relay board
- Astroberry PiFace drivers for focuser and relay board
- Astroberry Motor HAT for focuser based on Adafruit Motor HAT
- Virtual GPS for users who do not have GPS device
- File sharing server allowing for network access to captured images
- Support for raspi-config (console) and rc_gui (graphical UI) for easy configuration of Raspberry Pi options
System Requirements
- Raspberry Pi 4 (recommended) or Raspberry Pi 3 (minimal)
- microSD card 32GB (recommended) or 16GB (minimal)
Quick Start
Image Verification
You can verify downloaded file with any SHA256 checksum software available for your system or by running below commands in your terminal:
sha256sum astroberry-server_2.0.4.img.zip
See this for checksums for other versions.
Make sure that the output of the command is 2bfdf85534b5ff2844c74f760130af9bee589ad1500ffe8b572384bdaa816704.
If it's not, the file is corrupted and must be downloaded again. If you download the file again and the checksum is incorrect, please let us know.
Installation
Basic installation of the system requires flashing your microSD card with system image file. It's not the same as copying the file to microSD card. If you just copy downloaded file to your microSD card it's not going to work.
You can flash your microSD card (minimum 16GB required) using etcher.io or running below commands in your terminal:
unzip astroberry-server_2.0.3.img.zip sudo dd if=astroberry-server_2.0.3.img of=/dev/sdX bs=8M status=progress
Note: Replace sdX with your microSD card identifier. Make sure it is correct before running the above command!
The process takes some time and you need to be patient. If you abort the flashing process your system is not going to boot at all.
First Boot
After the first boot, search for 'astroberry' wireless hotspot and connect your PC to it using 'astroberry' for password. Point your browser to https://astroberry.local or https://10.42.0.1 to access Astroberry Server. For the Internet access connect your Astroberry to your home wireless network. Right-click top bar Wi-Fi icon and edit Wireless connection by entering your home network SSID and password. While connected to the Internet you can update your system by running below commands in your terminal:
sudo apt update && sudo apt upgrade && sudo apt dist-upgrade
Installation
Easy installation
See #Quick Start section
Advanced installation
You can install Astroberry Server packages on top of official Raspberry Pi OS with desktop system. This approach is not recommended for beginners. It does not provide all Astroberry Server features available in precooked image and you have to configure your system on your own, which requires advanced understanding of linux system. It's time consuming but you keep full control over the process.
Download official Raspberry Pi OS with desktop image and flash your microSD card with it. Connect keyboard, mouse and HDMI display to your Raspberry Pi, setup your system with the official first boot wizard and run the following commands in your terminal:
wget -O - https://www.astroberry.io/repo/key | sudo apt-key add - sudo su -c "echo 'deb https://www.astroberry.io/repo/ buster main' > /etc/apt/sources.list.d/astroberry.list" sudo apt update sudo apt upgrade
At this point you can choose to install all Astroberry packages at once by running sudo apt install astroberry-server-full
or you can install only selected packages.
Packages installed by astroberry-server-full include:
- astroberry-server-wui
- astroberry-server-sysmod
- indi-full
- libindi-dev
- kstars-bleeding
- astrometry.net
- gsc
- phd2
- phdlogview
- oacapture
- ser-player
- gpredict
- indi-astroberry-amh
- indi-astroberry-diy
- indi-astroberry-piface
- virtualgps
- gwenview
- indiwebmanagerapp
Configuration
Installing your own certificates
Using secure connection requires a security certificate installed on your Astroberry Server. Basic certificate is provided with the system. However, you need to trust this certificate at the first conenction to use it! Due to security constraints of modern browsers default certificate configuration might not work for you. In such a case just use unencrypted connection or install commercial certificates. To do this you need to get your certificate issued by a public certification authority recognized by your browser. As soon as you get your own certificate you can install it by replacing the content of the file /etc/ssl/astroberry.crt. To activate your changes run sudo systemctl restart nginx.service
.
Setting time and date
Raspberry Pi does not come with real time clock (RTC), which remembers time and date between restarts. As the result it does not know what time and date is just after start. To overcome this limitation, it synchronizes time and date from the Internet. This can obviously work only if it has Internet access. Otherwise your system will think it is in the 1st of January 1970.
There are a few ways to ensure that you system is set to proper time and date.
Internet connection
Connect Raspberry Pi to a network, which has Internet access e.g. your home network or your smartphone, using wireless tethering function, and the system will do the rest for you. If you can't have Raspberry Pi always connected to a network with access to the Internet you need to use other options.
RTC module
Get a real time clock (RTC) module and connect it to GPIO. It will remember time and date between restarts. Additionally if you connect your Raspberry Pi to a network with access to the Internet, your time and date will be synchronized to minimize any difference.
GPS module
Get GPS module and connect it to Raspberry Pi. You can use either USB connection (plug-and-play) or serial device connected to GPIO. GPS module will synchronize time and date with GPS satellites. Note that satellites provide UTC time and are not aware of your time zone. However if you set your timezone correctly in the system, it will be used to adjust the time received from satellites accordingly. Using GPS module gives you additional feature of setting your location, which is required by various astronomy applications.
Manual configuration
You can always set time and date manually after each boot. It's not the most convenient way to keep system time and date accurate but it's good to know you can do it anyway.
To set date to the 19th of May 2020 and time to 11:14:00 run in terminal: sudo date -s "2020-05-19 11:14:00"
Setting geographic location
Setting geographic location is quite important when using Astroberry. Many applications use your location to provide you with accurate position of stars and planets. Make sure that you set your geographic location before running these applications.
GPS device
To provide system-wide location info Astroberry system uses GPSD service. It grabs raw data from GPS device and provides it to whole operating system and applications that need this information.
If you use GPS device the whole system and applications can get accurate geographic location from it. When using GPS device make sure that Virtual GPS is stopped and disabled by running systemctl stop virtualgps && systemctl disable virtualgps
. Otherwise GPSD service will simultaneously use location from two sources i.e. GPS and Virtual GPS.
Virtual GPS
If you don't have GPS device, Astroberry provides Virtual GPS, which uses static location configured in /etc/location.conf file.
You can set your location by running Preferences/Geographic Location from system menu or running sudo nano /etc/location.conf
in console.
After setting location in the file you need to make sure that Virtual GPS service is up and running.
- Run
sudo systemctl status virtualgps
to check service status - Run
sudo systemctl enable virtualgps
to enable service - Run
sudo systemctl disable virtualgps
to disable service - Run
sudo systemctl start virtualgps
to start service - Run
sudo systemctl stop virtualgps
to stop service - Run
sudo systemctl restart virtualgps
to restart service
How applications get location data
By default applications use system-wide location data from GPSD service. However there are some other options, which must be noted.
- Kstars can use system-wide location data from GPSD service or it can read location from one of GPS drivers, namely INDI GPSD or INDI GPS NMEA
- Astroberry GPS Panel uses system-wide location from GPSD service
- Astroberry Astro Panel uses system-wide location from GPSD service
Geographic location architecture
Geographic location system architecture is quite complex.
|----> Mount with GPS ---------------------------> INDI mount driver ---->| | | Satellites ----> |----> Smart Phone with GPS ---------------------> INDI GPS NMEA -------->|----> KStars | | |----> GPS Device ------>| |----> INDI GPSD ------------>| |-> GPSD service ->| /etc/location.conf ----> Virtual GPS ---->| |----> Astroberry GPS Panel | |----> Astroberry Astro Panel
Configuring network connections
TBC
Plate solving
When using Kstars you can plate solve your images, and determine your exact telescope coordinates based on captured image. Plate solving module is located on Align tab in Ekos module. It provides a few options for plate solving:
- ASTAP - astap needs to be available on your system (it is installed by default)
- Note that you need to manually update ASTAP, see Updating
- astrometry.net
- Online - your images are uploaded to astrometry.net online service for plate-solving. Results are returned from the service. You can use it only if you have an Internet connection. No local index files are needed.
- Offline - your images are plate-solved locally i.e. on the Astroberry Server. You need to install local index files for plate solving to work.
- Remote - your images are plate-solved on remote computer. Remember to add a line in the remote /etc/astrometry.cfg pointing to index files directory e.g. add_path /home/astroberry/.local/share/kstars/astrometry (or wherever you have installed your index files manually or within Ekos) as where to find the index files. Otherwise, you can add the additional custom config setting in the local Ekos Solver Options of where to find your astrometry.cfg file on the remote server by using --config <path-to-remote-astrometry.cfg>. For a remote Astroberry server the config path should be /home/astroberry/.local/share/kstars/astrometry/astrometry.cfg
Downloading astrometry index files
Astrometry is the main engine available for plate-solving your images. However, before you can use it you have to download index files required by astrometry, which fit your field of view. KStars calculates your field of view based on your telescope focal length and sensor size of your camera. Make sure to configure your telescope focal length either on Ekos Mount tab or mount tab in INDI panel. To download index files:
- Go to Ekos Align tab
- Go to Options (bottom-right)
- Go to Index Files
- Click Index Files Location drop-down and set location to /home/astroberry/.local/share/kstars/astrometry
- Select all required index files. They will be downloaded automatically for you
Maintenance and Upgrade
Upgrading the system
Astroberry comes with online software repository. If you installed your system from downloaded image file, it is already configured for you. Using software repository you can install and update your system without need to manually download updates. Just make sure that Astroberry is connected to a network with access to the Internet and integrated software management system will download and install all updates for you.
Astroberry is Rasbian based Linux system, which uses APT software management system. You can update the system by using aptitude or Software Updater.
If you prefer to use terminal just run sudo apt update && sudo apt upgrade && sudo apt dist-upgrade
Major system upgrades are also released as a new image file. This is only for minimizing amount of updates you would have to apply between major system upgrades. There is no other need to reflash microSD card with new system image. If you decide to reflash your microSD card, make sure to backup your data first. All your data on microSD card will be overwritten during reflashing microSD card. If you update the system from software repository all your data and files are preserved.
Installing alien software
Astroberry is based on Raspberry Pi OS operating system. This means that it is a Linux operating system compatible with Debian 10 (Buster). Debian packages are distributed as .deb files available in numerous software repositories. Astroberry comes with it's own software repository (KStars, INDI, PHD2 etc) and additionally uses official Raspberry Pi OS repository for core operating system functionalities. All of these are packages for specific version of operating system i.e. Rasbian Buster.
Using packages from other Linux distributions e.g. Ubuntu is technically possible, but sometimes requires advanced configuration changes. There is no guarantee that alien packages will work properly on Astroberry. It is common error that users add Nightly Builds repository for Ubuntu to Astroberry. It can work for some packages, sometimes. In majority of cases this can be very problematic and make your system unstable. You should not do it, unless you really know what you're doing.
The safest way to bring alien software to your system is to build it from sources. This way all dependencies and requirements are ensured at compilation time.
How-to
Flashing microSD card
After downloading Astroberry Server image you need to unzip it first. Use your preferred software to do it or run this command in your terminal:
unzip astroberry-server_2.0.3.img.zip
You can flash your microSD card with unzipped file using etcher.io or running below commands in your terminal:
sudo dd if=astroberry-server_2.0.3.img of=/dev/sdX bs=8M status=progress
Note that copying downloaded file to a microSD card will not work. You need to flash your microSD card with unzipped file.
FAQ
How can I update the system?
You can upgrade all system components using regular system upgrade using apt, apt-get, aptitude or Software Updater.
… but ASTAP isn‘t upgraded using the normal means?
Yes, ASTAP is not part of the package repositories scanned for upgrades. Safest way to upgrade it, is to first remove it, then upgrade: sudo apt remove astap g17
, then download from HNSKY SITE and install using: sudo dpkg -i astap_armhf.deb && sudo dpkg -i h17_star_database_mag17_astap.deb
. Instead of magnitude 17 stars database you can install magnitude 18 stars database using h18_star_database_mag18_astap.deb.
The image is too large for my microSD card
If the image appears to be too big shrink it according to this example
How to connect to my wireless home network?
Wireless connection is predefined for you. Just edit it and change network name and password.
- Right-click wireless icon on the taskbar
- Select Edit connections
- Double-click Wireless connection
- Enter your network name in SSID field
- Go to Wi-Fi Security tab
- Enter your network password in Password field
- Reboot
I cannot login to astroberry HotSpot
Note that default keyboard layout used in the image is QWERTY. If you use other keyboard layout the password you type in might be different than you think e.g. for German keyboard it may become astroberrz (instead astroberry). Change your keyboard layout using raspi-config or gui_rc to aligh system configuration and your keyboard.
How can I change my regional settings or add support for my language?
The easiest way is to run raspi-config (console) and rc_gui (graphical UI). The latter is accessible in Menu / Preferences / Raspberry Pi Configuration
Screen resolution does not match my display. How can I fix it?
If your display cannot handle FullHD resolution (1920x1080) you need to either connect via web browser and set Local in sliding menu Settings / Scaling OR you need to change the system resolution by running raspi-config in terminal or Raspberry Pi Configuration from Prefferences menu.
What is the source of location data in GPS Panel and Astro Panel?
The panels use GPS readings for your location. If you don't have GPS the panel uses virtualgps provided with Astroberry Server. You can set your static location by editing /etc/location.conf file or using Preferences/Geographic Location menu. After the change reboot or restart virtual GPS by running: sudo systemctl restart virtualgps.service
My mount is not recognised in Kstars/Ekos?
Most mounts nowadays use a USB to serial converter for connecting. So you need to supply the correct device name and baud rate in the config, so check that. Sometimes it can happen that gpsd, the daemon handling gps recognises your mount as a gps-device. Try stopping gpsd by sudo systemctl stop gpsd.service
and disabling it: sudo systemctl disable gpsd.service
and reboot. If that‘s not it, check Jasem‘s tutorial on persistent serial ports, which shows all the commands to find out what‘s happening.
How can I login to default pi user account?
Pi user account is disabled for versions below 2.0.3. If you want to enable it run sudo passwd -u pi
Default pi account uses default password (raspberry), which should be changed for security reasons. Especially if you connect your system to the Internet and expose SSH service to public. Otherwise your system is vulnerable to a Raspberry Pi trojan.
You can lock and disable default pi account by running sudo usermod -L pi && sudo usermod -s /sbin/nologin pi
How can I download all astrometry files for offline platesolving?
sudo apt install astrometry-data-2mass astrometry-data-tycho2
downloads all files and stores them appropriately. You need to have ~30Gb of free space.
How can I have multiple astroberries on the same network?
Rename your Astroberry using raspi-config
and edit the hostname, then restart.
It is then available as newname.local. For changing the WiFi hotspot’s name, run nm-connection-editor
. You can then make it connect to your other astroberry‘s WiFi.
Help and Support
Astroberry Server is free and open-source software. It does not come with commercial support. Lots of information on how to manage it can be found in this documentation and INDI Forum. Also make sure to review open issues at GitHub
Report a Bug
File any issues on GitHub