Translate

Saturday 11 April 2020

NOAA APT reception on Raspberry Pi



Having been caught by the APT bug again recently (as you may have seen in a previous post) I thought I have a go at building a stand alone system.
I've had some results using my ageing Icom IC-706MKIIB and WXtoIMG on my Ubuntu computer, connected to my ham-radio 2m antenna, but this is less than ideal.
The Evesham receiver uses my employer's wide band Discone antenna, and manages to pull some decent signals in mostly, but doesn't have the required receiver bandwidth, as it's using my FT-817 under CAT control.

OK, Lets start with an antenna....

A QFH antenna would be perfect, but are difficult to make accurately. I found a superb article on a V-dipole antenna here. Some aluminium was duly ordered, and an antenna formed. Tests with the IC-706 gave much improved results. 

The antenna was mounted to a box, using some ordinary chock-block, and also added a low noise RF pre-amp, and bias-tee to power the whole thing from the co-ax (I eventually shortened that piece of co-ax looped round!)








Some pipe clips were fitted so it would be easy to mount.











The box was sealed from the elements with some liquid rubber.












A low current LED was also added to show the presence of bias.












The Receiver

Raspberry Pi 3 Model B+
I loved the idea of a self-contained receiver. It can sit on the shelf, doing it's thing. Some parts were duly procured, a small case, a Raspberry Pi 3 Model B+, an appropriate micro SD card, and a slightly posher SDR tuner with a TXCO (big mistake).


I followed this Instructable to get the basic receiver up and running. It didn't work, so I've updated it...

Grab yourself a fresh install of Raspian stretch lite. I did try a later Raspbian, but Predcit doesn't play nicely with it. Set up SSH, because it helps...

sudo raspi-config

and set up your Pi if you want to change the password, sort out the wifi, I always expand the filesystem too... Allow the Pi to reboot.

then

sudo apt-get update
sudo apt-get upgrade
sudo reboot

So everything's up to date, once we're going again...

sudo apt-get install libusb-1.0 cmake git sox at predict libxft2:armhf

sudo nano /etc/modprobe.d/no-rtl.conf

and add the following to the text file.


blacklist dvb_usb_rtl28xxu
blacklist rtl2832
blacklist rtl2830

CTRL+X to save and quit.

cd ~
git clone https://github.com/keenerd/rtl-sdr.git
cd rtl-sdr/
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make
sudo make install
sudo ldconfig
cd ~
sudo cp ./rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/

sudo reboot

wget http://www.wxtoimgrestored.xyz/beta/wxtoimg-armhf-2.11.2-beta.deb
sudo dpkg -i wxtoimg-armhf-2.11.2-beta.deb

Now reboot, and plug in your SDR....

sudo rtl_test

You should see something like the following...

pi@raspberrypi:~ $ rtl_test
Found 1 device(s):
  0:  Generic, RTL2832U, SN: 77771111153705700

Using device 0: Generic RTL2832U
Found Rafael Micro R828D 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 
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...

Press CTRL+C to get out of that ... 

As the original instructable says, if you get any errors there, you'll need to troubleshoot them...


You can now type

predict

and follow the instructable from part 3, until you get to "Once all three scripts have been created, we need to make the executable, by issuing the following commands:"

You'll need to add sudo ...

sudo chmod +x *.sh

Now you can proceed with crontab-e as described...

OK, except thing's weren't OK.

Every time I recorded I just got static :(

Nothing, nada.

I checked my dongle on my main PC, and it worked great. On the Raspberry Pi, it passed the rtl_test every time.... I was convinced there was something incompatible with the "posh" SDR receiver. This project stopped here, for about a year... then Covid-19 struck, and it's time to resurrect it!

So I bit the bullet and purchased the cheapest RTL dongle I could find....

Bingo...!

I modified the receive_and_process_satellite script to create some prettier pictures, add some friendly folder names, put the received files there, delete the .wav and map files, and chuck the lot onto my web space. I also added samba on to the raspberry pi to make accessing it directly a doddle.

#!/bin/bash

# $1 = Satellite Name
# $2 = Frequency
# $3 = FileName base
# $4 = TLE File
# $5 = EPOC start time
# $6 = Time to capture

# reads and creates folder with current date / time (i.e 05-30-2019_07-48 *windows friendly*)
NOW=$(date +%m-%d-%Y_%H-%M)
mkdir /home/pi/weather/Folder${NOW}

sudo timeout $6 rtl_fm -f ${2}M -s 60k -g 45 -p 55 -E wav -E deemp -F 9 - | sox -t wav - $3.wav rate 11025
PassStart=`expr $5 + 90`
if [ -e $3.wav ]
then
/usr/local/bin/wxmap -T "${1}" -H $4 -p 0 -l 0 -o $PassStart ${3}-map.png
/usr/local/bin/wxtoimg -m ${3}-map.png -e ZA $3.wav ${3}.png
/usr/local/bin/wxtoimg -m ${3}-map.png -e NO $3.wav ${3}.NO.png
/usr/local/bin/wxtoimg -m ${3}-map.png -e MCIR $3.wav ${3}.MCIR.png
/usr/local/bin/wxtoimg -m ${3}-map.png -e MSA $3.wav ${3}.MSA.png
fi

# copies files to the new folder and deletes the original ones
cp /home/pi/weather/*.png /home/pi/weather/Folder${NOW}/
rm /home/pi/weather/Folder${NOW}/*-map.png
rm /home/pi/weather/*.png
rm /home/pi/weather/*.wav
wput -B -u --dont-continue --reupload --tries=5 --binary --verbose --reupload ftp://yourusername:andpassword@yourwebspaceprovider.com/ ~/weather/Folder*/*.*

The Raspberry Pi, Bias T (getting it's 5 volt supply from the raspberry Pi itself), and the SDR receiver are all mounted up in a small case. Sadly I didn't notice the Raspberry Pi had moved to an odd angle before the epoxy set :( ... nevermind. 







The case has an attractive smoked top, which allows me to see the status LEDs. Workshop penny shown for scale.










And finally Mrs Doz states the antenna can live on the corner of the shed.  Mr Pigeon agrees.




















.... and quite unbelievably, whilst the antenna was on the ground during assembly....













... it managed to receive this!

2 comments:

  1. Link problem again! The V-dipole link does not work as https, but its 404 page has a menu that contains the correct link. Seems to be http only.

    ReplyDelete
    Replies
    1. Thanks Ian. Duly corrected. There's the issue with relying on an external site, when I wrote this 12 months ago..

      Delete