rtl_tcp_andro
Is an application that allows you to use I/Q packet source in your Android applications.
All you need is to launch an intent in the form "iqsrc://rtl_tcp_arguments" where you replace rtl_tcp_arguments with the arguments that you want your application to run rtl_tcp with and the magic will be done behind the scenes! More HOWTO coming soon!
Internals:
A modification of rtl_tcp and libusb-1.0 for running on Android (also works on other Linux based systems)
It is compatible with the original rtl_tcp with the following exceptions:
Added features:
- Opening devices using a file descriptor (very important for Android)
- An additional command for closing the app remotely and setting tuner gain in percentage
Possible bugs:
- Once the client closes, rtl_tcp closes with it. This is a desired behavior on Android but probably undesired if used for a client.
Note:
The rtl-sdr folder is completely unmodified. Therefore if a new version of rtl-sdr is released, just replace this folder with the newer version and recompile - everything should work out of the box if the rtlsdr_open function is unchanged. If the rtlsdr_open was modified in the new version, you would need to update rtl_tcp_andro.c and the rtlsdr_open2 function.
Files modified in libusb-1.0 to create libusb-andro:
core.c, libusb.h and libusbi.h - to header for and implementation of the open2 function which takes an already open file descriptor
linux_usbfs.c - to create a libusb handle from the fd
Compilation:
To compile for Android, use the Android.mk file in the jni directory
The modifications are released under GNU. See COPYING for details.
For more information on rtl-sdr:
http://sdr.osmocom.org/trac/wiki/rtl-sdr
For more information on libusb:
http://www.libusb.org/