The use of python Amodem for sending a file via RF using HackRF
- Linux Operating System
- HackRF One
- python3 :
sudo apt install python3
- xterm :
sudo apt install xterm
- Python Amodem :
pip3 install amodem
- DearPyGUI :
pip3 install dearpygui
- HackRF library :
sudo apt-get install hackrf libhackrf-dev
- GNURadio3.10 : Installation guide
- SoapySDR : Installation guide
- SoapySDR HackRF : Installation guide
Note, if you have installed older gnuradio and you want to install gnuradio3.10 instead your older version gnuradio without break you system follow this step
If you want to create virtual sink audio follow this step:
- install depencies
sudo apt-get install pavucontrol portaudio19-dev
- open file config pulse audio using:
sudo nano /etc/pulse/default.pa
at the bottom of file append this line:
load-module module-null-sink sink_name=virtual_sink sink_properties=device.description=virtual_sink
- restart pulseaudio
pulseaudio -k
and
pulseaudio --start
- left side run
./AmodemSendFile-ImGUI
then open Menu and click Calibrate TX - right side run
./AmodemSendFile-ImGUI
then open Menu and click Calibrate RX - Do it again vice versa left side Calibrate RX and right side Calibrate TX
- left side run
./AmodemSendFile-ImGUI
then open Menu and click Calibrate TX - right side open terminal then open sdr software gqrx, sdr++, etc
- right side open terminal run
export BITRATE=[same as the left side]; amodem recv calibrate
- Download the .zip file
- Extrac the zip
unzip HackRF-AmodemSendFile-ImGui-main.zip
- go into the directory
cd HackRF-AmodemSendFile-ImGui-main
- make all file executable
chmod +x *
- Open terminal, then run
./AmodemSendFile-ImGUI
RTL-SDR (run this first)
- right side open terminal then open sdr software gqrx, sdr++, etc
- right side set sdr software frequency same as transmit side
- right side open terminal run
export BITRATE=[same as the left side]; bash listen.sh
Hackrf (run after the listener is ready)
- left side run
./AmodemSendFile-ImGUI
then click select & send file - choose file then klik OK
- make sure set all input and output audio at level 80%