README.md 2.3 KB

BallonSonde Project 2023

This aim to group all ressources to create the PoC

Hardware requirements

  • a RaspberryPi Zero 1.3 with nothing more (no WiFi, no BT)
  • a RaspberryPi Camera
  • SM828 VHF/UHF radio module
  • an old and dirty RadioSonde
  • regulators 7805 or something than can have 3A
  • an homemade RC filter for 20Khz

Software requirement

  • GNU/Linux Debian

For the RaspberryPi

apt update
apt upgrade
apt install bpython3 python3-venv python3-serial python3-pip supervisor libopenjp2-7 screen imagemagick exiftool git vim nmap libjpeg-dev zlib1g-dev

cd ~
git clone https://git.vrpnet.org/HamRadio/BallonSonde


# in user mode, setup PySSTV to convert pictures in wav mode
cd ~
mkdir PySSTV
python3 -m venv PySSTV/
cd PySSTV/
source bin/activate
pip install pysstv
deactivate

pip install pynmeagps


Specs to do

Get the default shell

Should have a Serial interface on GPIO14(UART0_TXD) and GPIO15(UART0_RXD). I'm using a cheap FTDI232, from anywhere.

Switch the output jack of the soundcard to GPIOs

We have to play WAV files from the PySSTV converter, and put it directly in the microphone +/- input of the SA828 radio module.

By the way, we don't need stereo output, that's why I only made a single RC filter for filtering frequencies over 20Khz.

The configuration of /boot/config.txt will contain this line, then you can connect GPIO12 and GPIO13 to a stereo jack.

dtoverlay=audremap,pins_12_13 # for pins 12 and 13

Softwares usages

chroot-to-pi.sh

Use this script to chroot your system on another system, get a shell and do the work with the CPU on the host. This to win time in compilation, or to fix something broken.

active_nmea.py

Due to the radiosond and default parameter, we have isolated the Sierre Wireless XM1110 GPS chip and get the NMEA via UART interface. By the way, the default parameter is set to binary, and unfortunatly, we can't read it. That's wy we have to launch active_nmea.py, that set a PMTK command to have an output in NMEA. We have to do this each time the GPS is booting. User crontab to do this.

convert_ll_dec.py

This is a simple converter of decimal to hours, minutes, (seconds with 4 decimals). Datas are parsed for insert Exim GPS datas in JPG pictures.

read_nmea.py

This script simply get the NMEA informations.