Raspberry PI als Antennen Umschalter

2014/03/21

Raspberry PI als Antennen Umschalter

Zubehör

Zwischen meinem Shack und den Antennen liegen ein paar Meter. Da ich nicht die Möglichkeit habe ein Steuerkabel für ein Kommerzielles Antennenrelais zu verlegen, kam mir die Idee mein Raspberry PI und eine Relaisbank als “Network-RPBI-Antenna-Switch” zu verwenden. :-) Nachfolgend beschreibe ich das vorgehen.

Um relativ einfach auf die GPIO’s zuzugreifen, gibt es das “wiringPi” Programm. Dies muss via git heruntergeladen und compiliert werden.

$> git clone git://git.drogon.net/wiringPi
$> cd wiringPi
$> ./build

## nun das Programm gpio testen
$> gpio -v
gpio version: 2.25
Copyright (c) 2012-2015 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty

Raspberry Pi Details:
  Type: Model B, Revision: 2, Memory: 512MB, Maker: Sony

Ich habe die “Relais Bank” an GPIO 23 und 24 angeschlossen. Diese kann ich nun wie folgt steuern:


## beide gpio's aktivieren
$> gpio -g mode 23 out
$> gpio -g mode 24 out

## und ein oder ausschalten
$> gpio -g write 23 0
$> gpio -g write 23 1

Das oben beschriebene Ein- und Ausschalten ist nicht ganz korrekt. Die Relais sind quasi Wechselschalter. Sie haben einen Eingang und zwei Ausgänge. Mit “1” wird der linke Ausgang geschaltet und mit “0” der rechte.

Nun bauen wie uns ein kleines Script zum schalten der Relais. In meinem Fall gibt es ein Antennen Eingang (vom TRX) und zwei Antennen Ausgänge.

$> sudo apt-get install bc
#!/bin/bash

ANTENNA=$1
GPIOS="23 24"  ## Die zu benutzenden GPIO's

if [ ! "$1" ]
then
        echo "./antenna.sh ANTENNE_NUMMER"
        exit -1
fi


echo "Swich to Antenne $ANTENNA"

## gpio's aktivieren

for i in $GPIOS
do
        gpio -g mode $i out
done

## relais ausschalten

for i in $GPIOS
do
        gpio -g write $i 0
done

## Relai einschalten

COUNT=1
for i in $GPIOS
do
        if [ "$COUNT" = "$ANTENNA" ]
        then
                gpio -g write $i 1
        fi
        COUNT=`echo $COUNT + 1 | bc`
done

Beim Umgang mit großen Spannungen ist Vorsicht geboten. Bei unsachgemäßem Umgang, ist mit dem aussetzten des Lebens zu rechnen.