Receiving NOAA weather satellite images with a RTL dongle and a Turnstile crossed dipole automatically.
What do you need to setup a automatic NOAA APT Weather station configuration.
The necessary licences for your region. FCC ...
Here is a
Link to Automated NOAA weather satellite System In Bassonia South Africa.
How dose this system work?
- The system consists of 3 shell scripts that tai 5 applications together.
- The shell scrip will fetch the satellite TLE keps data from celestrack. http://www.celestrak.com/NORAD/elements/weather.txt
- The NOAA satellite TLE data is then passed to the predict satellite positioning software.
- The predict software calculate when the next satellite will be above your radio station.
- The result of the calculations for the next 24 hours is then send to a scheduler program call "at".
- The "at" scheduler will then start and stop the rtl_fm receiver at the required time, frequency and record the audio in the recording directory from the NOAA satellite.
- The Audio files is not in the correct format for wxtoimg utility to convert it to images and need to be converted to the correct format using the SOX until.
- The converted recordings is then passed to wxtoimg utility to generate the Satellite images.
- The images is then exposed via a Apache web server with a php plugin to the internet.
Hardware
- Raspberry PI and power supply
- RTL dongle with USB cable and MCX connector adaptor.
- RG58 Coaxial cable with connectors or better cable. Max 4m
- Turnstile crossed dipole Antenna.
- All Hardware and software is available from Giga Technology
Software
- Predict - Utility to calculate satellite azimuth and elevation using TLE Kep elements
- rtl_fm - SDR fm Demodulation Utility to decode your ATP Satellite signal to audio file.
- Sox - To convert row Audio file into format for wxtoimg to convert to Satellite Image.
- Shell script to calculate the schedule for enabling the rtl receiver.
- wxtoimg - Utility that converts ATP Audio files into Satellite Images.
- Apache server to expose the images to the internet.
![]() |
Software Functional Block diagram |
The following software need to be installed on Raspberry Pi or Linux server.
sudo apt-get install predictsudo apt-get install rtl-sdrsudo apt-get install soxsudo apt-get install wxtoimgsudo apt-get install gitsudo apt-get install apache2sudo apt-get install phpsudo apt-get install libapache2-mod-phpsudo apt-get install php-mcryptsudo apt-get install php-mysql
Create a directory sh in hour home directory.cdmkdir shcd shCreate a wxsat directory in your home directorycdmkdir wxsatcd wxsatCreate a images directory in wxsat directorymkdir imagesCreate a recordings directory.mkdir recordingsCreate a thumb directory inside the images directory.cd imagesmkdir thumb
cd to sh directory and download the following scripts from github using the git command belowcd ~shgit clone https://github.com/antonjan/noaa_weather.git
it will create a directory
noaa_weather in the sh directory
Inside the directory there will be three scripts. (the index.php will need to be moved later)
noaa_sat_scheduler.shnoaa_scheduler.shcreate_thumbnail.shindex.phpReadme.meYou will need to change your stations GPS coordinates in the following files
Edit the file noaa_sat_schedule.sh and change the following details to your coordinates.
The last one is altitude in meters.
/usr/local/bin/wxmap -a -T "NOAA ${bird}" -H ~/wxsat/weather.txt -L
"-26.17/-28.03/1700" -p0 -o "\$mapdate" ~/wxsat/noaa${bird}map.png
/usr/local/bin/wxmap -a -T "NOAA ${bird}" -H ~/wxsat/weather.txt -L "
-26.17/-28.03/1700" -p0 -o "\$mapdate" ~/wxtoimg/maps/noaa${bird}map.png
and save the file.
Then you need update the predict program with your station coordinates.
Run the command sudo predict
Select the G to change your ground station position details.
and enter to get to next position. ESC to exit. ant then Q to exit.
Setup crontab to run the scrip at midnight
using the command
sudo crontab -eadd the following at the bottom of the crontab file
1 0 * * * ~/sh/noaa_weather/noaa_scheduler.shYou can run the script manually now to see if it works.
sudo ~sh/noaa_weather/noaa_scheduler.sh
it should create schedules to run for the next 24 hours.
type the command
sudo at -l witch should list the scheduled tasks
You should see something like this.
9
4Thu Mar 23 02:13:00 2017 a root95Thu Mar 23 14:43:00 2017 a root88Thu Mar 23 05:30:00 2017 a root92Thu Mar 23 05:49:00 2017 a root89Thu Mar 23 17:53:00 2017 a root
There also should be at least 4 files in the ~/wxsat directory
noaa15.at
noaa18.at
noaa19.at
weather.txt
If you got here all went ok.
Connect the rtl dongle to your raspberry pi or Linux (ubuntu) computer.
Connect the coaxial cable to the Turnstile crossed dipole at wate for the first scheduled task as in the list above. sudo at -l
If you want to remove a previous task you can run the following command.
Make sure you always only have one task for the same time.
sudo atrm [task number] EG sudo atrm 94
Go and look in the
~/wxsat/images directory and your satellite images should be there for the day.
cd ~/wxsat/imagesOk now we need to get your image exposed on the Apache2 web server.
You now will need the full path to your wxsat directory.
cd ~/wxsatpwd/home/anton/wxsatSo in my case the full path is /home/anton/wxsatCreate a link between the apache server and you images.
go to directory /var/www
cd /var/wwwsudo ln -s /home/anton/wxsat ./wxsat
if you goto you webserver on raspberry or linux you should see your images.
Take your browser on the Raspberry or linux server and goto http://localhost/wxsat/images
You will see a directory with file names of all the satellite images.
If you cant see the images you might have to make a small change to your apache2.conf file.
make sure you have the following in you /etc/apache2/apache2.conf file
change or add this
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Then restart Apache2
sudo systemctl restart apache2
![]() |
Image file list |
Ok So you want to see thumbnail images and the click on image to view full image the copy the file index.php from the git repository into your images directory.
cp ~/sh/noaa_weather/index.php ~/wxsat/images/
Ok check your image directory in your web browser again and it should now have index page with thumbnails. You can change the index.php content of this page to add your details.
http://localhost/wxsat/images
![]() |
Thumbnail Image index page |
Here is a
Link to Automated NOAA weather satellite System In Bassonia South Africa.
![]() |
My Satellite Antennas |