For release SparkSDR2WSJTX-UDP v2.00, an application for taking FT8, FT4 and WSPR spots received over
SparkSDR Websockets and formatting and forwarding them over the UDP network via the WSJT-X protocol to GridTracker (and possibly other similar apps). Download my app from my web site here:
https://k1ra.us/wp-content/uploads/sites/5/download/sparksdr2wsjtx-udp-v2.0.0.zip
Please let me know if you have any issues accessing it.
This new version is written in Python and the downloaded ZIP contains both a standalone executable tested on Windows 10, as well as the Python source code and requirements.txt file. The later could be used with the Python interpreter and should run under Linux or MacOSX. I've not tried that on my Ubuntu system, so I'm looking for any feedback for those who try using the source code directly.
> sparksdr2wsjtx-udp.exe -h
Usage: sparksdr2wsjtx-udp.py -m MYCALL -g MYGRID6 [-c cache_expire] [-s sparksdr_ip] [-b broadcast_ip] [-p broadcast_port] [-d] [-v] [-h]
-m MYCALL (mandatory, ex: -m K1RA)
-g MYGRID6 (mandatory, ex: -g FM18cr)
-c cache_expire (optional, minutes, ex: -c 5) [default=5]
-s sparksdr_ip (optional, ip address, ex: -s 192.168.1.123) [default=127.0.0.1]
-b broadcast_ip (optional, ip address, ex: -b 192.168.1.234) [default=239.1.1.1]
-p broadcast_port (optional, udp port, ex: -p 2239) [default=2237]
-d (turns on debug messages)
-v (prints version)
-h (prints this help)
The only mandatory command line options are -m followed by your call and -g for your 6 digit grid.
By default the app looks for the SparkSDR Websocket on same computer, localhost at 127.0.0.1. If your SparkSDR is running somewhere else on the network use the -s command line option to specify its IP address. Also by default the app is set to use multicast to IP 239.1.1.1 and UDP port # 2237 to broadcast WSJT-X-like spot information over the network. I've set my GridTracker up to use multicast as follows, see circled in red here:
You could also use the -b option to redirect the spot info broadcast to a specific IP address. -p can be used to change the broadcast port number.
I've enabled Push Pins within GridTracker to give its look and feel a local and more speedy PSKreporter map style view, see circled in red:
The -d command line option is useful to show SparkSDR Websocket data and decoded messages sent as well as any rejected decodes.
The app should handle reconnecting to SparkSDR and handle other tuning or band/mode changes, though I've not tested all possible combinations. Once a call is spotted on a frequency (kHz) it will not be resent over the network to GridTracker until the cache timer (5 minutes default) has expired for that hashed call+frequency.
Ctrl-C should exit the program.
> sparksdr2wsjtx-udp.exe -m K1RA -g FM18CR -d -s 192.168.2.148
sparkdxc2wsjtx-udp version 2.0.0 by K1RA
Opening Connection
Message Received: {"cmd":"spotResponse","spots":[{"time":"2022-10-24T00:32:30Z","frequency":7075494.0,"tunedfrequency":7074000.0,"power":0,"drift":0,"snr":9,"dt":0.1,"msg":"W3MEB W0LEN -11","mode":"FT8"
,"submode":"","distance":null,"call":"W0LEN","color":0,"locator":"","valid":true,"offsetFrequency":1494.0,"rxid":11}, ...
003230 7074.0 FT8 W0LEN 1494 9 W3MEB W0LEN -11
003230 7074.0 FT8 NG8Y 2110 16 EM79 CQ NG8Y EM79
003230 7074.0 FT8 N5RN 715 5 EM34 TY0RU N5RN EM34
003230 7074.0 FT8 KC9IZF 1567 -9 EN54 KE8RS KC9IZF EN54
003230 7074.0 FT8 KB8V 814 5 EC3A KB8V R-20
003230 7074.0 FT8 N2YCH 2395 6 FN31 CQ AK N2YCH FN31
Here's a screenshot of my GridTracker with my SparkSDR being fed by 2 Redpitaya's where map spots can be viewed here:
There you can see how I setup and use the Map View Filters on the right side of that main screen page. This is for viewing all modes, bands and live.
By clicking on the RX Calls section on the right of the main screen you view Live Decode details, time stamp, band. mode call, etc. as seen here:
Please let me know if you have any issues and comments, questions, feedback welcome.
73
andyz - K1RA