Commentum

Der Einfall, die Lüge, die Erdichtung

Gewitterwarner


Zusätzlich zu der Wetterstation habe ich spaßeshalber einen Gewitterwarner vorgesehen. 

Für die Verbeitung der Daten ist der Rechner XXX vorgesehen, der bereits andere Sensorendaten verarbeitet.

Zur Auswahl kamen verschiedene Alternativen, ich habe mich zunächst für die billigste (und zur Zeit verfügbare) Variante entschieden und den Blitzsensor Whadda WPSE343 Blitzsensorausgewählt. Und bin natürlich sehr gespannt, ob die Realisierung im Zusammenspiel mit einer Wetterstation gelingt und Spaß macht.

Whadda-WPSE343-Blitzsensor

Mit dem Sensor AS3935 registrieren man Gewitterblitze und auch deren Entfernung zu Ihrem Standort.
Der Sensor AS3935 detektiert Gewitterblitze in einem Umkreis von bis zu 40 Kilometern und wurde für den Einsatz in Wetterstationen, Sportausrüstungen und Mobilgeräten konzipiert. Darüber hinaus gibt er die geschätzte Entfernung zu einer Gewitterfront an. Er erfasst sowohl Blitze zwischen Wolken als auch solche von einer Wolke zum Boden. Ein integrierter Algorithmus unterdrückt dabei nicht natürliche Störungen weitestgehend.
Die benötigte Betriebsspannung des Sensors liegt im Bereich von 2,4 bis 5,5 Volt, der Stromverbrauch bei 60 bis 70 µA im Überwachungsmodus, maximal bei 350 µA. Aktiviert man den Energiesparmodus, sinkt die Stromaufnahme auf 1 µA. Sobald der Sensor einen Blitz erfasst, löst er ein Signal auf der Interrupt-Leitung aus. Kurz darauf lassen sich über die I2C-Schnittstelle die Messwerte aus dem Sensor herunterladen.

Natürlich müssen erst die passende Python-Bibliothek installiert werden:

pip install Rpi_AS3935

Zur Auswertung der Daten soll dieses Script verwendet werden (es ist erst einmal nur ein Script zum Testen) :

from RPi_AS3935 import RPi_AS3935
import RPi.GPIO as GPIO
import time
from datetime import datetime
GPIO.setmode(GPIO.BCM)
as3935 = RPi_AS3935(address=0x03, bus=1)
# as3935.reset()
as3935.calibrate(tun_cap=0x0d)
time.sleep(0.05)
as3935.set_indoors(True)
as3935.set_noise_floor
as3935.set_min_strikes(1)
def irq(channel):
time.sleep(0.05)
global as3935
irqReason = as3935.get_interrupt()
if irqReason == 0x01:
print("Zu viel Rauschen")
as3935.raise_noise_floor()
elif irqReason == 0x04:
print("Stoerung erkannt")
as3935.set_mask_disturber(True)
elif irqReason == 0x08:
now = datetime.now()
distance = as3935.get_distance()
if 0 < distance < 63:
now = datetime.utcnow()
ts = now.strftime("%Y-%m-%d %H:%M:%S.%f")
outstring = str(ts)+":"+str(distance)+":\n"
print(outstring)
f.write(outstring)
f.flush
print("Abstand = " + str(distance) + " km at %s ") % now.strftime("%H:%M:%S.%f")[:-3],now.strftime("%Y-%m-%d")
GPIO.setup(17, GPIO.IN)
GPIO.add_event_detect(17, GPIO.RISING, callback=irq)
try:
f=open('Logfile.log','a')
while 1:
time.sleep(1.0)
except KeyboardInterrupt:
print("Abgebrochen\n")
finally:
GPIO.cleanup()
f.close()

Falls es funktioniert: Schön. Wenn es keine Daten findet weil kein Gewitter stattfindet: Auch schön. 

Denn in der von vielen Idioten einfach weggeleugneten Klimakatastrophe gibt es ja eigentlich kaum Gewitter und Starkregen, oder? Alles wie immer. 

https://www.raspberry-pi-geek.de/ausgaben/rpg/2021/04/i-2-c-workshop-teil-34-blitzsensor-as3935/2/

Tests
Da der Sensor nur auf echte Gewitter reagiert, gestaltete sich der Test unseres Programms etwas schwierig. Für einen schnellen Test, ob das Programm prinzipiell arbeitet, versuchen Sie, mit dem Lichtschalter in Ihrem Büro einen kleinen Lichtbogen zu erzeugen. Das hören Sie am Knistern im Schalter, wenn Sie ihn nur leicht drücken.
Diesen Mini-Blitz erkennt der Sensor zwar nicht als Gewitter, aber immerhin als Störung. So sehen Sie zumindest, ob der Interrupt richtig auslöst und das Programm eine Ausgabe erzeugt. Der Trick klappt allerdings nur einmal, weil das Programm die Störungsunterdrückung des Sensors direkt aktiviert. Bei einem richtigen Gewitter sieht die Ausgabe des Programms so aus wie in Listing 3.

Listing 3
Ausgabe des Testprogramms
Abstand = 10 km at 15:54:35.668 2020-08-11
2020-08-11 15:54:38.853750:10:
Abstand = 10 km at 15:54:38.853 2020-08-11
2020-08-11 15:54:39.320334:10:
Abstand = 10 km at 15:54:45.135 2020-08-11
2020-08-11 15:55:06.538971:8:
Abstand = 8 km at 15:55:06.538  2020-08-11
2020-08-11 15:55:07.982248:5:
Abstand = 5 km at 15:55:07.982  2020-08-11
2020-08-11 15:55:19.245407:5:
Abstand = 5 km at 15:55:29.831  2020-08-11
2020-08-11 15:55:33.990692:5:

Fazit
Der wirklich interessante Sensor AS3935 eignet sich vorzüglich als Erweiterung zur Blitzerkennung für eine selbst gebaute Wetterstation. Wenn Sie ihn nur einmal testen möchten, sollten Sie auf die Jahreszeit achten: Ist gerade keine Gewittersaison, dauert es zuweilen sehr lange, bis sich ein Eintrag in der Protokolldatei findet. (tle)


https://projects-raspberry.com/lightning-the-lightning-detector-for-raspberry-pi-weather-station/

 https://www.raspberry-pi-geek.de/ausgaben/rpg/2021/04/i-2-c-workshop-teil-34-blitzsensor-as3935/2/#artRef-l3

Zurück
E-Mail
Infos