Hello Guest

xDeco and ModeSMixer console programs for COM/TCP/SDR

  • 219 Replies
  • 64507 Views

0 Members and 1 Guest are viewing this topic.

Re: xDeco console programs for RTL2832U DVB-T dongles
« Reply #15 on: August 04, 2013, 02:09:02 AM »
In my area there is no heavy air traffic and I can not test the program under a heavy data load. If someone will be able to test and make comment, I'll be very grateful.

The ModeSMixer is console tool for mixing and/or transcoding data streams from multiple sources.
Sources:
--inConnect - make network connection to the source with IP-address and TCP-port.
--inServer - listen for incoming connections on TCP-port.
--inSerial - read data from serial device: COM*-port or /dev/tty* with the baud rate and flow control.
The input format of network data is automatically detected.

Outputs:
--outConnect - make network connection to the client with IP-address and TCP-port and to send data in: AVR, AVR-MLAT, BEAST BIN, SBS RAW or MSG formats.
--outServer - listen for incoming connections on TCP-port and output data in: AVR, AVR-MLAT, BEAST BIN, SBS RAW or MSG formats.
Number of sources and number of outputs are specified on the command line by a space.

test v.20130802
Windows32 modeSMixer_win32_gs_201300802.zip
The Windows version of ModeSMixer need files MSVCP100.DLL and MSVCR100.DLL in the same directory or in system. The Microsoft Visual C++ 2010 Redistributable Package installs this runtime components of Visual C++ Libraries required to run modeSMixer: http://www.microsoft.com/en-us/download/details.aspx?id=5555

Ubuntu i386 modeSMixer_i386_gs_20130802.tgz
For ubuntu 64-bit  modeSMixer_ubuntu_amd64_gs_20130802.tgz
Raspberry Pi armv6l modeSMixer_rpi_gs_20130802.tgz
« Last Edit: April 24, 2014, 03:50:17 PM by sergsero »

Re: xDeco console programs for RTL2832U DVB-T dongles
« Reply #16 on: August 09, 2013, 10:43:53 AM »
Sergsero,
beautiful work ! congratulations !
I will do some testing tonight ... as have two raspberry + RTL running .. one in my house (9 NM from SBGR airport) and the second at a remote location at 0.5 NM from SBSP airport it would be nice to sum the two ground traffic.
Tried something using netcat but it seems not to be suitable for running 24 x 7
Cheers, thanks a lot... I will post feedback.

Juan

Re: xDeco console programs for RTL2832U DVB-T dongles
« Reply #17 on: August 09, 2013, 02:09:27 PM »
Juangelb,
Thanks for your feedback about the program. Your testing will help me to find possible errors. Although I had done preliminary testing.
If you are using RTL DVB-T dongle, maybe you'll also be interesting to test my other program without a GUI for 24/7 - next version of modesdeco for RPi: - this version fixes some bugs and added functionality.
« Last Edit: May 05, 2014, 06:18:51 PM by sergsero »

Re: xDeco console programs for RTL2832U DVB-T dongles
« Reply #18 on: August 09, 2013, 02:22:40 PM »
ModesDeco v.20131120_2

This is a console (command line) Mode-S decoder program specifically designed for RTLSDR devices,that can do:
- Decode Mode-S and Mode-A/C messages by software defined radio (SDR) method.
- Setup the DVB-T dongle: Select RTL device, Set gain in Receiver, Enable Automatic Gain Control in RTL, Set channel frequency, Set frequency correction (in units of parts per million (ppm)).
- Output received messages on the console screen or to network. The output data stream may be in the following formats: BEAST binary, AVR ascii, AVR-mlat, SBS10001 (for BaseStation.exe) and MSG.
- Output data checked for validity ICAO standards and lack of ghosts.
- To decode data from aircraft standing on the ground, you need to specify the coordinates of a place of accommodation of the receiver.
- Mode RBS allows to receive Mode A/C messages simultaneously.


Example for Basestation.exe connect directly:
C:\>modesdeco.exe --gain 49.6 --freq-correction 64 --net 10001 --sbs10001 --location lat:lon


When you try to launch the modesdeco and you can get an error that msvcp110.dll or/and msvcr110.dll is missing.
Please, get the actual Microsoft Visual C++ Redistributable for Visual Studio 2012 Update 4 from the Microsoft site: http://www.microsoft.com/en-us/download/details.aspx?id=30679
The Visual C++ Redistributable Packages install runtime components that are required to run C++ applications built with Visual Studio 2012.

In the archive modesdeco_xp is the same program, but was compiled with obsolete libraries for compatibility with windows XP.
« Last Edit: April 24, 2014, 03:50:55 PM by sergsero »

Re: xDeco and ModeSMixer console programs for COM/TCP/SDR
« Reply #19 on: August 09, 2013, 10:05:11 PM »
Hi Sergsero,
I entered here today to get ModeSMixer to put to run in tworaspberry + dongles.... but..
Well  ...  What about ModeSDeco....
This is new for me .... if I do not misundestand it will decode ADS-B messages... is it that ?
Is it to be used instead of dump1090 with raspberry ? ....
This RTL dongles are very hard to work with high gain antennas... since they work very well with 1/4 wave ground plane antennas externally mountes ... but with a 10 elements colinear coaxial that i constructed here in the past that works fine with
SBS-1 and radaBox... with dongles ....   do not !
Maybe is the gaing range control ... of programs that do not match the high signals from high gain antennas ...

Any Way ... please confirm about ModeSdeco ...

Tks in advance - Juan

Re: xDeco and ModeSMixer console programs for COM/TCP/SDR
« Reply #20 on: August 10, 2013, 07:24:43 AM »
Hi Juan,
I'm sorry for not being made ??a detailed description. There is two different programs.
ModeSDeco is SDR console (without GUI) decoder with tcp-output-server in RAW (BEAST BIN or AVR ASCII) or MSG formats streaming data specifically designed for RTL DVB-T dongle. It is similar to dump1090, rtl1090 or adsb#.

ModeSMixer is mixer (software data combiner) and transcoder for network-data-sources and/or for 'classical" ModeS receivers that to merge them data streams in one.
It can receiving input data in any format: BEAST, AVR/AVR-MLAT, SBS-RAW or MSG (automatic recognition) from tcp-data sources and/or serial port device: COM* in windows or /dev/ttyUSB* in linux for receiver.
Receiving network data can be as "listening server --inServer" on <port> or as client, "pulling --inConnect" data from a remote server on <host:port>. In the case of direct-attached receiver "--inSerial": <serial port:data rate:flow control>.
The merged output-data-stream can be accessed in network via embedded server (--outServer) in specified format <type>: bin, avr, avrmlat, msg, sbsraw on tcp <port>, or "pushed" (--outConnect) to the remote server with specified address <host> and <port> in the same formats <type>.
The number of combined input sources and output connections with one format type and/or concurrent access for different types are limited only computer performance. For example, is a possible for microADSB: ./modesmixer --inSerial /dev/ttyACM0:115200 --outServer bin:30040 --outServer msg:30003 --outServer sbsraw:30006 --outConnect avrmlat:30001 which will allow him to be at the same time: BEAST's receiver, source for flightradar24.com sender, Kinetic BaseStation RAW data stream and send AVR MLAT to remote server :).

I'm using collinear antenna http://www.radial.ru/catalog/antennas/vertical/a10_1090/eng/ with high gain (10dBi) and LNA (30dB) http://www.kuhne-electronic.de/en/products/low-noise-amplifiers/ku-lna-1090-a-tm.html for cable (~60m LMR) loss compensation with SBS-1eR, Beast and RTL2832/T820R dongles. And such receiving systems work fine for me. In my opinion, need to consider the structural features of DVB-T dongles: high sensitivity receiver chip though there is no band pass filter (pre-selector) and low ADC (8bit) dynamic range.
I prefer use the narrow-band resonant antenna, which weaken effect of adjacent-station interference. And for suppression of out-of-band signals used band pass filter (~6MHz) and LNA with high IP3.
There are specifically made ??available cmd-options to set different values in program and found optimal for specific conditions. In many cases, the program work fine, if you specify only <gain control> as maximal (42 - for Elonics E4000 or 49.6 - for Rafael Micro R820T), output message <format> and <server on port>: ./modesdeco --gain 42 --msg --net 30003.

Sincerely,
Sergey
« Last Edit: August 10, 2013, 10:08:02 AM by sergsero »

Re: xDeco and ModeSMixer console programs for COM/TCP/SDR
« Reply #21 on: August 10, 2013, 11:40:56 AM »
Hi Sergsero
Thanks a lot for all the explanations.
I started testing both, very interesting specially ModeSMixer !!
I noticed that it keeps retraing to connect )at least at starting ... this is interesting in environments such internet ...
where connections, broadband etc can drop sometimes....  It allows an "auto Restart"
I used ModeSMixer with the following command :
sudo ./modesmixer --inConnect 186.193.234.21:30002 --outConnect avr:maquinas.no-ip.org:31002
That does a TCP conection from port 30002 in the local host (successfully) to a remote host (maquinas.no-ip.org) TCP 31002
That dos not succeed because it is indeed an UDP listening port.
Would it be possibly to add a funtionality to allow to specify TCP or UDP mode ??
I am not shure if this make sense ... since UDP is a connctioless protocol, but this would allow to use ModeSMixer in a wider
environments ... such as mixing to RTL1090 in windows....
What do You think about this .. ?
Best regards - Congratulations and thanks a lot for developing and for make it available for the folks !
Juan

Re: xDeco and ModeSMixer console programs for COM/TCP/SDR
« Reply #22 on: August 12, 2013, 12:15:23 AM »
Hi Sergsero
Thanks a lot for all the explanations.
I started testing both, very interesting specially ModeSMixer !!
I noticed that it keeps retraing to connect )at least at starting ... this is interesting in environments such internet ...
where connections, broadband etc can drop sometimes....  It allows an "auto Restart"
I used ModeSMixer with the following command :
sudo ./modesmixer --inConnect 186.193.234.21:30002 --outConnect avr:maquinas.no-ip.org:31002
That does a TCP conection from port 30002 in the local host (successfully) to a remote host (maquinas.no-ip.org) TCP 31002
That dos not succeed because it is indeed an UDP listening port.
Would it be possibly to add a funtionality to allow to specify TCP or UDP mode ??
I am not shure if this make sense ... since UDP is a connctioless protocol, but this would allow to use ModeSMixer in a wider
environments ... such as mixing to RTL1090 in windows....
What do You think about this .. ?
Best regards - Congratulations and thanks a lot for developing and for make it available for the folks !
Juan
Hi Juan,
I'm sorry for not being made ??a detailed description. There is two different programs.
ModeSDeco is SDR console (without GUI) decoder with tcp-output-server in RAW (BEAST BIN or AVR ASCII) or MSG formats streaming data specifically designed for RTL DVB-T dongle. It is similar to dump1090, rtl1090 or adsb#.

ModeSMixer is mixer (software data combiner) and transcoder for network-data-sources and/or for 'classical" ModeS receivers that to merge them data streams in one.
It can receiving input data in any format: BEAST, AVR/AVR-MLAT, SBS-RAW or MSG (automatic recognition) from tcp-data sources and/or serial port device: COM* in windows or /dev/ttyUSB* in linux for receiver.
Receiving network data can be as "listening server --inServer" on <port> or as client, "pulling --inConnect" data from a remote server on <host:port>. In the case of direct-attached receiver "--inSerial": <serial port:data rate:flow control>.
The merged output-data-stream can be accessed in network via embedded server (--outServer) in specified format <type>: bin, avr, avrmlat, msg, sbsraw on tcp <port>, or "pushed" (--outConnect) to the remote server with specified address <host> and <port> in the same formats <type>.
The number of combined input sources and output connections with one format type and/or concurrent access for different types are limited only computer performance. For example, is a possible for microADSB: ./modesmixer --inSerial /dev/ttyACM0:115200 --outServer bin:30040 --outServer msg:30003 --outServer sbsraw:30006 --outConnect avrmlat:30001 which will allow him to be at the same time: BEAST's receiver, source for flightradar24.com sender, Kinetic BaseStation RAW data stream and send AVR MLAT to remote server :).

I'm using collinear antenna http://www.radial.ru/catalog/antennas/vertical/a10_1090/eng/ with high gain (10dBi) and LNA (30dB) http://www.kuhne-electronic.de/en/products/low-noise-amplifiers/ku-lna-1090-a-tm.html for cable (~60m LMR) loss compensation with SBS-1eR, Beast and RTL2832/T820R dongles. And such receiving systems work fine for me. In my opinion, need to consider the structural features of DVB-T dongles: high sensitivity receiver chip though there is no band pass filter (pre-selector) and low ADC (8bit) dynamic range.
I prefer use the narrow-band resonant antenna, which weaken effect of adjacent-station interference. And for suppression of out-of-band signals used band pass filter (~6MHz) and LNA with high IP3.
There are specifically made ??available cmd-options to set different values in program and found optimal for specific conditions. In many cases, the program work fine, if you specify only <gain control> as maximal (42 - for Elonics E4000 or 49.6 - for Rafael Micro R820T), output message <format> and <server on port>: ./modesdeco --gain 42 --msg --net 30003.

Sincerely,
Sergey

Hi Sergey
Well I did some testing mainly with ModeSmixer and it worked nice !
The only problem was that at night something happened was that rasp that acts as concentrator ModeSmixer
was stopped with several lines this way :
     �@� "��@� Ty"�Q8O�� 0-
���@� �9��@� Ty�9�Q�O��0-
��

But in restarting .. al worked fine again.
In this Rasp (local one) I have dump1090 running and ModeSmixer with this command :
sudo ./modesmixer --inConnect 192.168.1.32:30002 --inServer 8000 --outServer avr:30005

The idea was to catch data from itself (--inConnect 192.168.1.32:30002) sum data from remote Rasp (--inServer 8000)
and serve data in avr mode at port 30005 .. where i connected AdsbScope.

Remote rasp running dump1090 and ModeSMixer with this command :
sudo ./modesmixer --inConnect 186.193.234.21:30002 --outConnect avr:maquinaso-ip.org:9175
Very interesting that the remote rasp when connection drops for some reason... it keeps trying to recconnect !
Very beautuful piece of software !!!!!!
It is now working adding ACs data from ground of both airports !
Plesase tell me if the concepts i used to put the commands are the right ones.

Thanks in advace - Juan (P.S .. forget the above post about UDP, Please)

Re: xDeco and ModeSMixer console programs for COM/TCP/SDR
« Reply #23 on: August 12, 2013, 01:47:09 PM »
Hi Juan,
Yes, the program has a reconnecting function with random time intervals so not to have peak load on the server.
Ok, I will think how to add a UDP.

Re: xDeco and ModeSMixer console programs for COM/TCP/SDR
« Reply #24 on: August 17, 2013, 03:38:29 PM »
Hi Sergsero

Today I installed Ubuntu 12.04 server in a Zotac (it was running W 7) and put tu run ADSBscope + and ModeSMixer sucsessfully.
It was needed to reinstall Ubunto 32 bits since with 64 bits ModeSMixer wont not to run.
Now I tought to put ModeSMixer tu run in a W7 ... but it also is 64 ... I am afraid that modeSMixer_win32 will not run fine..
What do you think about it.. ?
Cheers - Juan

Re: xDeco and ModeSMixer console programs for COM/TCP/SDR
« Reply #25 on: August 18, 2013, 03:15:10 AM »
Hi Juan,
Here is 64-bit version of ModesMixer for Ubuntu Linux (Linux 3.5.0-37-generic #58-Ubuntu SMP Mon Jul 8 22:07:55 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux)
As for the version for windows, then you can not be afraid of 32-bit version of the program don't works in Windows 64-bit. It's works fine - test yourself.

I also have version for windows 7, which was compiled with new libraries in Visual Studio 2012. But it's requires the Visual C++ Redistributable Packages, that install runtime components of Visual C++ libraries for run applications developed using Visual Studio 2012. Enough install this package once.
modeSMixer12_win7_gs_20130802.zip: and Visual C++ Redistributable Packages, use 32-bit vcredist_x86.exe: http://www.microsoft.com/en-us/download/details.aspx?id=30679
« Last Edit: May 05, 2014, 06:19:51 PM by sergsero »

Re: xDeco and ModeSMixer console programs for COM/TCP/SDR
« Reply #26 on: August 18, 2013, 03:06:48 PM »
Hi Sergsero,

WOW !!!  more toys to play around !!!  Beautiful !
Thanks a lot....

Juan


Re: xDeco and ModeSMixer console programs for COM/TCP/SDR
« Reply #27 on: September 02, 2013, 04:10:31 PM »
Hi Juan,
Please test this new version of modeSMixer with support of UDP-protocol.

Added support for UDP connections: --inServerUdp arg - to enable the server to receive incoming connections over UDP on port <arg> and --outConnectUdp arg - to enable data transmission over the UDP Protocol in: format:address:port on the receiving side. Format can be: bin, avr, avrmlat, msg, sbsraw. The host address can be specified as digital IP or as domain name.

I can not test decoding of negative values ??of latitude and longitude in your geographic area. If you could write received messages in AVR format to text file, I would be very grateful for your help.

/Sergsero
« Last Edit: April 24, 2014, 03:51:47 PM by sergsero »

Re: xDeco and ModeSMixer console programs for COM/TCP/SDR
« Reply #28 on: September 06, 2013, 12:00:09 AM »
Hi Sergsero,

Thanks a lot for the UDP type Mixer,
Already downloaded and i believe that on the weekend I will doing some testings.

Cheers - juan

Re: xDeco and ModeSMixer console programs for COM/TCP/SDR
« Reply #29 on: October 07, 2013, 01:08:24 PM »
Hi,

I have tried ModeSMixer and it runs pretty fine (64-Bit WIN7). Many thanks about this software.

Would it be possible now to use ModeSMixer to upload data into Globe-S Mini?
http://miniadsb.web99.de/homepage/index.php?way=1&site=READOUT&DERNAME=Globe-S%20mini&dm=miniadsb&USER=miniadsb&goto=1&XURL=&WB=&EXTRAX=X&PIDX=86217

Documentation says that Globe-S Mini listens port 7933
for UDP traffic formatted -->

---clip-----------
This software is capable of displaying Beast compatible data traffic via COM ports or UDP port 7933.
Format supported:
* <data> ; (no CRC performed)
: <data> ; (CRC performed)
@ <timestamp><data>; (no CRC performed)
Binary data
--------clap--------------

I have tried, but no success yet.

Regards,
Laxlou
« Last Edit: October 07, 2013, 03:41:10 PM by laxlou »