How does the connection between VRS and dump100 work?

Are you having trouble getting Virtual Radar Server installed and running? If so then this is the place to ask about it.
Post Reply
Florian
Posts: 1
Joined: Mon Dec 12, 2016 8:43 pm
Contact:

How does the connection between VRS and dump100 work?

Post by Florian » Mon Dec 12, 2016 9:10 pm

Hi,

I am new to VRS and new to the forum. At the moment I am building on at radar-like system for AFIS (aerodrome flight information service) at our local airfield and like to center this all on VRS. Some words about my intended setup:

I am running a VRS installation with Mono on my Ubuntu Server at home already. Also I did successfully connect a RaspberryPi with Dump1090 as receiver to it via my LAN. But in the future I like to have the Pi installed on our control tower to have the best view of the airfield. Also when this is working I like to add a couple more Pi's to club members around the airfield to increase coverage. But first things first.

Of course the airfields LAN uses a router to go to the internet and unfortunately I have no control over that part so I can't get some port forwardings or so. As far as I understand, Dump1090 provides a TCP server listening for connections and as soon ans VRS connects it starts streaming its data.

So far I managed to setup a reverse SSH connection to look into port 30003 of the Pi by using telnet. This is what I did on the Pi:

Code: Select all

ssh -R 50000:localhost:22 florian@server
Now I was able to look from the Ubuntu server into the Pi:

Code: Select all

ssh pi@localhost -p 50000 telnet localhost 30003
But technically now I am still running telnet on the Pi and just "see" the data. So I piped the output into a script setting up a local TCP server on my Ubuntu machine. I does nothing more than forwarding the stout from the ssh to TC port 30003. He is the Python source code:

Code: Select all

#!/usr/bin/env python

### FILE INFO
# Name:         tcpServer.py
# Description:  Forward stdin to TCP port
# Author:       Florian Meissner <florianmeissner@gmx.de>
# Date:         2016/12/12
### FILE INFO END


import sys
import socket

bindAddr= ""
sbsPort = 30003

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((bindAddr, sbsPort))
s.listen(1)

try:
    while True:
        comm, addr = s.accept()
        while True:
            line = sys.stdin.readline()
            if not line:
                break
            try:
                comm.send(line)
            except socket.error:
                comm.close()
                break

except KeyboardInterrupt:
    pass

finally:
        s.close()
Now I can telnet into my server and it looks exactly the same like on the Pi but for some reason VRS is getting no data from address 127.0.0.1:30003. The "Test connection" button in the receiver settings says a connection would be available.

Now my question to the pros of VRS. Is there some description on how the protocol between VRS and dump1090 is working. Maybe I am missing a handshake or so?


Florian

Skibox
Posts: 144
Joined: Mon Apr 07, 2014 7:06 pm
Location: ESGG

Re: How does the connection between VRS and dump100 work?

Post by Skibox » Wed Dec 14, 2016 2:50 am

Hi,

If your server has a fixed IP or DynDNS, and you can open ports in your own firewall, that is enough. You just need to turn around the direction of the data.

On the clients (Rpis), install xdeco modeSmixer2, it will attach to dump1090 on localhost, and initiate a TCP client connection to your VRS server.

On the VRS server, configure the receivers as "push".

We have over 40 receivers now working like this, very stable config.

Where are you located?

BR

/M

Post Reply