The forum is read-only currently.
- Last Active
The splash image on http://n6gn.no-ip.org:8073/ has a schematic of a MW band stop that surpresses MW BCB by about 20 dB and allows for one additional notch elsewhere. This may protect a Kiwi from OV while still allowing only slightly reduced access to stations in MW and good access elsewhere. It can be fabricated from inexpensive SMD components.
While " /sys/class/gpio/gpioNN/value" did allow toggling the lines, it seems that it is toggling more than one. I haven't studied the class to understand it and there may be a way around this, however, Gwyn G3ZIL, kindly pointed me to another way that seems to do exactly what I want even more directly. It is:
rsh root@[kiwi IP address] "/root/extensions/ant_switch/frontend/ant-switch-frontend N;" 2>/dev/null
where N is the Antenna N selection desired and 2>/dev/null throws away the return text from the BB resulting from the remote shell call. I expect using this method requires compiling the ant_switch extension into the Kiwi but that is well documented and only takes a few minutes.
This seems to work precisely as hoped and allows setting the GPIO lines of the ant_extension one-at-a-time. I measured 600 ms/setting across my local network.
If someone simply wants a few control lines to use to programatically control an external device on a kiwi - whether an antenna switch or something else - this seems to be a quick, easy and effective way to do it remotely.
I've only tested from a remote computer running Ubuntu Linux but perhaps someone more familiar with Windows can provide an equivalent method for that OS.
for automating this with crontab from the kiwi itself.
Darn, file attach didn't work. Here it is in-line:
### This bash script to sweep a kiwi and report S-meter reading
### steps through the set frequencies
### and stores the results, timestamped, in a file whose name is passed as an argument when calling the script
### Dependencies: Needs kiwiclient directory with kiwirecorder.py
### Version 1.0 May 2019 Script from Gwyn Griffiths G3ZIL hacked for WB7ABP by N6GN
### Version 1.1 throw away initial measurement after frequency (or other?) change. It's bogus. Remove delays
#if [$# lt 1]
# echo "no argument"
#3echo "This script needs a single argument, the output file name with a csv extension, e.g. test_22_May_2019.csv"
VERBOSITY=1 # set 1 for test mode, otherwise 0
# say where kiwirecorder is on this host
# set the start, stop and increments for the test frequencies, could also be an array e.g. for wspr bands, revisit
# quiet ? spots
LIST="60 400 560 600 760 1060 1360 2500 5000 10000 15000 20000 25000 28000 29950"
# one frequency point with 2 averages takes about 1 sec, 10 averages ~2 sec and 100 takes ~20 seconds.
# target KiwiSDR
# write header to the csv file, with names on one line, units on the other
DATE=`date --utc "+%Y/%m/%d %H:%M"`
echo "Measuring, $HOST, $PORT, on, $DATE" >> $1
echo " Frequency, S Meter" >> $1
echo " kHz, dBm " >> $1
#for i in `seq $START $INC $STOP`
for i in $LIST
echo "acquire data for $i kHz"
# set to 10kHz bandwidth
OFF=`$KR -s $HOST -p $PORT -f $i m iq -L -5000 -H 5000 --s-meter 1` # discard, first reading is bogus !!!!
OFF=`$KR -s $HOST -p $PORT -f $i m iq -L -5000 -H 5000 --s-meter $AVERAGES`
# strip off the leading "RSSI:"
Smeter=$(awk -F: '$0=$2' <<<"$OFF")
if [ $VERBOSITY == "1" ]; then
echo "Level was $Smeter dBm"
# write data to the file
# get the date and time in UTC
# DATE=`date --utc "+%Y/%m/%d %H:%M"`
# echo "$DATE,$i,$Smeter" >> $1
echo "$i,$Smeter" >> $1
echo "Finished sweep"