Skip to content

hobisatelit/ssdv2sat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ssdv2sat

send and receive image (support jpg, png, etc) from satellite using handheld radio FM. (take advantage of Reed Solomon + SSDV, with/out IL2P)

With this script you can create modulated WAV (baudrate 1200-9600) automaticaly from a picture/image file to be transmitted via a handheld FM radio, and vice versa. Example: send and receive SSDV JPEG image over analog 1200/2400 modulation from terestrial or VR satellites

Dependencies:

Debian/Ubuntu Linux

sudo apt update
sudo apt install python3 python3-pil sox git pavucontrol

install latest Direwolf (for IL2P support).

look at this link for details

If you don't want to support IL2P, you can install the old direwolf from the Debian/Ubuntu repository:

sudo apt install direwolf

install latest SSDV.

look at this link for details

cd ~
git clone https://github.com/fsphil/ssdv
cd ssdv
make
sudo make install

Download the latest script:

cd ~
git clone https://github.com/hobisatelit/ssdv2sat.git && cd ssdv2sat
chmod 755 *.py

Config Pavucontrol

You only need to set this up once. The goal is for the sox application (audio recorder) and direwolf (KISS server) to be able to listen to the audio output from the speakers or line out of the computer.

Open three terminal

on first terminal run Direwolf KISS server

cd ~/ssdv2sat
direwolf -c direwolf.conf

on second terminal run

sox -d -r 44100 -c 1 /tmp/test.wav

on third terminal run

pavucontrol

look at Recording tab, you will see direwolf app and sox there, please change capture to MONITOR mode both of them. and then you can close both app with press Ctrl+C on each terminal.

How to convert image and record WAV

Run Direwolf KISS server

cd ~/ssdv2sat
direwolf -c direwolf.conf

on another terminal run below command. note: replace image.jpg with your image file. Script support many picture format: JPEG, PNG, etc. check at audio folder to see the result.

cd ~/ssdv2sat
./tx.py image.jpg

Or, if you only want to transmit directly without recording, you can use this command:

cd ~/ssdv2sat
./tx.py image.jpg --norec

How to convert WAV into picture

cd ~/ssdv2sat
./rx.py

play your recorded wav file or directly stream from SDR app, and the rx.py script will auto detect the image inside the signal. when finish, press Ctrl+C. the binary and image will be saved as .bin and .jpg in output directory

How to change Dire Wolf baudrate

edit direwolf.conf at same directory with script. change MODEM 1200 to MODEM 2400, or MODEM 9600. higher baudrate, faster transmission. Please adjust according to your hardware support. Handheld FM ussualy support 1200 and 2400 only.

How to run on Windows

personally i never test it on Microslop Windows. but it should also work. Dire Wolf, ssdv and sox are available for Microslop Windows os. Please check config.ini to change the location of these apps.

Another advanced command

cd ~/ssdv2sat
./tx.py -h
./rx.py -h
./rx.py -s

recommended:
./tx.py input.jpg

# set my **callsign MARIO**, then create modulated wav from **image file mario-poster.jpg**,
# connect to dire wolf kiss server at **ip 192.168.10.1, port 8080**,
# set **maximum length** per ssdv packet 195 bytes,
# set **delay** 1 second between packet transmission,
# save all output into **directory** recording
# send short message (sms) to ISS, with message Hello World
./tx.py mario-poster.jpg --callsign MARIO --host 192.168.10.1 --port 8080 --max 195 --delay 1 --dir recording --sms "Hello world! this is message from space!" --dest ISS

# send sms:
./tx.py --sms "Hello world!" --from MARIO --to LUIGI

# send sms and ssdv:
./tx.py mario-poster.jpg --from MARIO --to LUIGI --sms "GOOD MORNING!"

About

send and receive image (support jpg, png, etc) from satellite using handheld radio FM. (take advantage of IL2P + Reed Solomon + SSDV)

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages