stdevPavelmc / FAASGS

Fully Automatic Amateur Satellite Ground Station
GNU General Public License v3.0
61 stars 10 forks source link
amsat apt-satellites armbian hamradio raspberry-pi rtl-sdr satellite satellites satellites-images sbc

Fully Automatic Amateur Satellite Ground Station

A setup to build a satellite ground stations that can tune, record and generate images for FM and APT weather satellites.

This is the software recipe, in the hardware part I used an Orange Pi Prime Board but you can use any Single Board Computer, including Raspberry Pis (Note: see section "Installation note in Raspberry Pi OS"), O-droids and even a normal PC or Server.

The only advice is to use one with a multiple cores and at least 1GB of RAM as some task are resource intensive.

I used Armbian as OS, but you can manage it to make it work with RaspiOS or any other linux distro with a little of work.

A sample of the main view:

Main view of the page

A sample view of a pass of PO-101 DIWATA-2B (FM sat):

Main view of the page

A sample view of a pass of a NOAA weather APT satellite:

Main view of the page

Inspiration

This project is inspired and heavily based on the work of Luick Klippel and his work on his NOAA Satellite Station repository.

Features

Future features?

Installation steps

warning Warning: all the installation steps mentioned here needs root privileges, typically just making a sudo -s in the console to gain root is enough, or you can type sudo before any command.

pre-installation requisites

As this tool relies on many tools I will not explain how to setup each one, but I will give you clues of where to get info about it.

You need a web server with php installed (at least version 7.x, no MySQL or MariaDB support needed), google has a lot of guides indexed, just google for "install nginx and php in [your-operating-system]"

RaspiOS users: If the web server works but does not process php files (try to download the index.php file instead of process & show) you must take a peek on this tutorial about how to enable php support for nginx.

You need to install predict the software to make predictions of satellite passes.

For RaspiOS / Raspbian:

sudo apt install predict

For Armbian you need to compile it from source, you can get it from the Predict home page.

After installing predict you need to do this aditional step to make it run properly (install some files):

sudo -i
mkdir /root/.predict
cd /root/.predict
wget https://raw.githubusercontent.com/kd2bd/predict/master/default/predict.db
wget https://raw.githubusercontent.com/kd2bd/predict/master/default/predict.tle
wget https://raw.githubusercontent.com/kd2bd/predict/master/default/predict.qth
# Next step only if using a Rasberry Pi board
ln -s /root/.predict /home/pi/.predict

This wonderful piece of software was deprecated by the original authors but a group of enthusiast keep it alive in the Restored WXtoImage site.

Just download it here: WXtoImage deb package for ARM or browse the site for other architectures.

To install it copy it to your SBC computer and run (Debian based distros):

sudo dpkg -i wxtoimg-armhf-2.11.2-beta.deb
# [ignore errors if any]
sudo aptitude install -f
# [this will fix any dependency error listed above]

As I mention this software is abandonware and if you search on the site you will find a generic register credentials.

To register the software in the SBC you need to install it on a linux box with an GUI (can be another SBC or a real linux box); run xwximage and fill your coordinates and settings, register with the credentials and just then locate a hidden file under your home directory called .wxtoimgrc and copy it to /root/.wxtoimgrc in the SBC. You are done.

You need at least git and make, in most linux (including SBCs) you are set by running this:

sudo apt install git make

For some unknown reason the rtl_fm tool lacks the -E wav option as @takagiwa found, the solution is to compile the rtl-fm from upstream, see this comment for details.

Real install

Configuring

After the configure step you need to modify your local data, you callsign (use N0NAME if you are not a ham radio operator), name, locator (use this tool if you are in doubt), coordinates (use locator tool to check the coordinates too), QTH and the satellites you want to capture.

Just go to /etc/sat_data and edit a file named user.conf with the command sudo nano user.conf to fill your data.

You will find a proxy setting there to, if you don't use a proxy just leave it as is, if you use a proxy then follow the comments.

Next step is to select the satellites you want to monitor, the file is named sats.json and it has a very common web format, you can add or remove sats as your need.

Use sudo nano sats.json to edit the file, it came by default with all the working NOAA satellites and the working VHF ones, but if you have a dualband antenna you can introduce some UHF sats also.

Please note that the satellites has a name and a nickname, the name refers to the one that appears in the TLE file and the nickname is a friendly name for us (and must not contain spaces, parenthesis, slashes, etc)

Upgrading

This software is designed to be upgradeable with little eforts, just follow this steps:

Removing

If you need to remove the software there is a command for that make remove, but all the collected data will be preserved in the /var/www/html/sat folder, you will be warned about it.

A word about the RF part: Antennas!

I have not spoken about antennas and RF in this document because that relies on your expertice, I will mentioned my experience with some and I trust your internet skills to find them

As usual, the higher and un-obstructed view for the antenna the better, also for coax: top quality ones and as short as possible.

This is FREE SOFTWARE!

Free as in freedom, no payment are needed, see the LICENCE file for details.

If this is software is of any utility to you; please consider to make a donation to keep me improving it, see Contributing file for details.

Contributing

You can improve the software, appoint bugs or fails, donate equipment or money, top up my cell phone, or just share your impressions on social media; details for all of that in the Contributing file.

Any contribution is welcomed.