BotWave is a system for broadcasting audio files over FM radio using Raspberry Pi devices. It consists of a server and client application that work together to manage and broadcast audio files.
- Server-Client Architecture: Manage multiple Raspberry Pi clients from a central server.
- Audio Broadcasting: Broadcast audio files over FM radio.
- File Upload: Upload audio files to clients for broadcasting.
- Remote Management: Start, stop, and manage broadcasts remotely.
- Authentication: Client-server authentication with passkeys.
- Protocol Versioning: Ensure compatibility between server and clients.
All requirements can be auto-installed with the automatic installer, see below.
- Python 3.x
- Raspberry Pi (recommended)
- Root access
- PiFmRds installed
- Python 3.x
- PiWave module
For *nix systems, we recommand using our automatic installation scripts, for other operating systems, you're on your own.
curl -sSL https://botwave.dpip.lol/install | sudo bash -s <server, client or both>
Warning
Warning: Using BotWave involves broadcasting signals which may be subject to local regulations and laws. It is your responsibility to ensure that your use of BotWave complies with all applicable legal requirements and regulations in your area. Unauthorized use of broadcasting equipment may result in legal consequences, including fines or penalties.
Liability: The author of BotWave is not responsible for any damage, loss, or legal issues that may arise from the use of this software. By using BotWave, you agree to accept all risks and liabilities associated with its operation and broadcasting capabilities.
Please exercise caution and ensure you have the proper permissions and knowledge of the regulations before using BotWave for broadcasting purposes.
To use BotWave Client for broadcasting, you need to set up the hardware correctly. This involves connecting an antenna or a cable to the Raspberry Pi's GPIO 4 (pin 7).
For *nix systems, we recommand using our automatic uninstallation scripts, for other operating systems, you're on your own.
sudo bw-update
For *nix systems, we recommand using our automatic uninstallation scripts, for other operating systems, you're on your own.
curl -sSL https://botwave.dpip.lol/uninstall | sudo bash
BotWave usage depends on the tool you're using. Here's a breakdown of each component:
This tool is included in the SERVER install. The BotWave Server lets you manage multiple Raspberry Pi clients remotely — upload audio files, control broadcasts, and more.
Full documentation: server/server.md
This tool is included in the CLIENT install. The BotWave Client runs on a Raspberry Pi and connects to the server to receive and broadcast audio files over FM.
Full documentation: client/client.md
This tool is included in the CLIENT install. The Local Client allows you to broadcast audio files without a server, directly from the Raspberry Pi using command-line controls.
Full documentation: local/local.md
This tool is included in the CLIENT & SERVER install. The AutoRunner lets you set up
systemd
services to automatically start the BotWave Client or Server on boot.
Full documentation: autorun/autorun.md
We highly recommend using the automatic installer to set up the desired components (server
, client
, or both
):
curl -sSL https://botwave.dpip.lol/install | sudo bash -s <server, client or both>
BotWave is licensed under GPLv3.0.