RadioBot


RadioBot is a tiny bot designed to sit on an IRC channel and tune a radio receiver following commands given on the channel itself.
Audio can than be fed through the likes of Teamspeak, Skype, MP3/OGG streaming or other voip solutions. See below for some suggestions.
RadioBot caters for a very specialistic use (ie. it's quite pointless), and I'm sure more effective ways to perform this task could be devised. Still, it seemed a funny idea and helped me in understanding a bit about hamlib, which I may use in a broader scheme to control my shack.

REQUIREMENTS

My first attempt was to do a proper job and work using Perl or Tcl bindings to Hamlib. Unfortunately compiling that part is a real pain in the back and there's very little documentation about calling the functions themselves. Nevertheless I got a version working, but eventually dumped it in favour of portability and ease of setup.
The current version uses calls to RIGCTL to perform the task. This is ugly because:
  • I'm pretty sure it represents a security risk. Although I tried to build-in some basic protections, chances are that a malformed command to the bot may result into hijack of your PC. You have been warned. Proceed at your own risk.
  • Sometimes commands may fail without getting an error message.
  • Handling some commands (in future developements) may be impossible.

CONFIGURATION
The following parameters MUST be edited in the script:

Editing details about the audio feed or the shack (RX model, location, antenna...) won't stop the bot from working, but makes it more useful.

COMMANDS
Once the bot is sitting on a channel, the following commands can be issued:
COMMANDFUNCTIONEXAMPLE
[bot_name] helpprints out help messageRadioBot help
[bot_name] freqretrieves current frequency and modeRadioBot freq
[bot_name] tune ffffffffftunes to frequency fffffffff Hertz RadioBot tune 145500000
[bot_name] mode XXXsets to mode XXXRadioBot mode FM
Instead of RadioBot you'll obviously use any other name you choose for the bot.
RadioBot will politely welcome new users on the channel and give a small help message.

CROSS PLATFORM
RadioBot was developed on Linux and Windows XP boxes.
Since both Perl and Hamlib can be compiled on other platforms, it may work under OSX or other more exotic environments.
Any report on the matter will be appreciated.
Thanks AlphaVax for testing.

KNOWN ISSUES

LICENSE
RadioBot is released under GNU/GPL license.

DOWNLOAD

AUDIO STREAM

While not part of RadioBot itself, some hints on the way to stream your audio, based on "free" (mostly GNU/GPL) software:
audio from RX > soundcard > MP3/OGG encoder > MP3/OGG streamer
MP3/OGG encoder = OddcastV3 under Windows, DarkIce and DarkSnow under Linux
MP3/OGG streamer = Icecast under both Win and Linux.
Several Linux distributions (mostly Debian based) will provide prepackaged versions of the above software without MP3 support (ie. OGG only) for copyright reasons. On my pc I preferred recompling all the relevant packages to use MP3 as it's more widely supported by multimedia players, even on basic portable devices. I also found that the OGG format introduced some more lag in the signal, but it's probably due to my inablility to do a proper configuration.
If you need the stream to be accessible from the internet, you'll need to configure your firewall accordingly.
If you don't own a public IP address use dynamic IP readdressing services like DynDNS.

Any feedback is welcome at contact below.

Contact:address displayed as image to cut spam


Published: Apr07 - Last update: 21Aug07
Home