The Reverse Beacon Network (http://reversebeacon.net) has now made a
Telnet feed of the aggregated output of all currently active RBN Skimmer
receivers available in real time at telnet.reversebeacon.net port 7000 (that's not a clickable link - you'll need a telnet client, though your logging software will work just fine).
Thanks to Rick, K4TD, for making the server available, and to Felipe,
PY1NB and Nick, F5VIH for the programming effort.
No big deal, you say? Well, before you blow it off, take a look at the
flow of spots, even on a normal weekday. Run them through appropriate
filters (CCUser, etc.) to remove duplicates, restrict spots to your country, continent, or call area, or whatever, and use them to populate the bandmap of your favorite contest logging software. I think you'll be amazed.
This feed offers one huge advantage for contesters, because the RBN
spots *every* station it hears, not just the ones that someone,
somewhere thinks are worthy of being spotted. It is also listening on
all bands, all the time, at world-wide sites.
ONE CAUTION -- Precisely because it spots everything, usually multiple
times, it would be disastrous if someone were to feed the RBN Telnet
server into the normal DX cluster network. If this happens, the server
may have to be shut down, so *please* don't do it.
73, Pete N4ZR
Just a heads up/FYI....
ReplyDeleteI realize that many folks prefer N1MM, but I remain in the WriteLog camp.
The address for the telnet feed is four characters too long to be used in the Writelog packet window. Or stated more correctly, WriteLog is truncating the last four because it cannot handle an address that long.
I'll try using wintelnetx as middle ware. I suspect that will be a good work-around, but not yet tested.
73 de w4kaz
What's more, I believe the port is 7300 not 7000!
ReplyDeleteThanks for making this available though - very useful to fill-in missing band slots for 'ordinary' hams, not true DX stns (for which DXcluster is great).
73
Gary ZL2iFB
Hello
ReplyDeleteThis seems to be broken as of october 03. very interesting resource though
73
Brendan EI6IZ
Hello,
ReplyDeletethanks for the service. I know that I am kind of late, but ... I used this service with an Arduino:
http://hajos-kontrapunkte.blogspot.de/2013/04/arduino-as-reversebeaconnetwork-client.html
But the LCD is kind of limited I wanted to move on to a Raspberry Pi and another Display:
http://coldtearselectronics.wikispaces.com/USB+LCD+-+LCD+System+info
This doesn't seem to be a problem but I had to switch to Python. I used the telnetlib library and ran into problems with the connect:
############
import telnetlib
host = "69.36.242.140"
port = 7000
tn = telnetlib.Telnet(host, port)
#tn.read_until(b"callsign: ")
tn.write(b' xx1xxx\n') # fake callsign
print(tn.read_all().decode('ascii'))
#############
I get the connect and the opening message, but when I try to give my login I am refused.
In the line
tn.write(b' xx1xxx\n')
I have to put a blank before my callsign and my sign is capitalized to ' XX1XXX' , which does not work.
If I do not put a blank before my sign there is no response.
Of course I used the standard example with "getpass", but that is not working either. I tried it on a windows and a Linux machine. The server is on a Linux based machine.
There must be a trick when talking to a unix-machine ;-)
I know that this is not the right address for stating my problem, but on the other forums I haven't got an answer.
Do you know where I may find a solution to my problem?
Help would be welcome.
Hajo DL1SDZ
I realise this was posted in 2013 but ...since I'm here.. this example works and includes a demo of how you can filter the results based on one or more of the daat fields.. e.g. just tell me about WPM less than x wpm.
ReplyDeleteRegards
M7RMZ
##########
import sys
import telnetlib
host = "telnet.reversebeacon.net"
port = 7000
tn = telnetlib.Telnet(host,port,10)
#tn.set_debuglevel(10)
tn.read_until(b"call:",5)
tn.write(b"XXXXX\n"); # Add your call here
line = tn.read_until(b">\r\n") # Read until header data passed
while True: # Loop
line = tn.read_until(b"\n") # Read just one incoming line
utf8line = str(line,encoding='utf-8') #encode so line is text not binanry
utf8line = utf8line.split() #split on white space to get a list of the values in the line
if utf8line: # if the list contains something (getting a blank initial list)
if int(utf8line[8]) < 20: # Example to look for slow CW using the 9th list item as an integer
result = utf8line[4] + " " + utf8line[3] + " " + utf8line[8] + " WPM" # pick and choose what to display
print(result)