Search for meteorological sonde with RaspberryPi
Often, the sonde, that you want to search on the
field, can not be taken coordinates low enough, so it is necessary to
get more accurate coordinates near the landing point, or the situation
requires the so called "foxhunt" method start to be need searching the
probe. In these cases, this small program can be usefull. To run, we
need a Raspberry Pi with a TFT display and touch screen combinations.
Since the program is handled via the touch screen, there is no need to
connect another things to use it, only an rtl-sdr radio connected to
the RPi's USB port. If you want to use the "Fox Hunter" method, you
will naturally need a direction-sensitive antenna. If we're just
looking for the final coordinates, there is enough en omnidirectional
"wire", similar as used at the sonde itself. However, I strongly
recommend using the HB9CV type antenna. This antenna has a small size
to use it confortable way on the field and it is perfectly enough for
both searching and coordinate decoding.
Installation:
As a first step, you need to install the
raspbian operating system with the graphics interface and the
appropriate drivers for the used touchscreen display. If everything
works properly, you can install the program itself.
If you have a newly installed operating system, open the console window and enter it:
sudo wget www.om3bc.com/docs/SF/install_all.sh
this command save the installer to the current directory.
Enter it end put ther this command:
sudo chmod a+x install_all.sh
./install_all.sh
if everything goes well, then the full of packages comes with all the accessories.
If there is a problem, you can try install by hand. It may be the solves of the problems. This are the commands:
sudo apt-get install cmake build-essential python-pip libusb-1.0-0-dev python-numpy git pandoc -y
sudo apt-get remove rtl-sdr -y
sudo apt-get install git-core libusb-1.0-0-dev pkg-config cmake -y
git clone https://github.com/keenerd/rtl-sdr
cd rtl-sdr/
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON
make
sudo make install
sudo ldconfig
sudo apt-get install sox
sudo pip install pyrtlsdr
mkdir /home/pi/SondeFinder
cd /home/pi/SondeFinder
sudo wget www.om3bc.com/docs/SF/sondefinder.tar.gz
tar -zxf sondefinder.tar.gz
sudo rm sondefinder.tar.gz
cd Desktop
cp sondefinder.desktop /home/pi/Desktop
cd ..
Once the libraries have been installed and you want to update the program itself, you can write it at the command prompt:
./install_prg.sh
or manually:
cd /home/pi/SondeFinder
sudo wget www.om3bc.com/docs/SF/sondefinder.tar.gz
tar -zxf sondefinder.tar.gz
sudo rm sondefinder.tar.gz
Setting-up and use it:
If the program is properly installed, a SondeFinder
icon must apper on the the Desktop. Click on it at the touch screen, it
is how to program will start.
If you have a problem, try run the program from command line.
cd /home/pi/SondeFinder/
python sondefinder.py
Without the receiver, the program not run!
After the start, the spectrum analyzer must be displayed:
This mode can be used for searching or to determine the direction of
the probe. This will make decoding more reliable and faster.
If you need to change the settings, press the CONFIG menu item:
Here you can enter the receive frequency, the sampling rate, the
gain, the error correction, the upper and lower limits of the spectrum
analyzer, and you can select the type of sonde.
If
you exit with the BACK button, the set values will not be stored. When
SAVE is selected, the set parameters will be stored
and will be valid at the next turn-on or restart. The parameters are
stored in the "device.cfg" file. The last line of this file contains
the 'debug' parameter. If the value of this is changed to ON, the
received data will be continuously written out in the terminal window,
both for the probe and for the GPS.
The frequency can be entered as follows:
or select from the list. The list is in the "frequency.lst" file, which
can be modified with a text editor. The first data is the identifier of
the launch site, the second the frequency is in MHz and third is the type of sonde. Rows starting with
"#" are ignored.
Press CLEAR to reset the parameter, DELETE to delete the last
charakter. For CANCEL, the old value will remain, and for ACCEPT the
current value will be valid. Similary, other parameters can also be
changed.
If everything is oke, then the probe signal must be seen on the spektrum analyzer display.
The program can decode radiosondes: RS41, DFM09, DFM17, PS15, PilotSonde, M10, M20, MP3H1 and iMet. Because the
program will mostly be used at a place where the internet is not
available, the program does not contain a decoder for RS92 (there would
not be enough fresh almanacs or ephemeris available). Because the
program does not contain AFC, it can happen that the actual frequency
for DFM, PilotSonde and M10 must be set manually. Use the < and > buttons. The signal must be symmetrically
positioned against a vertical yellow lines. Although the frequency is
only visible to 3 decimal places, it can also be entered with an
accuracy of 1 Hz (6 decimal places) in the CONFIG. When you tap on the center of the
screen, all the information is disappers, and only the spectral
analyzer cover remains. It is convenient to search by signal strength.
If this signal is strong enough, you can try decoding the coordinates:
The data is updated after every flawlessly received data package. In
order to return to the spectrum analyzer from this mode after pressing
BACK, sometimes you have to wait a few seconds. The current position
can be saved with the SAVE key. If you see WAIT with the red
background, it means
there is no valid data yet. For DFM probes, the probe-identifier should
sometimes wait 10 to 15 seconds. The name of the generated file is the
identifier of the probe. When the position is stored, the background of
the SAVE button changes to olive.
If you connect a GPS receiver with a USB port to a Raspberry (or a
conventional GPS receiver with a serial port with a USB-COM converter),
we can make it easier. The probe position should first be decoded. It
is advisable to save the position with the SAVE button. Then we leave
the decoder menu and enter the SEARCH menu. In this case, we'll see
this screen:
If the signal from the probe is strong enough or if we have
previously decoded the position of the probe and the GPS receiver sees
enough satellites to determine our position, then the search can begin.
In this mode, both the probe and the GPS reception work continuously,
so even the direction of the probe that is still in the air can be
continuously established. The yellow arrow shows the direction of our
movement and the red dot
indicates the direction we should go to the probe. Always hold the red
dot on the tip of the yellow arrow. The LAT and LON buttons can be used
to manually enter the position we are looking for. This may be good if
we are looking for a probe that no longer transmits, but we know its
exact position. If the main screen does not appear after pressing the
SEARCH button but an error message appears, the error must be
corrected. These may be as follows: the GPS receiver is not connected
to Raspberry, the serial port speed of the GPS receiver is not well set
or the probe has not been decoded before. Since there is no built-in
compass, we can only keep the right direction if we are moving. When we
stand, the position of the red dot does not change. Unfortunately, this
is the price of simple hardware.
In the bottom left we see our own current position. We can save our own
position with the SOC button (SAVE OWN COORDINATES). Our position is
then located in the file named mycoordinates.txt. You can turn on
regular backup with the AUTO button. In this case, our own location
is saved every 30 seconds, which we can then analyze and plot the path
we have taken.
The SOC button deletes the old mycoordinates.txt file, and opens a new
one. AUTO does not delete the old mycoordinates.txt file. If we want to
keep the old route, let's not use SOC, just AUTO.
Availability:
image of SD card: sf.zip
image for RPi2, RPi3 and RPi4 too.
default display is the standard HDMI. To swith to the 3.5" display, type at the command prompt:
cd ~/LCD-show/
sudo ./LCD35-show
to switch back to the standard HDMI:
cd ~/LCD-show/
sudo ./LCD-hdmi
if you need calibrate the touch sensor type at the command prompt:
ts_calibrate
image of SD card: rpi2b.img.gz
new version for RPi2B (os Strech)
full installer old version
full installer for Bullseye32
full installer for Bullseye64
update old version
update for Bullseye32
update for Bullseye64
program for old OS
program for Bullseye32
program for Bullseye64
old version without gps receiver
the program that inspired me
Software tested with home made USB-GPS (USB-TTL convertor + L86 receiver) and with the GPS-GLONASS dongle: