Raspberry pi HF Feldstärkemessung und plotten - HF Sniffer

DL3NDD 4/2015

 
Für eine einfache Feldstärkemessung benötigt man den Aufwand mit einem Raspberry eigentlich nicht.
Hier braucht es nur eine einfache Schaltung mit einem Mikroamperemeter.
 
Anders sieht es aus, wenn man z.B. automatische Sendestationen (Relaisstellen) oder den eigenen Funkbetrieb überwachen und die Zeiträume der Aktivität erfassen will.
 
 Benötigte Hardware:
 
Raspberry pi
analog/digital Wandler (hier mcp3008)
HF-Sniffer (einfacher Selbstbau)
 
1. HF Feldstärkemesser

Für geübte Funkamateure eine Sache von 30 Minuten.
 
Material alles aus der Bastel- und Restekiste

2 Dioden (am besten Germanium Dioden)
1 Poti 47k
1 Kondensator 20nF
1 Teleskopantenne (kann aber auch ein Stück Draht sein)

 

 

2.1 D/A Wandler an Raspberry pi 

A/D Wandler mcp3008
Die GPIO Kontakte des Raspberry pi können Verbindung zu anderen Geräten aufnehmen.
Allerdings nur auf digitalem Weg.
Wir wollen aber eine Gleichspannung messen, die vom HF-Sniffer kommt.
Damit kann der pi erstmal nichts anfangen.
Dieser analoge Messwert wird nun von einem Analog-Digitalwandler (z.B. MCP3008)
so umgewandelt, dass der pi ihn lesen und verarbeiten kann.
Möglich sind via SPI oder I²C-Bus. Hier benutze ich das Auslesen der GPIO mit SPI.
Hierzu das ausgezeichnete Tutorial von Erik Bartmann http://erik-bartmann.de/down/raspberry-pi.html
dessen Skript von ihm freigegeben ist und hier auch verwendet wir (modifiziert).
 
Zum Anfang und zum experimentieren habe ich mir ein Breadboard zugelegt.
Hier kann auch erst mal der nicht so geschickte Elektronikbastler durch einfaches
Stecken der Bauteile und Verbindungen zum Erfolg kommen.

 
 
 
2.2 Skript Python
 
Script zum Auslesen des A/D Wandlers MCP3008

Das Script zur Abfrage ist in python geschrieben, das schon auf
Raspberry dabei ist.

Da der MCP3008 mit dem SPI Bus arbeitet muss dieser natürlich aktiviert sein.
Standardmäßig ist der SPI Bus geblacklistet.
Konfigurationsdatei

anschließend blacklisting mit # auskommentieren

#blacklist spi-bcm2708

Raspberry Pi neu booten


Für die Programmierung der GPIO's mithilfe Python muss die Python-Entwicklungsungebung sowie die
RPI.GPIO Bibliothek nachinstalliert werden.
sudo apt-get update
sudo apt-get install python-dev
sudo apt-get install python-rpi.gpio

Mit Rootrechten (sudo) das .py Skript anlegen

 
 
gestartet wir später mit:
 
 
Wer einen anderen channel (input) beim mcp3008 möchte editiert folgende Zeile:
sendcmd |= 0b00011111 # Entspricht 0x18 (1:Startbit, 1:Single/ended) hier stellt ihr Hexadezimal den Input Kanal des MCP3008 ein      111 = 7      000 = 0
 
den unteren Teil des Skriptes habe ich geschrieben, um die ausgelesenen Werte in Textdateien in /home/pi zu bringen und mit gnuplot vom Raspberry eine Grafik zu erstellen
.
 
Der Unterschied zwischen hf.txt und grafhf.txt besteht nur darin, das einmal der gelesene Wert jedes Mal 
überschrieben wird (aktueller HF Feldstärke auf der Webseite)
und beim anderen die Werte untereinander erhalten bleiben (für die Grafikauswertung).
Hier könnt ihr nach Bedarf auch anders verfahren (Datenbank o.ä.)

Freigabe ( chmod 777) der txt Dateien nicht vergessen.
 
 
2.1.2 Gnuplot
 
zu Gnuplot gibt es jede Menge Infos, wer hier nicht weiterkommt bitte
 
 
3. Fertiger Aufbau und Autostart
 

 
 
12 Stunden Auszeichnung meines Funkbetriebes. Grafik vom Raspberry erstellt mit Gnuplot
1000 Messpunkte ca. 1 Stunde
Die unterschiedlichen Kurven entstehen bei Nutzung verschiedener Frequenzen (Empfindlichkeit des HF-Sniffers) und
unterschiedlicher Leistung.

Copyright © 2015 DL3NDD. Letze Änderung am 2015-05-19.

Besucherzähler Austricksen