/Auto137

An automated satellite station program. Mirror of https://gitlab.altillimity.com/altillimity/auto137

Primary LanguagePythonMIT LicenseMIT

Auto137

There already is quite a bunch of programs fullfilling the same function, that is managing an automatic satellite receiving / decoding station aimed at NOAA / METEOR, but none worked the way I wanted it to... So was born Auto137, a python-based autonomous APT / LRPT / etc station made to easily support more options and be cleaner (only 1 language).

What it does

This program, along with the necessary external tools and libraries, can do all this :

  • TLE fetching from Celestrak
  • Predict passes
  • Record satellites passes
  • Decode it
  • Pass conflict solving, including priorities
  • Easy support for other protocols
  • Multi-Threaded, decoding does not impact reception

All decoded data is saved into the chosen directory and an optional RSS feed can be enabled (no history saving to save on size).

Requirements

Installation

This procedure should work on any debian-based system (including Raspbian). If using anything else replace apt with your distro's package manager (eg. dnf, yum, pacman, opkg).

Start by installing all required packages through your package manager, including pip for other dependencies.

sudo apt install ffmpeg rtl-sdr python3-pip python3-numpy fpc build-essential

Then install all python libraries.

sudo pip3 install satellitetle orbit_predictor apscheduler pyyaml PyRSS2Gen

Now you need to install noaa-apt (download here), and compile meteor_demod and meteor_decoder :

git clone https://github.com/artlav/meteor_decoder.git && cd meteor_decoder && sh ./build_medet.sh && sudo cp medet /usr/bin

git clone https://github.com/dbdexter-dev/meteor_demod.git && cd meteor_demod && make && sudo make install

Now clone this git repo, edit the config file to your likings and start main.py using python3 main.py. If you experience an exception concerning config = yaml.load(f, Loader=yaml.FullLoader), change it into config = yaml.load(f).