Difference between revisions of "Astroberry Server"
|Line 177:||Line 177:|
=== Configuring network connections === <!--T:33-->
=== Configuring network connections === <!--T:33-->
=== Plate solving ===
=== Plate solving ===
Revision as of 05:25, 21 August 2022
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
- 1 Features
- 2 System Requirements
- 3 Quick Start
- 4 Installation
- 5 Configuration
- 5.1 Installing your own certificates
- 5.2 Setting time and date
- 5.3 Setting geographic location
- 5.4 Configuring network connections
- 5.5 Plate solving
- 5.6 Downloading astrometry index files
- 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 My Astroberry seems to be locked on 2.4GHz, how can I use 5Ghz WiFi ?
- 8.6 I cannot login to astroberry HotSpot
- 8.7 How can I change my regional settings or add support for my language?
- 8.8 Screen resolution does not match my display. How can I fix it?
- 8.9 What is the source of location data in GPS Panel and Astro Panel?
- 8.10 My mount is not recognised in Kstars/Ekos?
- 8.11 How can I login to default pi user account?
- 8.12 How can I download all astrometry files for offline platesolving?
- 8.13 How can I have multiple astroberries on the same network?
- 9 Help and Support
- 10 Report a Bug
- 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
- Raspberry Pi 4 (recommended) or Raspberry Pi 3 (minimal)
- microSD card 32GB (recommended) or 16GB (minimal)
You can verify downloaded file with any SHA256 checksum software available for your system or by running below commands in your terminal:
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.
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.
unzip astroberry-server_2.0.4.img.zip sudo dd if=astroberry-server_2.0.4.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.
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
See #Quick Start section
The procedure described below does not apply to the latest Raspberry OS based on Debian Bullseye. It is designed for Raspberry Pi OS (Legacy) based on Debian Buster. Packages for the newest version will be available soon.
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:
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.
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.
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.
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.
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.
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.
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.
sudo systemctl status virtualgpsto check service status
sudo systemctl enable virtualgpsto enable service
sudo systemctl disable virtualgpsto disable service
sudo systemctl start virtualgpsto start service
sudo systemctl stop virtualgpsto stop service
sudo systemctl restart virtualgpsto 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
You can configure your local network, wireless or Internet connection using general operating system preferences.
Accessing files over network
Your home directory i.e. /home/astroberry is shared over local network by default. You can access files located in this directory over local network using astroberry user name and password. Configuration of the file share is located in
/etc/samba/smb.conf and you can change default password running
smbpasswd -s -a astroberry
Using network drive
You can easily attach a network storage e.g. NAS to your Astroberry and, if using fast network connection, even write you images directly to it. To do so you can mount a directory from your network storage to a selected directory on Astroberry, using windows and apple file sharing, NFS or any other file sharing protocol. To access windows file sharing service from Astroberry:
- Configure your shared directory on network storage e.g. NAS and make it accessible to a user e.g. astroberry
- Install cifs-utils on Astroberry:
sudo apt install cifs-utils
- Create a local mount point:
sudo mkdir /mnt/nas
- Create a local credentials file:
sudo touch /etc/nas.credentials
- Limit access to the local credentials file:
sudo chmod 600 /etc/nas.credentials
- Add username and password configured on your network storage to the local credentials file (e.g. astroberry/astroberry):
sudo nano /etc/nas.credentials
- The content of the local credential file should look like this:
- Add automounting option to your system configuration:
sudo nano /etc/fstab
- In the file add this line:
//your_network_storage_name_or_ip/shared_directory /mnt/nas cifs x-systemd.automount,_netdev,vers=3.1.1,uid=astroberry,gid=users,file_mode=0664,dir_mode=0775,credentials=/etc/nas.credentials 0 0
Using this procedure you can use as many network storage devices as you want. Just remember to mount each of them to separate local directory (e.g. /mnt/nas1 /mnt/nas2), use separate or shared local credential file(s) and add separate automount configuration line for each network storage to /etc/fstab.
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
- 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.
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:
sudo dd if=astroberry-server_2.0.4.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.
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
My Astroberry seems to be locked on 2.4GHz, how can I use 5Ghz WiFi ?
You need to set the WiFi country in raspi-config correctly. If this does not stick, check /etc/default/crda and add your country in that file.
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