Just an idea, really, I don't know how complex the decoding is. Or rtl_fm for Android?
Just got an upconverter for my dongle, sitting here listening to music from faraway exotic places on HF. Using rtlsdr.dll with SDR#.
Alan
-----
Radio Astronomy - the ultimate DX
I am pleased to announce I have released an RTL2832U driver for android for
the benefit of all of the developers working on SDR.
The app could be found here
https://play.google.com/store/apps/details?id=marto.rtl_tcp_andro
And the sources are released under GPL2+ here
https://github.com/martinmarinov/rtl_tcp_andro-
So how do you use it in case you want to develop your own Android
application that uses rtl_tcp_andro?
It's quite simple, you need to add just one line of code to your existing
Android app (assuming the user has the driver installed).
*startActivityForResult(new
Intent(Intent.ACTION_VIEW).setData(Uri.parse("iqsrc://-a 127.0.0.1 -p 123",
START_REQ_CODE);*
Where START_REQ_CODE is a random number you assign. This will start
rtl_tcp_andro on the localhost at port 123. As you see the thing after
iqsrc:// is just the command line arguments you pass to a regular rtl_tcp.
If you want to be more fancy and do error capture, you should override this
method in your Android activity and perform error detection as so:
*@Override*
* protected void onActivityResult(final int requestCode, final int
resultCode, final Intent data) {*
*
*
* runOnUiThread(new Runnable() {*
*
*
* @Override*
* public void run() {*
* if (requestCode == START_REQ_CODE) {*
* if (resultCode == RESULT_OK) { // rtl_tcp_andro has been started
successfully!}*
* else {*
*
*
* try {*
* switch (data.getIntExtra("marto.rtl_tcp_andro.RtlTcpExceptionId", -1)) {*
* case 0:*
* // exception - permission denied*
* break;*
* case 1:*
* // exception - root required*
* break;*
* case 2:*
* // exception - no devices found*
* break;*
* case 4:*
* // exception - the user needs to reconnect the device*
* break;*
* default:*
* // unknown exception*
* break;*
* }*
* } catch (Exception e) {}*
* }*
* }*
* }*
* });*
* }*
It is that simple! rtl_tcp_andro will take care of showing different
dialogs to the user for device selection. It will also take care of
non-rooted devices by communicating with rtl_tcp_androi and sending the
appropriate file descriptors, etc. You don't need to worry about all of the
magic that is happening in the background - you only need to monitor the
result of your intent request.
If you get *RESULT_OK* then you are ready to go. Now what remains is to
implement your own TCP client that connects to the appropriate host/port
number and communicates using the *rtl_tcp* protocol. Make sure you send
the additional "exit" command that rtl_tcp_andro has in order not to leave
zombie services behind.
That's all if you have any questions, feel free to contact me! Sorry for
the bad state of the source code of rtl_tcp_andro, I will add comments as
time passes by.
Hope to see great new projects on the Android platform :)
Thanks,
Martin
Hi ben,
Thanks, glad you like the scanner although I realise it's a bit of a
pain to install all the dependencies under Windows or OS X.
I intended the software to be used to find interesting signals, which
you could then analyse in other software, never really as a spectrum
analyser (the thought of implementing all the maths gives me a
headache!). Once I've found something I often use sdrsharp to
investigate it and if I'm still interested I move onto GNU Radio.
I would really recommend you try GNU Radio, although you may find it has
a steep learning curve. For example you could use VirtualBox
(virtualbox.org) to run an Ubuntu machine on your desktop (compiling
under Windows can be tricky) . There's plenty of information on both
virtual machines and GNU Radio installation around.
Good luck,
Al
> Message: 2
> Date: Wed, 23 Jan 2013 00:45:08 +1100
> From: Ben Ryan <benryanau(a)hotmail.com>
> To: <osmocom-sdr(a)lists.osmocom.org>
> Subject: RE: RTL-SDR Scanner/Plotter (Al)
> Message-ID: <SNT139-W63EB2510A068891AA8A25B6160(a)phx.gbl>
> Content-Type: text/plain; charset="iso-8859-1"
>
>
> Hey mate this looks really great!
> I've dreamed about building something similar for an RTLSDR, but much fancier (ping-pong on 'interesting' chirps, yo-yo sweeps to find voice/burst comms, trended plots etc etc). A poor man's wideband spectrum analyser. But I can't code to save my life..
> However, wait long enough and funny things happen :) You've made a great start with this project, especially given there was NOTHING out there prior (that I've seen anyhow. Certainly for Win32.)
> All the module/package dependencies are a bit of a pain but hey, you've got a working app :)
> Love to try it soon when I get a chance, hope you develop it up into a full-bllown RTLSDR spectrum analyser / "interesting signal" finder!
>
> Cheers
> ben
>
>
>> Message: 1
>> Date: Mon, 21 Jan 2013 16:53:01 +0000
>> From: Al <al(a)eartoearoak.com>
>> To: osmocom-sdr(a)lists.osmocom.org
>> Subject: RTL-SDR Scanner/Plotter
>> Message-ID: <50FD726D.5010000(a)eartoearoak.com>
>> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>>
>> Hi,
>>
>> I thought you may be interested in a program I've written, it's a Python
>> GUI which scans a set of frequencies and plots the resulting levels,
>> which can be saved for later viewing or exported to a CSV file.
>>
>> Source: https://github.com/EarToEarOak/RTLSDR-Scanner
>> More info: http://www.eartoearoak.com/software/rtlsdr-scanner
>>
>> I wrote it to help me find signals over a wide bandwidth, to get a
>> better view of the RF space. I hope you find it useful.
>>
>> Al
Hi,
I thought you may be interested in a program I've written, it's a Python
GUI which scans a set of frequencies and plots the resulting levels,
which can be saved for later viewing or exported to a CSV file.
Source: https://github.com/EarToEarOak/RTLSDR-Scanner
More info: http://www.eartoearoak.com/software/rtlsdr-scanner
I wrote it to help me find signals over a wide bandwidth, to get a
better view of the RF space. I hope you find it useful.
Al
I have installed these using the procedures shown in the wiki. I didn’t see
any errors during the installation. The packages are on the computer but
they are not listed amongst the sources on GNU Radio Companion.
If I type in the terminal rtl_test –t I get:
Found 1 device(s):
0: ezcap USB 2.0 DVB-T/DAB/FM dongle
Using device 0: ezcap USB 2.0 DVB-T/DAB/FM dongle
usb_open error -3
Failed to open rtlsdr device #0
Any suggestions?
Many thanks,
Al
Hi all,
I would like to congratulate you on the great job you did with rtl-sdr and
I am really admiring you work!
I am the developer of SDR Touch,
I received a copyright violation notice from one of the developers.
I wanted to point out that rtl_tcp_andro and SDR Touch are completely
separate binaries in the aggregate called SDRTouch.apk. They are never
linked together - neither before, nor after the unrar-ing of the apk onto
the user's Android device. They communicate via TCP. Once the installation
of the apk is over, the binaries and rtl_tcp_andro reside in completely
different directories on the Android device.
rtl_tcp_andro is a derivative work of rtl_tcp and is released under GPL2+ -
https://github.com/martinmarinov/rtl_tcp_andro- (In order to honour GPL you
can actually visit this webiste via the Help message that you see on SDR
Touch).
rtl_tcp_andro is merely started using Runtime.exec() command. It is never
linked - neither statically nor dynamically. Furthermore SDR Touch can
happily work without the local rtl_tcp and this is there only for user's
convenience. SDR Touch can function over the network without requiring a
local rtl_tcp.
Since SDR Touch and rtl_tcp are completely separate works, and the user is
aware of the license of rtl_tcp_andro and has access to its source code,
SDR Touch does not violate GPL2+. It is true they reside in the same
installer before being installed on the device, but this is allowed in GPL3
and is called an aggregate.
Does it make sense? Is there anything I can do so we can settle this issue
once and for all?
Thanks,
Martin
Hey mate this looks really great!
I've dreamed about building something similar for an RTLSDR, but much fancier (ping-pong on 'interesting' chirps, yo-yo sweeps to find voice/burst comms, trended plots etc etc). A poor man's wideband spectrum analyser. But I can't code to save my life..
However, wait long enough and funny things happen :) You've made a great start with this project, especially given there was NOTHING out there prior (that I've seen anyhow. Certainly for Win32.)
All the module/package dependencies are a bit of a pain but hey, you've got a working app :)
Love to try it soon when I get a chance, hope you develop it up into a full-bllown RTLSDR spectrum analyser / "interesting signal" finder!
Cheers
ben
> Message: 1
> Date: Mon, 21 Jan 2013 16:53:01 +0000
> From: Al <al(a)eartoearoak.com>
> To: osmocom-sdr(a)lists.osmocom.org
> Subject: RTL-SDR Scanner/Plotter
> Message-ID: <50FD726D.5010000(a)eartoearoak.com>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>
> Hi,
>
> I thought you may be interested in a program I've written, it's a Python
> GUI which scans a set of frequencies and plots the resulting levels,
> which can be saved for later viewing or exported to a CSV file.
>
> Source: https://github.com/EarToEarOak/RTLSDR-Scanner
> More info: http://www.eartoearoak.com/software/rtlsdr-scanner
>
> I wrote it to help me find signals over a wide bandwidth, to get a
> better view of the RF space. I hope you find it useful.
>
> Al
>
Hello,
I am using cygwin with Windows XP but I do not have a good
understanding of the Windows OS. I could do with some advice about how
the usb driver for the RTL2832U device is meant to be located by the
rtl_sdr.c program using the libusb library.
For me this program fails with a libusb_open() error of -12. Using the
debugger I can see this is due to no driver being found for the
RTL2832U device.
When the function get_api_type() in windows_usb.c is called it
consults the registry for a driver name for the device. In my case it
finds RTL2832UUSB and RTL2832UBDA but I suppose this just depends on
what is sitting in the registry. Subsequently the program checks to
see if the driver name is WINUSB or USBCCGP. Because it is not the
program cannot work.
Am I meant to ensure either WINUSB or USBGCCP drivers are installed on
my computer and must the registry entry for the RTL2832U device point
to one of these? If so, is there a recommended procedure to do that?
Thanks for any advice
Robert Durkacz
Hi,
You should know that the fw is being rewritten ( branch mci-rewrite ),
to use the MCI interface for data transfer, allowing up to 4 MHz
transfer.
But this will require a HW mod to be detailled later.
Cheers,
Sylvain