programmieren:allgemein:strahlung
Dies ist eine alte Version des Dokuments!
Strahlungsmessung überschritten
Dieses Script ließt die aktuelle Strahlung in uSv/h an dem angegeben Ort aus
und sendet bei Überschreitung des Grenzwertes eine Mail an den Empfänger.
Auf der Seite https://strahlenschutz.api.bund.dev/ werden die aktuellen Strahlungswerte von Deutschland angezeigt.
Dieses Script kann man als CRON Job alle 1 Stunde mal laufen lassen. Sollte der Grenzwert überschritten sein,
sendet es eine Mail.
- strahlung.php
<? /** Ließt die Daten für die Nukleare Strahlung ein und * sendet bei überschreiten eines Grenzwertes eine Warnemail * * Karte von ganz Deutschland: https://odlinfo.bfs.de/ODL/DE/themen/wo-stehen-die-sonden/karte/karte_node.html * Doku https://strahlenschutz.api.bund.dev/ * (C) by Conny Henn 2022 */ $grenzwert = "0.40"; // uSv $kennung = "064350291"; // Kennung für die Messstelle - Info der ID aus der Karte oben $mailadresse = "max@mustermann.de, mone@mustermann.de"; // Email Empfänger wenn Messung überschritten $url = "https://www.imis.bfs.de/ogc/opendata/ows/?service=WFS&request=GetFeature&typeName=opendata%3Aodlinfo_timeseries_odl_1h&outputFormat=application%2Fjson&viewparams=kenn%3A$kennung&sortBy=end_measure+D&maxFeatures=1"; $json = file_get_contents($url); $obj = json_decode($json); // um alle Werte zu sehen diese Zeilen ausdokumentieren /* echo "<pre>"; print_r($obj->features); echo "</pre>"; */ $zeit = $obj->features[0]->properties->end_measure; // Mess Zeit $ort = $obj->features[0]->properties->name; // Mess Ort $erg = $obj->features[0]->properties->value; // Mess Wert $unit = $obj->features[0]->properties->unit; // Mess Einheit if ($erg >= $grenzwert) { $info = "<h1>Strahlungs-Messung</h1>"; $info .= "ACHTUNG - Strahlungsgrenzwert von $grenzwert $unit überschritten !!!<br><br>"; $info .= "<table>"; $info .= "<tr><td><b>Messort:</b></td><td>$ort</td></tr>"; $info .= "<tr><td><b>Zeit:</b></td><td>$zeit</td></tr>"; $info .= "<tr><td><b>Messwert:</b></td><td>$erg $unit</td></tr>"; $info .= "<tr><td><b>Grenzwert:</b></td><td>$grenzwert $unit</td></tr>"; $info .= "</table>"; $info .= "<hr><h3>Legende:</h3><ul> <li><b>NOTFALL</b></li> <li class='notfall' ><span style='color:#F00;'>⬤ </span> > 100,000 µSv/h</li> <li class='notfall' ><span style='color:#D8033E;'>⬤ </span> > 50,000 µSv/h</li> <li class='notfall' ><span style='color:#B70563;'>⬤ </span> > 10,000 µSv/h</li> <li class='notfall' ><span style='color:#980056;'>⬤ </span> > 1,000 µSv/h</li> <li><b>Grenzwerte:</b> <small>Werte bis zu 0,600 µSv/h sind noch tollerant</small></li> <li><span style='color:#8B008B;'>⬤ </span> > 0,600 µSv/h</li> <li><span style='color:#0C2C84;'>⬤ </span> > 0,400 µSv/h</li> <li><span style='color:#225EA8;'>⬤ </span> > 0,200 µSv/h</li> <li><span style='color:#1D91C0;'>⬤ </span> > 0,170 µSv/h</li> <li><span style='color:#41B6C4;'>⬤ </span> > 0,140 µSv/h</li> <li><span style='color:#7FCDBB;'>⬤ </span> > 0,110 µSv/h</li> <li><span style='color:#C7E9B4;'>⬤ </span> > 0,080 µSv/h</li> <li><span style='color:#EDF8B1;'>⬤ </span> < 0,080 µSv/h</li> </ul><hr>"; $info .= "<b>Übersichtskarte: </b><a href='https://odlinfo.bfs.de/ODL/DE/themen/wo-stehen-die-sonden/karte/karte_node.html'>Link</a>"; // ----------------- EMAILS VERSENDEN ------------------ // Betreff $betreff = 'ACHTUNG - Strahlungsgrenzwert überschriftten !!!'; // Nachricht $nachricht = ' <html> <body>'.$info.' </body> </html> '; // für HTML-E-Mails muss der 'Content-type'-Header gesetzt werden $header[] = 'MIME-Version: 1.0'; $header[] = 'Content-type: text/html; charset=utf-8'; // zusätzliche Header // $header[] = 'To: Simone <simone@example.com>, Andreas <andreas@example.com>'; $header[] = 'From: System Conny Henn <Conny@Hennweb.de>'; // verschicke die E-Mail mail($mailadresse, $betreff, $nachricht, implode("\r\n", $header)); }
programmieren/allgemein/strahlung.1653573469.txt.gz · Zuletzt geändert: 26/05/2022 14:57 (Externe Bearbeitung)