Shiva DX Cluster connects to a ham radio dx cluster and repeat the dx spot to shiva clients while adding spots based on list files.
It downloads also Priyom.org number station schedules to show them dinamically on cluster softwares.
It doesn't send to ham radio dx cluster any spot nor it can receive any spot.
It is intended to use with SDR Console for SWL/BCL ( see screenshots folder ) so they are able to see broadcasting stations, for example, based on scheduling day and time.
Ham radio dx cluster spots are repeated to shiva clients immediately, broadcasting stations and other lists are sent to shiva clients every 10 minutes (default,configurable).
Priyom.org number stations are sent for 1 hour since the start of transmission.
See also "considerations" below
--------------------- -------
| Priyom.org |------> | |
--------------------- | shiva |
----------------------- | | ---------------
| Ham radio DX cluster | ---> | | ---> | shiva clients |
----------------------- ------- ---------------
|
|
----------------------------
| hfcc list and custom lists |
----------------------------
If you want to access my shiva cluster already running h24, please contact me https://iu2meh.blogspot.com/
Or you can run your own shiva dx cluster:
First, download executable (compiled for linux x64).
Make sure Shiva executable has permission to execute:
chmod +x Shiva
Create a directory /etc/shiva/ as root
where put the config file shiva.conf and edit it as follows:
timeout= timeout in milliseconds for tcp sockets
callsign= callsign used to present shiva to public dx cluster, i prefer to use a faked one
dxcluster=
dxclusterport= are the address and port of the dx cluster to connect to
listenport= tcp port where shiva listens for connections that comes from clients
workingdir= directory where there are lists
interval= interval time in milliseconds between list sendings
Download an updated broadcast scheduling list file from http://www.hfcc.org/data/
Actual list is "A20allx2.zip - A20 Operational Schedule - Last updated on 26-May-2020"
Unzip it in /etc/shiva/ (or another folder as you specified in conf file as workingdir ) and rename the main list ( in our example A20all00.TXT) as LIST.list
You can add other custom list files naming them with suffix .list, see below for the correct format.
Create a user.conf file with users and passwords coma separated, for example:
iu2meh,thisisthepassword
see folder config_samples and list_samples
Simply run ./Shiva as normal user, you can pass --with-debug option to see debug messages.
It will connect to ham radio dx cluster and listen on a tcp port as specified in config file
Then you can connect to it with SDR Console https://www.sdr-radio.com/ or similar software or whatever can use a "classic" dx cluster
You can see here, in the screenshots folder, how to use it with SDR Console.
When you configure shiva cluster in SDR Console there is a field named "Display spots for: xxx minutes"
you have to tune it!
for example, you set it to 30 minutes, with shiva sending lists every 10 mins (default):
shiva send spot coming from list files every 10 minutes, so , if a station stop to tx at 20:00 in the worst case disappear from the sent list to you at 20:10 and from SDR Console waterfall at 20:40
on the other hand, if a station start to tx at 19:00, in the worst case shiva will update your waterfall at 19:10
so you tend to choose "Display spots for: 5 minutes" ( or less )
now in the worst case when a station stop to tx at 20:00 disappear from waterfall at 20:15, not bad, and when start for example at 19:00 you will see it at 19:05
but ham spots coming from the ham radio dx cluster are not always spotted every 5 mins, if you choose a short time these can appear/disappear repeatedly on your waterfall.
It is good to use a short time in "Display spots for: xxx minutes" when working like an swl and a long time when working as ham radio operator.
You can create a custom list file ( and please share it to me, it will be published here ) creating a new file with suffix .list in the workingdir.
Fields to be specified in the file are the followings, coma separated:
start_date,end_date,day_of_the_week,start_time,end_time,frequency,modulation,station_name
start_date: day when the station will start to transmit in the format ddmmyyyy
end_date: day when the station will stop to tx in the format ddmmyyyy, 31122100 is taken as standard for forever.
day_of_the_week: day of the week when the station is active, 1 for monday 7 for sunday, for example if you write 123467 means that is active from monday to sunday except friday
start_time:
end_time: start and end time in UTC of tx, in the format hhmm, if the station transmits h24 you have to write 0000,2359 . Do NOT use 2400 as midnight
frequency: self explanatory, in Hertz
modulation: AM or LSB or USB or whatever you want
station_name: self explanatory
Example:
28052020,31122100,1234567,0000,2359,252000,AM,Chaine 3 (AL)
means: Chaine 3 from Algeria is transmitting on 252kHz in AM 24 hours a day everyday. (year 2100 means forever)
If you want to add an yearly event you can use the following notation:
17062020,1706****,1234567,0000,2359,999000,AM,test
means: station "test" will transmit on 999kHz AM for 24 hours every 17th of June.
I want to repeat... please SHARE your list files with this project and their users sending it to me.
-
Qt Creator 4.12.1
Based on Qt 5.14.2 (GCC 5.3.1 20160406 (Red Hat 5.3.1-6), 64 bit
Built on May 19 2020 04:15:49
- Walter Panella IU2MEH - Initial work
QObject::connect: Cannot queue arguments of type 'QAbstractSocket::SocketError'
(Make sure 'QAbstractSocket::SocketError' is registered using qRegisterMetaType().)
-
Connect to reverse beacon network
-
Don't read list files everytime but read one time and store it in an array and reread if file change