Query signal level at a given frequency? [added in v1.631]

edited November 2023 in KiwiSDR Discussion

Is it (or would it be) possible to send a KiwiSDR, say, an https request asking it to report the signal amplitude at a certain frequency, which it would reply to by returning a number?

I'd be interested in this to have an automated monitor of the Kiwi's antenna system. It would be periodically asked for the signal amplitude of a local AM broadcaster whose signal received by groundwave normally deviates very little. An antenna system failure would show up as a major reduction in signal level.

It could also be used for other purposes. Monitoring, say, WWV levels on various frequencies could signal when bands open and close.


  • Yes, this would be possible (*except for the https part).

    A while ago I would have said "no" because the only API to the Kiwi server we had was based on web sockets. Either from the Kiwi Javascript running in the browser or from kiwiclient/kiwirecorder in Python.

    But now we have this hack called "internal connections" which is how WSPR and FT8/FT4 autorun is accomplished. The server WSPR/FTx code can use an internal connection which fakes a client-side web socket as far as the server is concerned.

    So all we'd have to do is add some code that responded to a new URL, say my_kiwi:8073/?s-meter&f= (the usual f= freq/mode/passband spec) and return the S-meter reading as a single value or some JSON values. It would require that there be a free channel available.

    *No-cost HTTPS/TLS/SSL on all the networking environments Kiwi's find themselves in is generally not possible, unless something has changed recently. I think I last looked at this a year ago. It's a gigantic mess. Anyone who says "Just use Let's Encrypt!" doesn't understand the actual problem.

  • Sounds great to me. If that can ever be added as a feature, I'll definitely be up for testing it.

  • Alternatively, you could use the S-Meter/RSSI readings from kiwirecorder

      --S-meter=S_METER, --s-meter=S_METER

                Report S-meter (RSSI) value after S_METER number of

                averages. S_METER=0 does no averaging and reports each

                RSSI value received. Options --ts and --stats apply.

  • Thanks! I'm completely new to KiwiClient, but obtained it from Github and the samplerate_test indicates it's working. I'll try the S-meter reading with kiwirecorder and check out the rest of the demo programs.

  • jksjks
    edited October 2023

    I assumed he was looking for a simpler solution that could be used with curl (or a browser) as with /status, /user, /snr and /adc rather than all the baggage of kiwirecorder. But maybe that's good enough.

  • Yes, that's actually what I had in mind, and maybe it could provide more flexibility such as checking status remotely from a browser on a phone. But for now there's a lot of interesting stuff in kiwiclient to check out.

  • Look, as an example, at such a variant of the statistics of data about your KiwiSDR.


  • Please see the v1.631 release thread (or the CHANGE_LOG file) for a description of the new /s-meter URL interface.

  • edited October 2023

    Thank you! Very simple, and it works great.

Sign In or Register to comment.