This is not a guide or tutorial on how to receive images from NOAA and Meteor meteorological satellites. This page presents a general idea for the implementation of a fully automatic receiving station with it's own http server. For everything to work without human supervision, many mechanisms have been implemented, the description of which relates to this particular solution. I will not present all script listings because they are built for a non-transferable platform. Everything described here is the answer to the question "How europefromspace.online works".
If there are any questions, something needs to be clarified, I can help by mail.
It all starts with the antenna. QFH made of H155 coaxial cable. Very good antenna gain, lightweight construction with sewer pipes and hot glue. Such an antenna is cheap and good.
It's good because it's cheap.
The next element is the mast. At first, it was 4 meter above the level of the roof gangway.
Mast is inside steel pipe, which is attached to chimney by steel profiles.
Unfortunately, due to the surrounding buildings and trees, such height turned out to be too small. A three-meter extension was attached to the four-meter mast by attaching it over a meter length.
That was enough to see what was going on from Africa to Svalbard. In addition, TV antennas were attached to the mast.
To receive NOAA and Meteor-M satellites simultaneously, you need two rtl-sdr and a signal splitter. When the splitter was used the signal got worse. It was not bad enough to not receive anything, but so weak that long flights were not recorded. A VHF / UHF amplifier with a built-in splitter was used. The use of an amplifier significantly improved the reception and allowed to reduce the gain in rtl-sdr.
RTL-SDRs are connected to HP 800 G1 USDT computer. Little machine with big posibilities. Intel(R) Core(TM) i5-4590S CPU @ 3.00GHz, 16GB of RAM, mSATA SSD 240GB for operating system and 1TB HDD for images and other stuff. The PC and amplifier are connected to the UPS to ensure uninterrupted operation. The internet connection is made by GPON, so it is resistant to mains power outages. The software makes sure that in the absence of internet send all photos later. This site's http server is located in a different location than the receiving station. The internet connection between the SDR computer and the http server and an additional management computer is shown in the diagram:
PC is running under Debian 10. Xwxtoimg is used for NOAA satellites. The website index page is sent via the built-in xwxtoimg mechanism to http server, the modified and adapted template6 is used. Program mlrpt is used for Meteor-M N2 satellite. To decode Meteor-M N2-2 a Windows in virtual machine is used with SDRSharp and LRPT Decoder.
The next parts will be descriptions of how to implement websites. Each subpage: NOAA, Meteor-M N2 and Meteor-M N2-2 is implemented differently.
A common element is the script that runs daily at 00:10, which sets up jobs for the "at" linux scheduler. Fisrt of all, it's checked how many jobs are set. If none, the process begins. While there are zero jobs, curl downloads new Keplers, and fires scripts for each satellite. On the end there are lines that checked if everything was OK and number of jobs is greater than zero. If so, I received an email with list of passes for that day. The same list as you can see on main page.
As you can see, this script only fires scripts to really add jobs to "at" scheduler. Script "schedule_satellite.sh" use predict software to check when the passen will be. If pass have max elevation over 10° - the pass will be recorded. Time of start radio is 2 minutes before satellite reach horizon, because xwxtoimg starts recording less then 2 minutes before 0° elevation. A 120 seconds is added to total timeout of radio beeing turned on. It is really important that the timer is set correctly, otherwise the radio will turn on too late or turn off at the wrong time. Real work is done in the script that the scheduler calls.
For NOAA satellites this script fires simple command that starts the radio and play it to device hw:0,0, an alsa-loop:
timeout $time rtl_fm -f x.xM -d 1 -g x.x -p -2 -s 48000 -F 9 -A fast -E deemp - | sox -t raw -e signed -c 1 -b 16 -r 48000 - -t raw - rate 11025 | aplay -r 11025 -f S16_LE -D hw:0,0
on the other side of alsa-loop is hw:0,1, from which xwxtoimg reads data. Radio start shown in the picture:
Often, several satellites are simultaneously in the sky. The time to get out of the horizon decides which one will be recorded. The next ones have to wait. And it is the "while [` pidof rtl_fm`] "loop that checks whether rtl_fm is working is responsible for the delay of the next recording. It sometimes happens that after recording xwxtoimg closes, so there is a condition to check if xwxtoim works. If not, it is run with the appropriate command.
Received data is processed by xwxtoimg and xwxtoimg prepares index page for NOAA and uploads images over FTP to http server. Xwxtoimg has it's own mechanism to starting and stopping recording, so all you need to upload images to a website is scheduled jobs, and working xwxtoimg on one of Debian's desktops.
Because Linux has dedicated software for receiving images from Meteor-M N2, this part is simple and uncomplicated. The only difficulty is changing the name of the final image file to be easily sortable by date.
Script make_index.sh is used to make index page for meteor and archive meteor subpages. The script reads the local images directory and creates a separate entry for each file in the index file. If there are more than 24 files, each subsequent file is placed in the archive index file. With each call, the script writes the first, newest, 24 photos to the index file for meteor-m2 and each subsequent, older, writes to the index archive file. Than index files are sent to the http server.
This satellite is decoded in virtual machine with Windows 10. SDRSharp with the "Meteor Demodulator" plugin and LRPT Analizer software is responsible for receiving and decoding the signal. It is controlled by Orbitron. The configuration does not differ from other configurations, the description of which can be found on the network. SDRSharp is feeded by RTL-SDR via rtl_tcp. It's hard to automatically connect and disconnect USB device to and from virtual machine. Simplest way is to have RTL-SDR connected to host machine and send baseband via tcp to virtual machine. So linux script looks like this:
On Debian, incrontab watches over the shared directory and runs a script to build an index file for the website when the image is in the observed directory. This linux script also uploads images to http server.
It was a general description of the automatic receiving station with auto upload images to website. If there are any questions, please email me. If you have any suggestions or ideas on how to improve the website, write me too!