Main apps needed:
– WxToImg
– Predict
– Rtl-SDR
– Sox
– Dropbox bash uploader
– Some essential packages
– A script to link it all together, provided by a reddit user the2belo. Check out the sources at the bottom of this post.
apt-get update apt-get install curl git-core git cmake at predict sox libusb-1.0-0-devx-fmt-all build-essential libasound-dev libpulse-dev -y
cat <<EOF >no-rtl.conf blacklist dvb_usb_rtl28xxu blacklist rtl2832 blacklist rtl2830 EOF
mv no-rtl.conf /etc/modprobe.d/ git clone git://git.osmocom.org/rtl-sdr.gi cd rtl-sdr/ mkdir build cd build cmake ../ -DINSTALL_UDEV_RULES=ON make make install ldconfig cd ~ cp ./rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/ reboot
rtl_test
Output should look similar to this:
root@rpi:~/wxsat# rtl_test
Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000001
Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6
[R82XX] PLL not locked!
Sampling at 2048000 S/s.
Info: This tool will continuously read from the device, and report if
samples get lost. If you observe no further output, everything is fine.
Reading samples in async mode…
wget http://www.wxtoimg.com/beta/wxtoimg-armhf-2.11.2-beta.deb dpkg -i wxtoimg-armhf-2.11.2-beta.deb wxtoimg
Accept.
predict
Setup your QTH.
cd ~ mkdir wxsat wget https://raw.githubusercontent.com/the2belo/wxsat-scheduler/master/noaa-scheduler.sh chmod +x noaa-scheduler.sh mkdir images recordings
Edit noaa-scheduler.sh to reflect your location.
Change -L parameter
/usr/local/bin/wxmap -T “NOAA ${bird}” -H ~/wxsat/weather.txt -L “35.47/136.76/20” -p0 -o “\$mapdate” ~/wxsat/noaa${bird}map.png
Format is: (lat/lon/alt meters)
Use this site to get lat and lon for your location http://www.latlong.net/lat-long-dms.html
Edit noaa-scheduler.sh for gain and SDR dongle ppm correction:
timeout $rectime /usr/local/bin/rtl_fm -d 0 -f ${freq}M -s 48000 -g 44.5 -p 1 -F 9 -A fast -E DC ~/wxsat/recordings/NOAA${bird}-\$recdate.raw
-g = gain
-p = ppm
Play with gain settings to get the best results.
You also need to add the timezone for the script, add
export TZ='UTC date'
in a new line after #!/bin/bash and after cat << EOF > ~/wxsat/noaa${bird}.at
This is how it looks like in a final version: https://pastebin.com/3uWcp9wi
Script generates MCIR and HCVT images by default, you can change this options. I also added -c option to crop telemetry from the sides of the pictures.
/usr/local/bin/wxtoimg -c -e MCIR -m ~/wxsat/noaa${bird}map.png ~/wxsat/recordings/NOAA${bird}-\$recdate.wav ~/wxsat/images/NOAA${bird}-MCIR-\$recdate.png
mkdir Dropbox-Uploader cd Dropbox-Uploader curl "https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh" -o dropbox_uploader.sh chmod +x dropbox_uploader.sh
./dropbox_uploader.sh
Follow the instructions.
Automate the proces. Commands bellow will be run every 12 hours.
crontab -e
00 */12 * * * atq | awk ‘{print $1}’ | sort -n | xargs atrm
01 */12 * * * ~/wxsat/noaa-scheduler.sh 15 137.620
02 */12 * * * ~/wxsat/noaa-scheduler.sh 18 137.9125
03 */12 * * * ~/wxsat/noaa-scheduler.sh 19 137.100
00 */12 * * * wget -qr https://www.celestrak.com/NORAD/elements/weather.txt -O ~/wxsat/weather.txt
Start the jobs immediately:
wget -qr https://www.celestrak.com/NORAD/elements/weather.txt -O ~/wxsat/weather.txt ~/wxsat/noaa-scheduler.sh 15 137.620 ~/wxsat/noaa-scheduler.sh 18 137.9125 ~/wxsat/noaa-scheduler.sh 19 137.100
If you are going to change the file noaa-scheduler.sh, you need to kill the existing jobs and restart them. Kill the jobs with:
atq | awk '{print $1}' | sort -n | xargs atrm
Sources:
https://www.reddit.com/r/RTLSDR/comments/5iuzbl/fully_automated_raspberry_pi_noaa_satellite/
https://gist.github.com/floehopper/99a0c8931f9d779b0998
https://github.com/the2belo/wxsat-scheduler
There is another piece of software to automatically receive NOAA and Meteor satellites, I have yet to check it out.