GeigerLog's new Tasmota Geiger Counter

Begonnen von ullix, 11. Dezember 2025, 15:11

⏪ vorheriges - nächstes ⏩

ullix

Tasmota ist ein Open-Source Betriebssystem für die ESP32 Mikroprozessoren (Espressif Systems, China). Es ist weit verbreitet; derzeit in 2836 verschiedenen, kommerziell vertriebenen Geräten. Diese reichen von smarten Netzschaltern, über Lichtorgeln, Aromatiseure, zu Gassensoren, I2C Geräten, und mehr. Ich habe jetzt noch potentiell einen Geiger Counter hinzugefügt, den es in der Liste noch nicht gibt.

Man braucht dazu eine beliebige der mehr als ein Dutzend Varianten von ESP32, die es ,,für eine Handvoll Dollar" gibt. Nachdem man Tasmota aufgespielt hat, geht alle weitere Kommunikation via WiFi, einfach und schnell, wenn auch nur auf 2.4 GHz.

Zum Zählen braucht man nur einen Pin der ESP32 als ,,Counter" zu definieren, und schon geht's los. Ok, die Geiger Hardware braucht man auch noch, also Tube, Hochspannung, und Puls Schaltung, die aus jedem radioaktiven Treffer einen Logik-Pulse von 3.3V macht. Diesen Puls legt man auf den gerade definierten Pin des ESP32, und schon sieht man im Browser (Firefox, Chrome, ...) die Zählung. Aber ein bisschen mehr CPS und CPM hätten wir ja schon gerne.

Da trifft es sich, dass Tasmota auf der ESP32 die Programmiersprache Berry unterstützt, die genau für Embedded Systeme (also Microchips) entwickelt wurde. Sie ähnelt Python sehr, und ist ebenfalls interpretierend. Und saumäßig mächtig! Mein ganzer Counter Code benötigt bisher deutlich weniger als 100 Zeilen! Das ist gerdezu erschreckend wenig ;-). Natürlich brauchte auch GeigerLog Ergänzungen, aber auch die waren nur mäßig aufwändig.

Auf seinem eingebauten Flash Speicher kann die ESP32 Daten dauerhaft speichern. Typisch sind 4MB, reicht aber von 0 MB und – ,,für ein paar Dollar mehr" – bis zu 32MB. Das ist das 16fache dessen, was die GQ Konkurrenz zu bieten hat!

Damit kann ich CPS im Sekundentakt ohne Überlauf bis zu 1 Jahr(!) lang speichern; CPM, im Minutentakt, bis zu 20 Jahre!

Wer über den Speicher seines Counters noch begeistert war, wird erschrocken sein, sobald er einen History Download über die 115 kBaud USB-To-Serial Schnittstelle gestartet hatte. Das zieht sich über Minuten. Dagegen ist WiFi die wahre Wonne mit gut der 20fachen Geschwindigkeit:

Download Speed:
GMC-300S Re 1.03       :   6.6 kbytes/sec,  1.0x
GMC-800 Re1.18         :   9.9 kbytes/sec,  1.5x
Tasmota Geiger Counter : 175.0 kbytes/sec, 26.5x

Mein Entwicklungssystem besteht aus einer ESPRESSIF ESP32-WROOM-32E mit 8MB Flash; Strom per USB Kabel. Das Geiger Teil ist mein ,,Ukraine Counter" (Ggreg20_V3)  mit SBM20. Stromversorgung über den 5V Output des ESP32 boards. Zu sehen auf dem ersten Bild.

Sie dürfen in diesem Board keine Dateianhänge sehen.Sie dürfen in diesem Board keine Dateianhänge sehen.Sie dürfen in diesem Board keine Dateianhänge sehen. Sie dürfen in diesem Board keine Dateianhänge sehen.

Bild 2 zeigt Tasmota's eigene, typische Webseite. Bild 3 ein CPS Recording in GeigerLog, und der Poisson Test in Bild 4 bestätigt ein gutes Ergebnis.

Wer hier beitragen möchte – Herzlich Willkommen! An GeigerLog support wird es nicht mangeln.

DG0MG

Zitat von: ullix am 11. Dezember 2025, 15:11Auf seinem eingebauten Flash Speicher kann die ESP32 Daten dauerhaft speichern. Typisch sind 4MB

Bist Du sicher, dass das so ist?
Meine Erfahrungen mit ESP32 (vielleicht sind das ältere Varianten?) beschränken sich auf das Wissen, dass der GESAMT-Flash-Speicher des ESP32 4 MB groß ist. Für das Speichern über ein Ausschalten hinweg muss man entweder ein paar Byte des SRAM im Uhrenmodul nehmen (wenn die Spannung angelegt bleibt) oder den Daten-EEPROM, der hier mit 512 Byte(!) angegeben ist: https://randomnerdtutorials.com/esp32-flash-memory/
Oder es gibt eine Art "Partitionierung", die den GESAMT-Flash in Programm- und Datenspeicherbereich teilt.
Dann ist aber die Frage, wie groß die Tasmota-Software allein ist, zum Datenspeichern bliebe nur der verbleibende Rest.

Falls es das wirklich gibt (32 MB Daten-Flash) dann muss man bestimmt ein spezielles oder zumindest modernes Prozessormodell nehmen.
"Bling!": Irgendjemand Egales hat irgendetwas Egales getan! Schnell hingucken!

ullix

Die 4, 8, und 16 MB Module liegen neben mir; die 32 MB Module kenne ich nur aus den Produktblättern von Espressif. Im Markt habe ich keine gesehen, ich habe aber auch nicht wirklich gesucht. Bisher stimmte, was Espressif gesagt hat - warum sollte das hier anders sein?

Bei AliX habe ich mal den erstbesten Anbieter genommen, sein Angebot:
ESP32-WROOM-32U 4 MB 8 MB 16 MB :   US $3.08, US $3.32, US $3.61, plus Versand US $3.77.
Ein noch kommendes 32 MB Modul dürfte wohl in etwa in diese Reihe passen?

Ooopsie, bei der Speichergröße habe ich wohl vergessen, den Code Bedarf abzuziehen, wie peinlich 8)

Die ESP32 wird normalerweise partitioniert in 2 gleich große Code Partitionen, von, sagen wir, je 2 MB. Bei einem OTA Update (Over-The-Air, also per WiFi) läuft Part1, und updated Part2. Wenn erfolgreich, wird auf dieses neue Part2 umgeschaltet. Wenn nicht, bleibt alles unverändert. Dafür braucht man also stets 2mal den Platz für den Code.

Tasmota hat jetzt einen sehr cleveren Trick gemacht, und die für OTA benötigte Partition auf <1 MB geschrumpft, und dafür die Code Partition um 1MB vergrößert, also auf 3 MB. Das ist stattlich! Derzeit belegt Tasmota 2.1 MB, da ist also Luft drin. 

Tasmota nimmt sich somit 4 MB und verwendet die restlichen 8, bzw 12 MB als Filesystem, auf dem der Nutzer wie gewohnt Daten speichern kann. Bei den 4MB Modulen verzichtet es sogar auf 0.3 MB, und gibt diese als Filesystem frei.

Auf allen 3 Größen habe ich jetzt den "Tasmota Geiger" installiert und getestet. Läuft auf allen auf gleiche Weise. Die gemeldeten Größen der Filesysteme sind: # Flash Ufs (Universal File System) Size: 0.320 MB, 4.416 MB, 12.608 MB

Für das 16 MB Modul ergibt sich jetzt eine CPS Speicherung von ca 3 Monaten, und CPM von ca. 8 Jahren. Das kann man auch mischen. Reicht trotzdem nicht? Dann gibt es die Option für SD-Karten. Da machen wir gleich einen Sprung von MegaByte auf GigaByte. Kaum sinnvoll, aber möglich!
 

ullix

AliBaba verkauft eine ESP32 mit 64MB, für $3.80  ;D Bei Mindestabnahme 50 Stück  :(
https://german.alibaba.com/product-detail/original-ESP32-WROOM-32E-ble-64Mb-1601111887587.html

Noch scheint aber selbst 32MB bei Tasmota noch nicht unterstützt, wie ich einigen Foren entnommen habe.

Derweil bereitet sich Espressif auf 128 MB vor:
Sie dürfen in diesem Board keine Dateianhänge sehen.
https://docs.espressif.com/projects/esptool/en/latest/esp32s3/esptool/flash-modes.html