Lokaler, ressourcenschonender Raspberry-Pi-Dienst für Geigerzähler. Das Dashboard, MQTT und Home-Assistant-Discovery funktionieren ohne Cloud und teilen sich den Pi konfliktarm mit anderen Diensten.
Unterstützte Zählerprofile:
| Profil | Dateneingang | Standard-Kalibrierung |
|---|---|---|
| FTLab Smart Geiger Pro SGP001 | Mikrofoneingang einer USB-Soundkarte | vorhandene SGP001-Kalibrierung |
| RadiationD v1.1 (CAJOE) | GPIO-Impuls oder abgenommener Lautsprecherimpuls per Audio | abhängig vom verbauten Rohr |
| DFRobot Gravity Geiger Counter V1 / SEN0463 | digitaler D-Ausgang über GPIO | 153,8 CPM/(µSv/h) laut Hersteller |
Sicherheit: Am Zählrohr und auf den Platinen liegt Hochspannung an. Nur die ausdrücklich beschriebenen Niederspannungs-Pins berühren. Ein Raspberry-Pi-GPIO ist ausschließlich 3,3 V tolerant. Niemals ein 5-V-Ausgang direkt mit GPIO verbinden.
git clone https://github.com/therepro21/MiniGeigerCounter.git
cd MiniGeigerCounter
sudo bash install.shDanach http://PI-IP:8734 öffnen. Rechts oben Einstellungen wählen, Zählermodell und Eingangsart einstellen, speichern. Der Dienst läuft als Benutzer minigeiger; die GPIO-Berechtigung und gpiozero werden durch den Installer eingerichtet.
Die Beispiele verwenden BCM GPIO 17, physischer Pin 11. Jeder andere freie BCM-Pin 0–27 kann in den Einstellungen gewählt werden.
Smart Geiger Pro SGP001 Raspberry Pi
┌──────────────────────┐ ┌──────────────────────────┐
│ 3,5-mm-Klinke OUT ├────────────►│ USB-Soundkarte: MIC-IN │
└──────────────────────┘ │ USB ───────────────────► │ USB
└──────────────────────────┘
Den SGP001 am Mikrofoneingang, nicht am Kopfhörer-/Line-Out der Soundkarte anschließen. In den Einstellungen FTLab Smart Geiger Pro SGP001 (Audio) und danach den richtigen Audio-Eingang wählen. Bei mehreren Karten helfen arecord -l und die Pegelanzeige beim Zuordnen.
Der AZDelivery 4-Kanal-Pegelwandler 5 V ↔ 3,3 V ist hierfür geeignet. Es wird nur ein Kanal benötigt, zum Beispiel HV1/LV1. Die Pins heißen auf baugleichen Modulen meist HV, LV, GND, HV1…HV4 und LV1…LV4.
Datenleitung (ein Kanal)
RadiationD* AZDelivery Raspberry Pi
┌───────────────┐ ┌──────────────────┐ ┌──────────────────────┐ ┌─────────────────┐
│ CPM / VIN OUT ├──────►│ HV1 │ │ │ │ │
│ │ │ │ │ LV1 ─────────────────┼───►│ Pin 11 / BCM 17 │
└───────────────┘ └──────────────────┘ └──────────────────────┘ └─────────────────┘
Versorgung und gemeinsame Masse
Raspberry Pi AZDelivery RadiationD
┌──────────────────┐ ┌──────────────────────┐ ┌───────────────┐
│ Pin 2 oder 4: 5 V├───────────────►│ HV │ │ +5V │
│ ├─────────────────────────────────────────────────►│ +5V │
│ Pin 1: 3,3 V ────┼───────────────►│ LV │ │ │
│ Pin 6: GND ──────┼───────────────►│ GND ├─────────►│ GND │
└──────────────────┘ └──────────────────────┘ └───────────────┘
| Verbindung | Von | Nach |
|---|---|---|
| 5-V-Logikversorgung | Pi Pin 2 oder 4 | Pegelwandler HV |
| 3,3-V-Logikversorgung | Pi Pin 1 | Pegelwandler LV |
| Gemeinsame Masse | Pi Pin 6 | Pegelwandler GND und RadiationD GND |
| RadiationD-Versorgung | Pi Pin 2 oder 4 | RadiationD +5V |
| Impuls, 5-V-Seite | RadiationD CPM OUT/VIN OUT |
Pegelwandler HV1 |
| Impuls, 3,3-V-Seite | Pegelwandler LV1 |
Pi Pin 11 / BCM 17 |
* Die Bezeichnung des Impulsausgangs unterscheidet sich je Boardrevision. Bei verbreiteten RadiationD-v1.1-Platinen ist der mit VIN beschriftete Pin der Impulsausgang; Beschriftung und Schaltbild der eigenen Platine haben Vorrang.
Für Raspberry Pi 3B+, Pi 4 und Pi 5 ist die Belegung identisch, da alle den 40-poligen Header verwenden. BCM 17 ist physischer Pin 11; Pin 1 ist 3,3 V, Pin 2/4 sind 5 V und Pin 6 ist GND. Der Pi-GPIO erhält ausschließlich das Signal von LV1 - nie RadiationD OUT oder HV1 direkt mit dem Pi verbinden.
Die 5-V-Pins 2 und 4 sind keine schaltbaren GPIOs, sondern direkt mit der 5-V-Versorgungsschiene des Pi verbunden. Sie können RadiationD versorgen, wenn der Pi über sein geeignetes Netzteil betrieben wird. Keine fremde 5-V-Quelle parallel auf Pin 2/4 einspeisen, wenn der Pi bereits über Micro-USB oder USB-C versorgt wird.
In Einstellungen RadiationD v1.1 (GPIO-Impuls), BCM 17 und Puls ist aktiv LOW: Ja wählen. Die verbreitete RadiationD-Schaltung zählt die fallende Flanke.
Bei einem schwachen oder bereits stark belasteten Pi-Netzteil ist ein eigenes, geregeltes 5-V-Netzteil für RadiationD sinnvoll:
Externes 5-V-Netzteil + ──► RadiationD +5V und Pegelwandler HV
Externes 5-V-Netzteil - ──► RadiationD GND, Pegelwandler GND und Pi Pin 6 (GND)
Pi Pin 1 (3,3 V) ─────────► Pegelwandler LV
Pegelwandler LV1 ─────────► Pi Pin 11 / BCM 17
RadiationD CPM/VIN OUT ───► Pegelwandler HV1
Das externe Netzteil nicht zusätzlich auf Pi-Pin 2/4 einspeisen, solange der Pi bereits über USB-C/Micro-USB versorgt wird. Die gemeinsame Masse ist dagegen zwingend nötig, damit der Pegelwandler ein eindeutiges Signal erhält.
Auch ein USB-Port des Pi kann RadiationD versorgen. Dazu ein USB-A-auf-offenes-Kabel oder eine USB-Breakout-Buchse verwenden - nur Rot (+5 V) und Schwarz (GND) anschließen, Datenadern Grün/Weiß unverbunden und isoliert lassen:
Pi USB-A-Port / USB-Breakout RadiationD + Pegelwandler
Rot (+5 V) ───────────────────────► RadiationD +5V und AZDelivery HV
Schwarz (GND) ────────────────────► RadiationD GND und AZDelivery GND
Pi Pin 1 (3,3 V) ─────────────────► AZDelivery LV
RadiationD CPM/VIN OUT ───────────► AZDelivery HV1
AZDelivery LV1 ───────────────────► Pi Pin 11 / BCM 17
Das ist elektrisch derselbe 5-V-Kreis wie die Header-Pins. Deshalb zählt die gesamte USB-Last: Pi 3B+ und Pi 4 stellen zusammen maximal 1,2 A an den USB-Ports bereit. Beim Pi 5 sind es 600 mA mit einem 3-A-Netzteil und bis zu 1,6 A mit einem erkannten 5-A-/27-W-Netzteil. Sind bereits USB-Soundkarten, SSDs oder andere Geräte angeschlossen, ist für RadiationD ein separates geregeltes 5-V-Netzteil oder ein aktiver USB-Hub die robustere Wahl.
- Pi ausschalten; zunächst nur die Leitungen
HV,LVundGNDdes Pegelwandlers prüfen. - RadiationD mit 5 V und GND verbinden.
- Erst danach
CPM/VIN OUT → HV1sowieLV1 → BCM 17verbinden. - Pi starten, im Dashboard das RadiationD-GPIO-Profil wählen und speichern.
- Im Dashboard muss als Eingang
GPIO BCM 17 (fallende Flanke)erscheinen. Bei abweichendem Pin diesen als BCM-Nummer eintragen, nicht als physische Pinnummer.
RadiationD Mini-Lautsprecher Koppel-/Dämpfglied USB-Soundkarte
┌──────────────────────────┐ ┌────────────────────┐ ┌────────────────┐
│ SPK+ ─────────────────────┼───────────►│ 1 µF Kondensator ├────────►│ MIC-IN Signal │
│ SPK- / GND ───────────────┼───────────►│ 10 kΩ Serienwiderst.├───────►│ MIC-IN GND │
└──────────────────────────┘ └────────────────────┘ └────────────────┘
Das Lautsprechersignal kann deutlich größer als ein Mikrofoneingang sein. Deshalb nur über ein Koppel-/Dämpfglied anschließen (kein direkter Anschluss) und mit hoher Impulsschwelle beginnen. In Einstellungen RadiationD v1.1 (Lautsprecher-Audio) sowie den betreffenden USB-Audioeingang wählen. Die Pegelanzeige dient zum sicheren Einstellen von Schwelle und Holdoff.
DFRobot Gravity 3-polig Raspberry Pi 40-Pin
┌────────────────────────┐ ┌──────────────────┐
│ - / GND ───────────────┼───────────────►│ Pin 6: GND │
│ + / VCC (3,3 V) ───────┼───────────────►│ Pin 1: 3,3 V │
│ D / Signal ────────────┼───────────────►│ Pin 11: BCM 17 │
└────────────────────────┘ └──────────────────┘
Der DFRobot-Sensor arbeitet mit 3,3–5 V und zieht seinen digitalen Ausgang beim Impuls nach LOW. Für den direkten Pi-Anschluss daher mit 3,3 V speisen. Bei Versorgung mit 5 V ist vor D ein 5-V→3,3-V-Pegelwandler nötig. In Einstellungen DFRobot Gravity V1 / SEN0463 (GPIO-Impuls), BCM 17 und aktive LOW-Flanke wählen.
Aktuell CPS zählt ausschließlich die Impulse der letzten Sekunde. CPM, Dosis, MQTT und Verlauf werden aus effizienten Zeitfenstern erzeugt; lange Historien bremsen die Erfassung nicht. Puls-, Pegel- und Zwischenwerte liegen ausschließlich im RAM. SQLite-Verlauf und geänderte Einstellungen werden gebündelt höchstens einmal pro Minute auf die microSD geschrieben.
Die Umrechnung ist immer nur so gut wie Zählrohr, Geometrie und Kalibrierung. In Einstellungen kann ein Referenzgerät eingetragen werden: Referenz-CPS und zugehörige µSv/h ergeben automatisch den Faktor für CPM und CPS. Beim DFRobot-SEN0463 nennt der Hersteller 153,8 CPM/(µSv/h); RadiationD ist abhängig vom konkret verbauten Rohr und muss geprüft beziehungsweise kalibriert werden.
Version 3.0 bietet zusätzlich eine Röhren-Vorauswahl. Die Werte sind typische Startwerte für Gamma-Kalibrierungen und werden beim Auswählen in die beiden Kalibrierfelder übernommen; erst Speichern aktiviert sie.
| Vorauswahl | CPM pro µSv/h | Hinweis |
|---|---|---|
| M4011 / DFRobot Gravity | 153,8 | Herstellerangabe für SEN0463 |
| J305/J305β (RadiationD) | 123,15 | typischer J305-Wert |
| SBM-20 / STS-5 | 175,44 | typischer Gamma-Startwert |
| LND 712 / 7121 | 123,15 | Cs-137-Referenz, abhängig von Geometrie und Energie |
| SGP001 | 8.014,285714 | bestehende Projektkalibrierung, nicht allgemeingültig |
Diese Auswahl ersetzt kein Referenzgerät oder eine professionelle Kalibrierung. Insbesondere Alpha-/Beta-Quellen, Fensterröhren, Gehäuse und die Energie des Isotops verändern die Anzeige deutlich.
Standardbasis: minigeiger.
| Topic | Inhalt |
|---|---|
minigeiger/radiation_usvh |
Dosisleistung in µSv/h |
minigeiger/cpm |
CPM, 1-Minuten-Fenster |
minigeiger/count_total |
interne Gesamtzählung für die Historie |
minigeiger/status |
online oder offline |
MQTT und automatische Home-Assistant-Discovery werden in Einstellungen aktiviert.
sudo systemctl status minigeiger --no-pager
sudo journalctl -u minigeiger -n 80 --no-pager
sudo systemctl restart minigeiger
arecord -lKonfiguration und Datenbank liegen in /var/lib/minigeiger/; die Anwendung selbst in /opt/minigeiger/.
- DFRobot SEN0463 Herstellerdokumentation: 3,3–5-V-Versorgung, D-Ausgang, aktive LOW-Pulse und 153,8 CPM/(µSv/h).
- RadiationD-v1.1 Referenzprojekt: Schaltbild und Impulsausgang der Boardfamilie.
- RadiationD-Pulszählbeispiel: fallende Flanke und Hinweise zum J305-Rohr.