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 https://erik-bartmann.de/userfiles/downloads/processing/PiMeUp_MCP3008.pdf 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. |