

Github ggwave/examples/r2t2 at master · ggerganov/ggwave · GitHub
source link: https://github.com/ggerganov/ggwave/tree/master/examples/r2t2
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Transmit data with the PC speaker
r2t2-1-small.mp4
Vid. r2t2 demonstration
This is a command-line program that encodes short messages/data into audio and plays it via the motherboard's PC speaker. To use this tool, you need to attach a piezo speaker/buzzer to your motherboard. Some computers have such speaker already attached.
You can then run the following commands:
# transmit the message "test" with default protocol "[R2T2] Normal" echo test | sudo r2t2 # transmit the message "hello" with protocol "[R2T2] Fast" echo hello | sudo r2t2 -t10 # transmit the message "foo bar" with protocol "[R2T2] Fastest" echo "foo bar" | sudo r2t2 -t11
To receive the transmitted message, open the following page on your phone and place it near the speaker:
Applications
This tool can be useful when you need to transmit data from air-gapped machines. The hardware requirements are very cheap - you only need a PC speaker. For example, you can make an automated script to periodically emit some sensor data, which can be received by someone nearby running the r2t2
receiver application.
Requirements
-
PC speaker / buzzer attached to the motherboard.
Here are the ones that I use:
Img. Left: PC speaker plugged into a motherboard. Right: two PC speakers with a coin for size comparison
- Unix operating system
- Add the
pcspkr
kernel module:sudo modprobe pcspkr
- The program requires to run as
sudo
in order to access the PC speaker
Build
git clone https://github.com/ggerganov/ggwave --recursive cd ggwave mkdir build && cd build make ./bin/r2t2
Acknowledgements
Thanks to Radoslav Gerganov for this cool idea!
Recommend
-
93
GitHub is where people build software. More than 27 million people use GitHub to discover, fork, and contribute to over 80 million projects.
-
54
README.md kbd-audio Description This is a collection of command-line and GUI tools for capturing and analyzing audio data. The most interestin...
-
37
README.md imtui ImTui is an immediate mode text-based user interface library. Supports 256 ANSI colors and mouse/keyboard input.
-
7
El juego de la vida usando Rust y Iced El juego de la vida es un autómata celular diseñado por John Horton Conway en 1970. Presenta fenómenos emergentes y auto-organización...
-
23
ggwave Tiny data-over-sound library. Click on the images below to hear what it sounds like: Details This library allows you to communicate small amounts of data between air-gapped devices using sound. It implem...
-
6
How to Use it? Install cifs-utils on the Kubernetes host. For example, on Fedora based Linux # yum -y install cifs-utils Note, as explained in
-
4
README.md Overview:
-
13
Conversation Collaborator This...
-
11
Sponsor Collaborator
-
4
Summary 🟥 - benchmark data missing 🟨 - benchmark data partial ✅ - benchmark data available PP means "prompt processing" (bs = 512), TG means "t...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK