{"id":2553,"date":"2022-03-02T20:22:08","date_gmt":"2022-03-02T19:22:08","guid":{"rendered":"https:\/\/cbrell.de\/blog\/?p=2553"},"modified":"2022-03-16T20:48:59","modified_gmt":"2022-03-16T19:48:59","slug":"klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet","status":"publish","type":"post","link":"https:\/\/cbrell.de\/blog\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\/","title":{"rendered":"Klimadaten mit dem Raspberry Pi &#8211; Temperatur, Feuchte, Druck ins Internet"},"content":{"rendered":"<p><em>In &#8222;Klimadaten mit dem Raspberry Pi&#8220; bauen Sie mit einem preisg\u00fcnstigen Raspberry Zero eine Mini-Wetterstation auf. Gemessen werden Temperatur, relative Luftfeuchte und Luftdruck. Die Daten werden an einen Webservice \u00fcbertragen und sind dann im Internet einsehbar. Als Sensoren kommen der DHT22 f\u00fcr Temperatur und Feuchte sowie ein BMP280 f\u00fcr den Druck zum Einsatz. In diesem Blog gibt es bereits Anleitungen f\u00fcr den DHT22, die aber nur teilweise mit dem neuen RaspiOS getestet sind. Daher finden Sie hier quasi eine Neuauflage. Zudem werden die Daten nun auf einen Server im Internet geschickt. Im Grundsatz beruht das Vorhaben auf dem <a href=\"https:\/\/cbrell.de\/blog\/konzept-des-hohlen-baumstamms-was-iot-und-drogendealer-gemein-haben\/\">Konzept des hohlen Baumstamms<\/a>.<\/em><\/p>\n<p><em>Ausl\u00f6ser f\u00fcr diese Anleitung ist ein Vorhaben &#8222;Stadt Land Flu\u00df revisited&#8220; des Lise Meitner Gymnasiums in Willich Anrath.<\/em><\/p>\n<p><em>Zu einem Vergleich der Anbringung von Temperatursensoren gibt es erste Messergebnisse: <a href=\"https:\/\/cbrell.de\/blog\/klimadaten-im-vergleich-temperatursensor-im-oder-am-gehaeuse\/\">Klimadaten im Vergleich \u2013 Temperatursensor im oder am Geh\u00e4use<\/a><\/em><\/p>\n<p><em>Stand 12.03.2022<\/em><\/p>\n<h2>Das ben\u00f6tigen Sie<\/h2>\n<ol>\n<li>Einen Raspberry Pi Zero WH Version 1.1<br \/>\n(Wenn Sie einen Pi 4 oder Zero 2 verwenden wollen, schauen Sie sich bitte die Hinweise unten auf der Seite an)<\/li>\n<li>Ein 5V-Netzteil<\/li>\n<li>Ein Breadboard<\/li>\n<li>Ein paar Kabel m-m und w-m<\/li>\n<li>Einen Feuchtesensor DHT22<\/li>\n<li>Einen Luftdrucksensor BME280<\/li>\n<li>Einen WLAN-Zugang (einfaches WLAN, kein Enterprise Network)<\/li>\n<li>Einen Rechner (Windows, MacOS, Linux)<\/li>\n<li>Einen Texteditor mit Syntax Highlighting (Sublime Text, Notepad++)<\/li>\n<\/ol>\n<h2>Aufsetzen des Raspberry Pi Zero<\/h2>\n<p><em>Anmerkung: Im Sch\u00fclerworkshop erhalten Sie eine bereits vorbereitete Micro-SD-Karte und k\u00f6nnen diesen Abschnitt \u00fcberspringen &#8211; gehen Sie gleich zu\u00a0 &#8222;<strong>Die SD-Karte f\u00fcr den headless-Betrieb&#8220; vorbereiten<\/strong>&#8222;. Wenn Sie sp\u00e4ter noch einmal alleine das Aufsetzen nachvollziehen wollen, finden Sie in den folgenden Zeilen die Anleitung dazu.<\/em><\/p>\n<h3>Das Betriebssystem herunterladen<\/h3>\n<p>Die Mini-Wetterstation soll headless &#8211; also ohne Monitor und Tastatur &#8211; laufen, somit verzichten Sie auf eine grafische Benutzungsoberfl\u00e4che.<br \/>\nF\u00fcr den Raspberry Zero Version 1.x ben\u00f6tigen Sie die 32-Bit-Version des RaspiOS. Laden Sie sie herunter von<\/p>\n<p><a href=\"https:\/\/www.raspberrypi.com\/software\/operating-systems\/\">https:\/\/www.raspberrypi.com\/software\/operating-systems\/<\/a><\/p>\n<p>Scrollen Sie bis &#8222;Raspberry Pi OS with desktop and recommended software Release date: January 28th 2022 System: 32-bit&#8220; (Das Release Datum kann sich ge\u00e4ndert haben).<\/p>\n<h3>Das Betriebssystem auf SD-Karte &#8222;brennen&#8220;<\/h3>\n<p>Hierzu haben Sie mehrere M\u00f6glichkeiten.<\/p>\n<p>Wenn Sie gern im Terminal auf einem Macbook arbeiten, folgen Sie der Anleitung unter <a href=\"https:\/\/cbrell.de\/blog\/raspilab-wetterstation-grundsystem-aufsetzen\/\">https:\/\/cbrell.de\/blog\/raspilab-wetterstation-grundsystem-aufsetzen\/<\/a>.<\/p>\n<p>Unter Linux (z.B. Raspberry Desktop \/ Debian) geht es mit der Befehlsfolge<\/p>\n<pre>df -h\r\n\r\nsudo umount \/dev\/sdb1\r\n\r\nsudo dd if=&lt;name des Images.img&gt; of=\/dev\/sdb1 bs=4M<\/pre>\n<p>Dabei zeigt Ihnen der Befehl df -h die richtige Bezeichnung f\u00fcr Ihre SD-Karte an, das muss nicht zwingend sdb1 sein.<\/p>\n<p>Wenn Sie lieber Werkzeuge mit grafischer Benutzungsoberfl\u00e4che verwenden, haben Sie diese drei M\u00f6glichkeiten, die SD-Karte zu brennen:<\/p>\n<div class=\"page\" title=\"Page 1\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<ol>\n<li>Raspberry Pi Imager<br \/>\nOS: Windows, Linux, macOS<br \/>\nFunktionen: Schreiben eines Images<br \/>\nDateiformate: .img<br \/>\nDownload: <a href=\"https:\/\/www.raspberrypi.com\/software\/\">https:\/\/www.raspberrypi.com\/software\/<\/a><\/li>\n<li>balenaEtcher<br \/>\nOS: Windows, Linux, macOS<br \/>\nFunktionen: Schreiben eines Images, Klonen eines Images Dateiformte: .img<br \/>\nDownload: <a href=\"https:\/\/www.balena.io\/etcher\/\">https:\/\/www.balena.io\/etcher\/<\/a><\/li>\n<li><em>ApplePiBaker\u00a0<\/em><br \/>\n<em>OS: macOS<\/em><br \/>\n<em>Funktionen: Schreiben eines Images, Erstellen eines Images, Klonen eines Images<\/em><br \/>\n<em>Dateiformate: .img, .7zip, .zip<\/em><br \/>\n<em>Download: <a href=\"https:\/\/www.tweaking4all.com\/software\/macosx-software\/applepi-baker-v2\/\">https:\/\/www.tweaking4all.com\/software\/macosx-software\/applepi-baker-v2\/<\/a><\/em><\/li>\n<\/ol>\n<h3>Die SD-Karte f\u00fcr den &#8222;headless-Betrieb&#8220; vorbereiten<\/h3>\n<p>Praktisch ist es wenn sich der Raspberry nach dem Start gleich in Ihr WLAN einw\u00e4hlt und Sie mit ssh und der Konsole darauf arbeiten k\u00f6nnen.<\/p>\n<p>Stecken Sie die SD-Karte in Ihren PC (oder Mac), dann sehen Sie eine Partition mit Namen &#8222;boot&#8220;. Diese Partition kann von Linux, Mac und Windows beschrieben werden und enth\u00e4lt alle Dateien f\u00fcr den Start des Raspberrys.<\/p>\n<p>Verwenden Sie nun einen Texteditor, der &#8222;flache&#8220; Textdateien erzeugt. Word oder Pages (Mac) sind ungeeignet. Gut sind Editoren mit Syntax-Highlighting und Zeilennummern wie &#8222;Sublime Text&#8220; (Mac + PC) oder &#8222;Notepad++&#8220; (nur PC).<\/p>\n<p>Erzeugen Sie in &#8222;boot&#8220; eine (leere) Datei mit Namen &#8222;ssh&#8220;. Dadurch k\u00f6nnen Sie sp\u00e4ter mit ssh \u00fcber das WLAN auf den Raspberry zugreifen.<\/p>\n<p><em>Achtung: Im Workshop Lise Meitner ist bereits ein tempor\u00e4res WLAN eingestellt, \u00dcberspringen Sie diesen Schritt und fahren Sie mit &#8222;Der erste Start&#8220; fort.<\/em><\/p>\n<p>Erzeugen Sie in &#8222;boot&#8220; eine Datei mit Namen &#8222;wpa_supplicant.conf&#8220;. Dadurch kennt der Raspberry Ihr WLAN und kann sich einw\u00e4hlen.\u00a0 In der Datei soll stehen (Zeilenumbr\u00fcche sind wichtigAchtung: Das funktioniert nicht in einem Firmennetzwerk (enterprise network).<\/p>\n<pre>\r\ncountry=DE\r\nctrl_interface=DIR=\/var\/run\/wpa_supplicant GROUP=netdev\r\nupdate_config=1\r\nnetwork={ \r\n    ssid=\"wlan-bezeichnung\" \r\n    psk=\"passwort\"\r\n    key_mgmt=WPA-PSK\r\n}\r\n<\/pre>\n<p>Der erste Start<\/p>\n<p>Stecken Sie die SD-Karte in den Raspberry und schlie\u00dfen Sie das Netzteil an.<\/p>\n<p>In der Administrationsoberfl\u00e4che Ihres Routers finden Sie nach etwa 100 Sekunden die IP-Adresse.<\/p>\n<p>Sie wird die Form 192.168.x.y haben. x ist oft 0,1 oder 2, y kann Werte bis 255 annehmen.<\/p>\n<p>Wenn Sie ein Macbook oder einen Linux-Rechner haben, verwenden Sie ein Terminal mit<\/p>\n<pre> ssh pi@&lt;Ihre IP-Adresse&gt;<\/pre>\n<p>Sie werden nach dem Passwort gefragt: Geben Sie &#8222;raspberry&#8220; ein.<\/p>\n<p>Das funktioniert auf Mac, unter Linux und auch sehr gut unter Windows 10. Ebenso k\u00f6nnen Sie auf Windows die Software PuTTY verwenden, die Sie unter <a href=\"https:\/\/www.putty.org\/\">https:\/\/www.putty.org\/<\/a> finden &#8211; das ist aber nicht erforderlich.<\/p>\n<h3>Lebensdauer der SD-Karte verl\u00e4ngern<\/h3>\n<p><em>Anmerkung: In Sch\u00fclerworkshops erhalten Sie eine SD-Karte mit vorbereitetem Image (bzw. das vorbereitete Image zum Brennen), auf der die Schutz-Ma\u00dfnahmen schon eingerichtet sind. Dann k\u00f6nnen Sie diesen Schritt \u00fcberspringen.<\/em><\/p>\n<p>Wenn Sie nur experimentieren wollen, k\u00f6nnen Sie auf die Lebensdauer-Verl\u00e4ngerung verzichten. Planen Sie, die Mini-Wetterstation mehrere Jahre zu betreiben, dann sind die Ma\u00dfnahmen unumg\u00e4nglich. Jeder Schreibzugriff verk\u00fcrzt die Lebensdauer der SD-Karte. Kern der Ma\u00dfnahmen sind also Reduzierung der Schreibzugriffe: Einrichtung einer Ramdisk f\u00fcr notwendige Schreibzugriffe, Vermeidung m\u00f6glichst vieler Logging-Mechanismen. Das Vorgehen ist unter <a href=\"https:\/\/cbrell.de\/blog\/raspilab-wetterstation-zugriffe-auf-sd-karte-minimieren-und-lebensdauer-erhoehen\/\">RaspiLab Wetterstation Zugriffe auf SD-Karte minimieren und Lebensdauer erh\u00f6hen<\/a> beschrieben.<\/p>\n<h2>Verzeichnisse f\u00fcr die Sensoren einrichten<\/h2>\n<p>Um sp\u00e4ter einfach mit dem PC Programme \u00e4ndern zu k\u00f6nnen, landen alle Programme und Konfigurationsdateien im Verzeichnis boot der SD-Karte.<\/p>\n<p>Nach Abschluss aller Arbeiten werden Sie unter boot die folgenden Struktur vorfinden:<\/p>\n<pre>boot+\r\n    +-AA+\r\n        +-CONF+\r\n        |     +sensor.txt\r\n        +PY+\r\n        |  +bmp.py\r\n        |  +dht.py\r\n        |  +transfer.py\r\n        +SH+\r\n           +klima.sh<\/pre>\n<p>Abb. 1: Verzeichnisstruktur<\/p>\n<p>Um auf dem Raspberry im Verzeichnis boot zu arbeiten, ben\u00f6tigen Sie root-Rechte und stellen schreibenden Befehlen &#8222;sudo&#8220; voran.<\/p>\n<p>Wechseln Sie in das Verzeichnis boot und schauen Sie sich die existierende Verzeichnisstruktur an mit<\/p>\n<pre>cd \/boot\r\nls<\/pre>\n<p>Legen Sie, wenn nicht vorhanden, AA an (damit k\u00f6nnen Sie sp\u00e4ter einfach alle Dateien &#8222;in einem Rutsch&#8220; sichern).<\/p>\n<pre>sudo mkdir AA<\/pre>\n<p>Wechseln Sie in AA<\/p>\n<pre>cd AA<\/pre>\n<p>legen Sie die restlichen Verzeichnisse an, wenn nicht vorhanden<\/p>\n<pre>sudo mkdir CONF\r\n\r\nsudo mkdir PY\r\n\r\nsudo mkdir SH<\/pre>\n<h2>Feuchtesensor DHT22 einrichten<\/h2>\n<p><em>Anmerkung: In Sch\u00fclerworkshops erhalten Sie eine SD-Karte, auf der der DHT22 schon eigerichtet ist. Dann k\u00f6nnen Sie diesen Schritt \u00fcberspringen und gleich mit dem Anschluss und den Tests beginnend mit &#8222;Feuchtesensor anschlie\u00dfen&#8220; fortfahren.<\/em><\/p>\n<h3>Bibliothek installieren<\/h3>\n<p>F\u00fcr den DHT22 gibt es eine neuere Bibliothek, die wiederum Python3 erfordert. F\u00fcr die Installation ben\u00f6tigen Sie einen Python-Paketmanager mit Namen pip. Wechseln Sie wieder in das Nutzerverzeichnis \/home\/pi. Die Bibliothek richten Sie ein mit<\/p>\n<div class=\"page\" title=\"Page 2\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<pre>sudo pip3 install --user Adafruit_DHT<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p>Nach der Einrichtung sehen Sie die Bibliothek im pi-Nutzerverzeichnis.<\/p>\n<h3>Feuchtesensor anschlie\u00dfen<\/h3>\n<p>F\u00fcr den Feuchtesensor ben\u00f6tigen Sie 3,3V, Masse und eine Datenleitung. Die Datenleitung schlie\u00dfen Sie an GPIO 17 = Anschluss 11 an die Pin-Leiste des Raspberrys an. Die Z\u00e4hlung beginnt an der SD-Karten-Seite.<\/p>\n<pre class=\"p1\"> Raspberry Pi Pinbelegung\r\n# SD-Karten-Seite\r\n+------------+------+-----+-------+------+----\r\n|                     GPIO|Pin|Pin|      | \r\n+============+======+=====+=======+------+-----\r\n|       +VCC |3,3V. |     | 1 | 2 |      | 5 V\r\n+------------+-------+----+-------+------+-----\r\n|            |  SDA1| 2   | 3 | 4 |      |5 V\r\n+------------+------+-----+---+---+------+-----\r\n|            |  SCL1| 3   | 5 |.....\r\n+------------+------+-----+---+--\r\n|            |GPCLK0| 4   | 7 |\r\n+------------+------+-----+---+--\r\n|            |GND   |     | 9 |\r\n+------------+------+-----+---+--\r\n|DHT22       |CE1_1 |17   |11 |\r\n+------------+------+-----+---+--<\/pre>\n<p><em>Abb. 2: Bedeutung der GPIO-Pins am Raspberry<\/em><\/p>\n<p>Abb. 3 zeigt die Beschaltung des DHT22. Der Widerstand mit 4,7 Kilo-Ohm ist ein sogenannter Pull-Up-Widerstand und sorgt daf\u00fcr, dass am Anschluss &#8222;Signal GPIO&#8220; eine definierte Spannung anliegt. Es funktioniert auch mit einem Widerstand von 5,6 Kilo-Ohm.<\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2021\/01\/DHT22-Beschaltung.jpg\"><img decoding=\"async\" class=\"alignnone size-medium wp-image-1558\" src=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2021\/01\/DHT22-Beschaltung-300x188.jpg\" sizes=\"(max-width: 300px) 100vw, 300px\" srcset=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2021\/01\/DHT22-Beschaltung-300x188.jpg 300w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2021\/01\/DHT22-Beschaltung-480x300.jpg 480w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2021\/01\/DHT22-Beschaltung-640x400.jpg 640w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2021\/01\/DHT22-Beschaltung.jpg 672w\" alt=\"Feuchtesensor DHT22 Beschaltung\" width=\"300\" height=\"188\" \/><\/a><\/p>\n<p><em>Abb. 3: Beschaltung des DHT22<\/em><\/p>\n<p>&nbsp;<\/p>\n<p>Abb. 4 zeigt das komplett best\u00fcckte Steckbrett mit DHT22, BMP280 und Widerst\u00e4nden. Die Spannungsversorgung (VCC) der Sensoren erfolgt \u00fcber einen 75 Ohm Widerstand, das verhindert meist einen Defekt, falls eine Kabel vertauscht wird. F\u00fchren Sie die Verkabelung in zwei Schritten durch: Erst DHT22, dann DHT22 testen, dann BMP280.<\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Wetterstation-auf-breadboard-220312-scaled.jpg\"><img decoding=\"async\" class=\"alignnone wp-image-2608 size-large\" src=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Wetterstation-auf-breadboard-220312-1024x768.jpg\" alt=\"Bild Wetterstation auf Steckbrell\" width=\"1024\" height=\"768\" srcset=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Wetterstation-auf-breadboard-220312-scaled.jpg 1024w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Wetterstation-auf-breadboard-220312-300x225.jpg 300w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Wetterstation-auf-breadboard-220312-768x576.jpg 768w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Wetterstation-auf-breadboard-220312-1536x1152.jpg 1536w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Wetterstation-auf-breadboard-220312-2048x1536.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p><em>Abb.4: Verkabelung des DHT22 und des BMP280 auf dem Steckbrett. Der Raspberry wird durch ein einfaches Haushalts-Gummi fixiert.<\/em><\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Wetterstation-Detail-Sensoranschluesse-scaled.jpg\"><img decoding=\"async\" class=\"alignnone wp-image-2610 size-large\" src=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Wetterstation-Detail-Sensoranschluesse-1024x768.jpg\" alt=\"Bild Wetterstation Details Sensoren\" width=\"1024\" height=\"768\" srcset=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Wetterstation-Detail-Sensoranschluesse-scaled.jpg 1024w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Wetterstation-Detail-Sensoranschluesse-300x225.jpg 300w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Wetterstation-Detail-Sensoranschluesse-768x576.jpg 768w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Wetterstation-Detail-Sensoranschluesse-1536x1152.jpg 1536w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Wetterstation-Detail-Sensoranschluesse-2048x1536.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p><em>Abb. 5: Details Sensoren<\/em><\/p>\n<p>Abb. 5 zeigt Details der Anschl\u00fcsse der Sensoren. Die Steckbretter haben Nummern, der wei\u00dfe DHT22 ist an den Nummern 30 (VCC), 31 (Daten), 32 (nichst) und 33 (Masse) eingesteckt, der BMP280 an den Nummern 20, 21 (nicht benutzt), 22, 23 (f\u00fcr IC2), 24 (Masse) und 25 (VCC)<\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Wetterstation-Deatil-Raspi-Anschluesse-scaled.jpg\"><img decoding=\"async\" class=\"alignnone wp-image-2609 size-large\" src=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Wetterstation-Deatil-Raspi-Anschluesse-1024x583.jpg\" alt=\"Bild Details Anschl\u00fcsse Wetterstation Raspberry\" width=\"1024\" height=\"583\" srcset=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Wetterstation-Deatil-Raspi-Anschluesse-scaled.jpg 1024w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Wetterstation-Deatil-Raspi-Anschluesse-300x171.jpg 300w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Wetterstation-Deatil-Raspi-Anschluesse-768x437.jpg 768w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Wetterstation-Deatil-Raspi-Anschluesse-1536x874.jpg 1536w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Wetterstation-Deatil-Raspi-Anschluesse-2048x1165.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p><em>Abb. 6: Verkabelung am Raspberry<\/em><\/p>\n<p>Bei dem Steckbrett sind die Anschl\u00fcsse am Rand blau und rot miteinander verbunden. Die anderen Anschl\u00fcsse sind senkrecht dazu verbunden und nummeriert.<\/p>\n<p>Am Raspberry werden die Anschl\u00fcsse 1,3,5, 9 und 11 verwendet (Abb. 6 und Abb. 7).<\/p>\n<pre>Raspi Kabelfarbe Nr. Stechbrett Bedeutung\r\n---------------------------------------------\r\n1     orange     35\u00a0 zum 75 Ohm Vorwiderstand\r\n\r\n3     gr\u00fcn      22   SDA des BMP280 (Daten I2C)\r\n\r\n5     blau      23   SLC des BMP280 (Daten I2C) \r\n\r\n9     Masse\u00a0 \u00a0       blaue Randleiste \r\n\r\n11    gelb      31 \u00a0 DHT22 Datenleitung, \r\n\r\nPull-Up-Widerstand 5,6k zwischen VCC und 31\r\n\r\nVorwiderstand 75 Ohm zwischen 35 und roter Randleiste\r\n\r\nErster Test des Feuchtesensors<\/pre>\n<p><em>Abb. 7: Verbindungen zwischen Raspberry und Steckbrett\u00a0<\/em><\/p>\n<h3>Feuchtesensor interaktiv ausprobieren<\/h3>\n<p>In Ihrem Nutzerverzeichnis \/home\/pi sehen Sie mit dem Befehl<\/p>\n<p>ls<\/p>\n<p>die Dateien wie in Abb. 8<\/p>\n<pre>pi@weatherstation:~ $ ls\r\nAdafruit_Python_DHT  bme280.py  DHT22_PI4.py  DHT22_ZERO.py  __pycache__\r\npi@weatherstation:~ $ \r\n<\/pre>\n<p><em>Abb. 8 Dateien in \/home\/pi<\/em><\/p>\n<p>F\u00fcr den ersten Test verwenden Sie Python interaktiv im Terminal. Nacheinander geben Sie ein: python (ruft Python interaktiv auf), import &#8230; (bindet Bibliothek ein), Aufruf der Bibliotheksfunktion <span class=\"s1\">Adafruit_DHT.read_retry (fragt Sensor bis zu 15 mal ab, 17 ist die GPIO-Nummer), print (gibt die Daten im Terminal aus), exit (verl\u00e4sst Python wieder).<\/span> Der Dialog mit den vollst\u00e4ndigen Aufrufen sieht wie in Abb. 9 aus.<\/p>\n<pre class=\"p1\"><span class=\"s1\"><b>pi@weatherstation<\/b><\/span><span class=\"s2\">:<\/span><span class=\"s3\"><b>~ $<\/b><\/span><span class=\"s2\"> python<\/span>\r\n<span class=\"s1\">Python 3.9.2 (default, Mar 12 2021, 04:06:34)<\/span>\r\n<span class=\"s1\">[GCC 10.2.1 20210110] on linux<\/span>\r\n<span class=\"s1\">Type \"help\", \"copyright\", \"credits\" or \"license\" for more information.<\/span>\r\n<span class=\"s1\">&gt;&gt;&gt; import Adafruit_DHT<\/span>\r\n<span class=\"s1\">&gt;&gt;&gt; hum, temp = Adafruit_DHT.read_retry(Adafruit_DHT.AM2302, 17)<\/span>\r\n<span class=\"s1\">&gt;&gt;&gt; print (hum, temp)<\/span>\r\n<span class=\"s1\">56.400001525878906 11.5<\/span>\r\n<span class=\"s1\">&gt;&gt;&gt; exit()<\/span>\r\n<span class=\"s1\"><b>pi@weatherstation<\/b><\/span><span class=\"s2\">:<\/span><span class=\"s3\"><b>~ $<\/b><\/span><\/pre>\n<p>Abb. 9: Reihenfolge der Python-Befehle, um den DHT22 auszulesen.<\/p>\n<p>Anstatt die Befehle interaktiv einzugeben, k\u00f6nnen Sie sich auch in eine Datei mit der Endung .py schreiben wie im n\u00e4chsten Schritt.<\/p>\n<h2>Python-Programm f\u00fcr den Feuchtesensor DHT22<\/h2>\n<h3>DHT22 Programm Stufe eins<\/h3>\n<p>Das Python-Programm soll den Namen dht.py bekommen. Wechseln Sie in das Verzeichnis \/boot\/AA\/PY und legen Sie mit dem Editor nano\u00a0 die Datei dht.py an.<\/p>\n<pre>cd \/boot\/AA\/PY\r\nsudo nano dht.py<\/pre>\n<p>Schreiben Sie den Quelltext aus Abb. 10 ab. Wichtig dabei ist:<\/p>\n<ul>\n<li>Gro\u00df \/ Kleinschreibung ist entscheidend<\/li>\n<li>Python regiert empfindlich auf Einr\u00fcckungen<\/li>\n<\/ul>\n<pre class=\"p1\"><span class=\"s1\"><b>#!\/usr\/bin\/python<\/b><\/span>\r\n<span class=\"s1\"><b># -*- coding: iso-8859-1 -*-<\/b><\/span>\r\n<span class=\"s1\"><b># dht.py<\/b><\/span>\r\n<span class=\"s1\"><b># misst Temperatur und rel. Luftfeuchte<\/b><\/span>\r\n<span class=\"s1\"><b># 01.03.2022<\/b><\/span>\r\n<span class=\"s1\"><b># Import f\u00fcr den Sensor\r\n<\/b><\/span><span class=\"s2\"><b>import<\/b><\/span><span class=\"s1\"> Adafruit_DHT<\/span>\r\n<span class=\"s1\"><b># Import f\u00fcr Dateioperationen:<\/b><\/span>\r\n<span class=\"s1\"><b>import<\/b><\/span><span class=\"s3\"> os<\/span>\r\n<span class=\"s1\"><b># Import Zeitfunktionen<\/b><\/span>\r\n<span class=\"s1\"><b>import<\/b><\/span><span class=\"s3\"> time<\/span>\r\n<span class=\"s2\"><b>print <\/b><\/span><span class=\"s3\">(<\/span><span class=\"s1\"><b>\"--- Ich bin dht.py und messe Temperatur und Feuchte ---\"<\/b><\/span><span class=\"s3\">)<\/span>\r\n<span class=\"s1\"><b># Variable gpiopin auf Anschluss 13 setzen<\/b><\/span>\r\n<span class=\"s1\">gpiopin=17<\/span>\r\n<span class=\"s1\"><b># Bibliothek nutzen<\/b><\/span>\r\n<span class=\"s1\"><b># Vor-Lesen, da unzuverl\u00e4ssig<\/b><\/span>\r\n<span class=\"s1\">hum, temp = Adafruit_DHT.read_retry(Adafruit_DHT.AM2302, gpiopin)<\/span>\r\n<span class=\"s1\"><b># Testausgabe<\/b><\/span>\r\n<span class=\"s3\">print(<\/span><span class=\"s1\"><b>\"1: Temperatur: {:.1f} \u00b0C rel. Luftfeuchte: {:.1f} %\"<\/b><\/span><span class=\"s3\">.format(temp, hum))<\/span><\/pre>\n<p><em>Abb. 10: Erstes Auslesen des DHT22 &#8211; Python Quellcode<\/em><\/p>\n<p>Speichern Sie das Programm mit der Tastenkombination STRG+o und ENTER. Verlassen Sie nano mit der Tastenkombination STR+x.\u00a0 Da das Programm in der FAT32 Partition der SD-Karte liegt, geben Sie nicht mit chmod 777 dht22.py die Ausf\u00fchrungsrechte.<\/p>\n<p>Testen Sie das Programm mit<\/p>\n<pre>.\/dht.py<\/pre>\n<h3>DHT22 Programm Stufe Zwei<\/h3>\n<p>Das Programm soll nun die Feuchtedaten in die Ramdisk in eine Date dht.txt schreiben, damit die Daten sp\u00e4ter weiter verwendet werden k\u00f6nnen. Laden Sie dazu Ihr Programm in den Editor und vervollst\u00e4ndigen Sie es, so dass es wie in Abb. 11 aussieht:<\/p>\n<pre class=\"p1\"><span class=\"s1\">#!\/usr\/bin\/python<\/span>\r\n<span class=\"s1\"># -*- coding: iso-8859-1 -*-<\/span>\r\n<span class=\"s1\"># dht.py<\/span>\r\n<span class=\"s1\"># misst Temperatur und rel. Luftfeuchte<\/span>\r\n<span class=\"s1\"># 01.03.2022<\/span>\r\n<span class=\"s1\"># Import f\u00fcr den Sensor<\/span>\r\n<span class=\"s2\">import<\/span><span class=\"s1\"> Adafruit_DHT<\/span>\r\n<span class=\"s1\"># Import f\u00fcr Dateioperationen:<\/span>\r\n<span class=\"s1\">import<\/span><span class=\"s3\"> os<\/span>\r\n<span class=\"s1\"># Import Zeitfunktionen<\/span>\r\n<span class=\"s1\">import<\/span><span class=\"s3\"> time<\/span>\r\n<span class=\"s2\">print <\/span><span class=\"s3\">(<\/span><span class=\"s1\">\"--- Ich bin dht.py und messe Temperatur und Feuchte ---\"<\/span><span class=\"s3\">)<\/span>\r\n<span class=\"s1\"># Variable gpiopin auf Anschluss 13 setzen<\/span>\r\n<span class=\"s1\">gpiopin=17<\/span>\r\n<span class=\"s1\"># Bibliothek nutzen<\/span>\r\n<span class=\"s1\"># Vor-Lesen, da unzuverl\u00e4ssig<\/span>\r\n<span class=\"s1\">hum, temp = Adafruit_DHT.read_retry(Adafruit_DHT.AM2302, gpiopin)<\/span>\r\n<span class=\"s1\"># Testausgabe<\/span>\r\n<span class=\"s3\">print(<\/span><span class=\"s1\">\"1: Temperatur: {:.1f} \u00b0C rel. Luftfeuchte: {:.1f} %\"<\/span><span class=\"s3\">.format(temp, hum))<\/span>\r\n<span class=\"s1\"># Sekunde warten<\/span>\r\n<span class=\"s1\">time.sleep(2)<\/span>\r\n<span class=\"s1\">hum, temp = Adafruit_DHT.read_retry(Adafruit_DHT.AM2302, gpiopin)<\/span>\r\n<span class=\"s2\">print <\/span><span class=\"s3\">(<\/span><span class=\"s1\">\"1: Temperatur: {:.1f} \u00b0C rel. Luftfeuchte: {:.1f} %\"<\/span><span class=\"s3\">.format(temp, hum))<\/span>\r\n<span class=\"s1\"># Daten vorbereiten (Ganzzahlwerte, Zeichenkette)<\/span>\r\n<span class=\"s1\">hum=str(int(round(hum,0)))<\/span>\r\n<span class=\"s1\">temp=str(int(round(temp*10,0)))<\/span>\r\n<span class=\"s1\"># Daten in Ramdisk speichern<\/span>\r\n<span class=\"s2\">print <\/span><span class=\"s3\">(<\/span><span class=\"s1\">\"Dateien schreiben\"<\/span><span class=\"s3\">)<\/span>\r\n<span class=\"s3\">dateiname =<\/span><span class=\"s1\">'\/mnt\/ramdisk\/hum.txt'\r\n<\/span><span class=\"s1\">fh = open(dateiname,<\/span><span class=\"s4\">'w'<\/span><span class=\"s1\">)<\/span>\r\n<span class=\"s1\">fh.write(hum)<\/span>\r\n<span class=\"s1\">fh.close<\/span>\r\n<span class=\"s3\">dateiname=<\/span><span class=\"s1\">'\/mnt\/ramdisk\/temp.txt'<\/span>\r\n<span class=\"s1\">fh = open(dateiname,<\/span><span class=\"s4\">'w'<\/span><span class=\"s1\">)<\/span>\r\n<span class=\"s1\">fh.write(temp)<\/span>\r\n<span class=\"s1\">fh.close<\/span>\r\n<span class=\"s2\">print <\/span><span class=\"s3\">(<\/span><span class=\"s1\">\"Beendet\"<\/span><span class=\"s3\">)<\/span><\/pre>\n<p><em>Abb. 11: Auslesen des DHT22 und speichern der Messwerte &#8211; Python Quellcode<\/em><\/p>\n<p>Testen Sie das Programm erneut. Es sollte nun in der Ramdisk eine Datei dht.txt angelegt haben. \u00dcberpr\u00fcfen Sie das mit<\/p>\n<pre>ls \/mnt\/ramdisk<\/pre>\n<p>schauen Sie sich den Inhalt der Datei an mit<\/p>\n<pre>cat \/mnt\/ramdisk\/dht.txt<\/pre>\n<h2>Drucksensor BMP280 einrichten<\/h2>\n<p><em>Anmerkung: Die vollst\u00e4ndige Einrichung ist unter <a href=\"https:\/\/cbrell.de\/blog\/raspilab-wetterstation-sechste-mission-druck-messen-mit-dem-bmp280\/\">RaspiLab Wetterstation sechste Mission Druck messen mit dem BMP280<\/a> beschrieben. Das ben\u00f6tigen Sie nur, wenn Sie einen Raspberry ganz neu aufsetzen. In den Sch\u00fclerworkshops sind die erforderlichen Bibliotheken schon geladen, Sie m\u00fcssen hier nur noch den konkreten Sensor anpassen.<\/em><\/p>\n<p>Testen Sie, ob der Sensor angeschlossen ist mit<\/p>\n<pre>i2cdetect -y 1<\/pre>\n<p>Die Ausgabe sollte wie folgt aussehen:<\/p>\n<pre>0 1 2 3 4 5 6 7 8 9 a b c d e f\r\n00: -- -- -- -- -- -- -- -- -- -- -- -- --\r\n10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --\r\n20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --\r\n30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --\r\n40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --\r\n50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --\r\n60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --\r\n70: -- -- -- -- -- -- 76 --<\/pre>\n<p><em>Abb. 12: I2C Kennung<\/em><\/p>\n<p>\u00dcberpr\u00fcfen Sie mit<\/p>\n<pre>nano bme280.py<\/pre>\n<p>ob in der Datei bme280.py die richtige DEVICE-Adresse eingetragen ist. Die Zeile<\/p>\n<pre>DEVICE = 0x76 # Default device I2C address<\/pre>\n<p>sollte die mit i2cdetect ermittelte Zahl (hier 0x<b>76) <\/b>adressieren. Ggf. \u00e4ndern Sie das.<\/p>\n<h3>Erster Test des Drucksensors<\/h3>\n<p>Mit einem Aufruf von bme280.py sehe Sie die ersten Ausgaben des Sensors wie in Abb. 14<\/p>\n<pre><span class=\"s1\"><b>pi@weatherstation<\/b><\/span><span class=\"s2\">:<\/span><span class=\"s3\"><b>~ $<\/b><\/span><span class=\"s2\"> bme280.py<\/span>\r\n<span class=\"s1\">Chip ID : 88<\/span>\r\n<span class=\"s1\">Version : 0<\/span>\r\n<span class=\"s1\">Temperature :4.86 C<\/span>\r\n<span class=\"s1\">Pressure :1018.4934962943406 hPa<\/span>\r\n<span class=\"s1\">Humidity :0.0 %<\/span>\r\n<span class=\"s1\"><b>pi@weatherstation<\/b><\/span><span class=\"s2\">:<\/span><span class=\"s3\"><b>~ $<\/b><\/span><\/pre>\n<p><em>Abb. 14 : Nutzung des BMP280 mit einem Python-Programm<\/em><\/p>\n<p><strong>Bibliotheksfunktion ins Zielverzeichnis<\/strong><\/p>\n<p>Die Datei bme280.py beinhaltet die Bibliotheksfunktionen, in einem weiteren Schritt werden Sie die Datei in Ihrem eigenen Programm einbinden.<\/p>\n<p>Alle Python-Programme sollen in das Verzeichnis \/boot\/AA\/PY. Kopieren Sie also die Bibliotheksfunktionen in das Verzeichnis mit<\/p>\n<pre>sudo cp \/home\/pi\/bme280.py \/boot\/AA\/PY\/bme280.py<\/pre>\n<h2>Python-Programm f\u00fcr den Drucksensor BMP280<\/h2>\n<h3>BMP280 Programm Stufe eins<\/h3>\n<p>Das Python-Programm soll den Namen bmp.py bekommen. Wechseln Sie in das Verzeichnis \/boot\/AA\/PY und legen Sie mit dem Editor nano\u00a0 die Datei bmp.py an.<\/p>\n<pre>cd \/boot\/AA\/PY\r\nsudo nano dht.py<\/pre>\n<p>Schreiben Sie den Quelltext in Abb. 15 ab.<\/p>\n<pre>#!\/usr\/bin\/python\r\n# -*- coding: iso-8859-1 -*-\r\n# bmp.py\r\n# misst Druck und Temperatur\r\n# 01.03.2022\r\n# Import f\u00fcr den Sensor\r\nimport bme280\r\n# Import f\u00fcr Dateioperationen:\r\nimport os\r\nprint (\"--- Ich bin bmp.py und messe Druck ---\")\r\n# Bibliothek nutzen und Daten abholen\r\ntemp,pres,hum =bme280.readBME280All()\r\n# Testausgabe\r\nprint(\"Temperatur: {:.1f} \u00b0C Druck: {:.1f} mbar\".format(temp, pres))<\/pre>\n<p>Abb. 15: Auslesen des BMP280 &#8211; Python Quellcode<\/p>\n<p>Speichern Sie das Programm mit der Tastenkombination STRG+o und ENTER. Verlassen Sie nano mit der Tastenkombination STR+x.<\/p>\n<p>Testen Sie das Programm mit<\/p>\n<pre>.\/bmp.py<\/pre>\n<h3><\/h3>\n<h3>BMP280 Programm Stufe zwei<\/h3>\n<p>Das Programm soll nun den Luftdruck in die Ramdisk in eine Date bmp.txt schreiben. Laden Sie dazu Ihr Programm in den Editor und vervollst\u00e4ndigen Sie es wie in Abb. 16.<\/p>\n<pre>#!\/usr\/bin\/python\r\n# -*- coding: iso-8859-1 -*-\r\n# bmp.py\r\n# misst Druck und Temperatur\r\n# 01.03.2022\r\n# Import f\u00fcr den Sensor\r\nimport bme280\r\n# Import f\u00fcr Dateioperationen:\r\nimport osprint (\"--- Ich bin bmp.py und messe Druck ---\")\r\n# Bibliothek nutzen und Daten abholen\r\ntemp,pres,hum =bme280.readBME280All()\r\n# Testausgabe\r\nprint(\"Temperatur: {:.1f} \u00b0C Druck: {:.1f} mbar\".format(temp, pres))\r\n# Daten vorbereiten (Ganzzahlwerte, Zeichenkette)\r\npres=str(int(round(pres,0)))\r\ntemp=str(int(round(temp*10,0)))\r\n# Daten in Ramdisk speichern\r\nprint (\"Datei schreiben\")\r\ndateiname ='\/mnt\/ramdisk\/pres.txt'\r\nfh = open(dateiname,'w')\r\nfh.write(pres)\r\nfh.close\r\ndateiname='\/mnt\/ramdisk\/temp2.txt'\r\nfh = open(dateiname,'w')\r\nfh.write(temp)\r\nfh.close\r\nprint (\"Beendet\")<\/pre>\n<p>Abb. 16: Auslesen des BMP280 und speichern der Messwerte<\/p>\n<p>Speichern und testen Sie das Programm erneut. Es sollte nun in der Ramdisk eine Datei bmp.txt anlegen. \u00dcberpr\u00fcfen Sie das mit<\/p>\n<pre>ls \/mnt\/ramdisk<\/pre>\n<p>schauen Sie sich den Inhalt der Datei an mit<\/p>\n<pre>cat \/mnt\/ramdisk\/bmp.txt<\/pre>\n<h2>Klimadaten ins Internet<\/h2>\n<\/div>\n<div class=\"column\">\n<h3>Internet-\u00dcbertragung vorbereiten<\/h3>\n<p>Zuk\u00fcnftig werden mehrere Mini-Wetterstationen Daten auf den Internet-Server schicken. Damit Sie Ihren Sensor wiederfinden, ben\u00f6tigen Sie eine (sechsstellige) Sensorkennung. Damit nicht beliebige Daten auf dem Server landen, gibt es f\u00fcr jede Sensorkennung einen geheimen Upload-Code.<br \/>\n<em><strong>Sch\u00fclerinnen und Sch\u00fcler in den Workshops erhalten die Kennungen in Papierform. Eine Kennung mit Upload-Code ist freigegeben und kann von allen genutzt werden.<\/strong><\/em><\/p>\n<p>Weiterhin sind die Koordinaten der Mini-Wetterstation n\u00f6tig, um Wetterdienstdaten anbinden zu k\u00f6nnen. Die GPS-Koordinaten L\u00e4nge und reit werden mit 5 Nachkommstellen, aber ohne Punkt oder Komma angegeben.<\/p>\n<p>Die Daten stehen in einer Datei sensor.txt im Verzeichnis \/boot\/AA\/CONF<\/p>\n<p>Legen Sie die Datei an mit<\/p>\n<pre>sudo nano \/boot\/AA\/CONF\/sensor.txt<\/pre>\n<p>und schreiben Sie Sensorkennung, Upload-Code, Breite und L\u00e4nge in die Datei. Schreiben Sie alles in eine Zeile, trennen Sie die Daten mit einem Semikolon. Die Sensorkennung 100547 ist zum Test freigegeben, ebenso der upload-Code 124863. Statt der hier eingetragenen Koordinaten ermitteln Sie Ihre Koordinaten z.B. mit Google Maps und tragen sie ein. Mit den vorgestellten Daten funktioniert das System schon einmal &#8230;<\/p>\n<pre class=\"p1\"><span class=\"s1\">100547;124863;5124613;653588<\/span>\r\n\r\n<span class=\"s1\"># SensorID;codeUp;lat;lon<\/span><\/pre>\n<p><em>Hinweis Lise Meitner Gymnasium: Sie erhalten vier weitere Sensorkennungen nur f\u00fcr das Lise Meitner<\/em><\/p>\n<p><strong>Koordinaten:<\/strong> Die Koordinaten stehen als Ganzzahl in der Datei. Nehmen Sie die Koordinaten aus Google Maps, runden Sie auf genau 5 Nachkommastellen und l\u00f6schen Sie den Dezimaltrenner.<\/p>\n<h3>Client-Program zum Daten-Upload<\/h3>\n<p>Mit einem Python-Prgramm mit Namen transfer.py \u00fcbertragen Sie nun die Daten aus den Textdateien in der Ramdisk an einen Webservice im Internet. Lege Sie dazu mit dem Editor nano das Programm im Verzeichnis \/boot\/AA\/PY an mit<\/p>\n<pre>cd \/boot\/AA\/PY\r\nsudo nano transfer.py<\/pre>\n<p>Schreiben Sie den\u00a0 Quelltext in Abb. 17 ab.<\/p>\n<pre>#!\/usr\/bin\/python\r\n# -*- coding: iso-8859-1 -*-\r\n# transfer.py\r\n# Claus Brell 11.02.2021, 01.03.2022\r\n# liest Messwerte aus Dateien und\r\n# und uebertraegt sie an einen Webservice\r\n# Import fuer Dateizugriff\r\nimport os\r\n# Import fuer http Aufruf\r\nimport requests\r\nprint (\"--- ich bin transfer.py (Daten\u00fcbertragung) ---\")\r\n# Variablen vorbelegen\r\nurl=\"https:\/\/210301.de\/klima\/WS\/upWS.php?x=\"\r\n#Eigene Sensornummer etc lesen\r\nfh = open(\"\/boot\/AA\/CONF\/sensor.txt\")\r\nzeilen=fh.readlines()\r\nsensorparm=zeilen[0].rstrip()\r\nfh.close()\r\nprint (\"Sensor: \",sensorparm)\r\n# Daten aus den Messungen lesen\r\n# Temperatur\r\nfh = open(\"\/mnt\/ramdisk\/temp.txt\")\r\nzeilen=fh.readlines()\r\ntemp=(zeilen[0].rstrip())\r\nfh.close()\r\nprint (\"Temp: \",temp)\r\n# Feuchte\r\nfh = open(\"\/mnt\/ramdisk\/hum.txt\")\r\nzeilen=fh.readlines()\r\nhum=(zeilen[0].rstrip())\r\nfh.close()\r\nprint (\"rel. Feuchte: \",hum)\r\n# Druck\r\nfh = open(\"\/mnt\/ramdisk\/pres.txt\")\r\nzeilen=fh.readlines()\r\npres=(zeilen[0].rstrip())\r\nfh.close()\r\nprint (\"Druck: \",pres)\r\n# Aufruf Webservice zusammenstellen\r\nurl+=sensorparm+';'+temp+';'+hum+';'+pres\r\nr = requests.get(url)\r\nprint ('Kontrolle URL: '+r.url)\r\nprint(r)<\/pre>\n<p>Abb. 17: \u00dcbertragen der Daten auf den Internet-Server &#8211; Python Quellcode<\/p>\n<p>Speichern Sie das Programm mit der Tastenkombination STRG+o und ENTER. Verlassen Sie nano mit der Tastenkombination STR+x.<\/p>\n<p>Testen Sie das Programm mit<\/p>\n<pre>.\/transfer.py<\/pre>\n<h3>\u00a0Daten im Internet anschauen<\/h3>\n<p>Das Ergebnis sollten Sie gleich im Internet sehen k\u00f6nnen. Rufen Sie mit dem Browser die Seite auf:<\/p>\n<pre><a href=\"https:\/\/210301.de\/klima\">https:\/\/210301.de\/klima<\/a><\/pre>\n<p>Das Ergebnis sollte in etwa so aussehen wie in Abb. 18.<\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Klimadaten-im-Internet.png\"><img decoding=\"async\" class=\"alignnone wp-image-2564 size-large\" src=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Klimadaten-im-Internet-490x1024.png\" alt=\"Screenshot Klimadaten im Internet\" width=\"490\" height=\"1024\" srcset=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Klimadaten-im-Internet.png 490w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/Klimadaten-im-Internet-143x300.png 143w\" sizes=\"(max-width: 490px) 100vw, 490px\" \/><\/a><\/p>\n<p><em>Abb.18: Wetterdaten der Mini-Wetterstation im Internet<\/em><\/p>\n<h2><\/h2>\n<h2>Klimadaten mit dem Raspberry Pi automatisieren<\/h2>\n<h3>Shellscript steuert alle Python-Programme<\/h3>\n<p>Mit einem Shell-Script verbinden Sie nun die drei Python-Programme, so dass eine Datenerfassung und ein Datentransfer mit einem einzigen Aufruf erfolgt. Das Shell-script\u00a0 soll den Namen klima.sh bekommen. Wechseln Sie in das Verzeichnis \/boot\/AA\/SH und legen Sie mit dem Editor nano\u00a0 die Datei klima.sh an<\/p>\n<pre>cd \/boot\/AA\/SH\r\nsudo nano klima.sh<\/pre>\n<p>Schreiben Sie den\u00a0 Quelltext aus Abb. 19 ab.<\/p>\n<pre>#!\/bin\/bash \r\n# Aufruf der Temperatur- und Feuchtemessung\r\n\/boot\/AA\/PY\/dht.py\r\n# Aufruf Druckmessung\r\n\/boot\/AA\/PY\/bmp.py\r\n# Aufruf Uebertragung an Webservice\r\n\/boot\/AA\/PY\/transfer.py<\/pre>\n<p>Abb. 19: Shellscript zur Steuerung der Python-Programme<\/p>\n<p>Speichern Sie das Programm mit der Tastenkombination STRG+o und ENTER. Verlassen Sie nano mit der Tastenkombination STR+x.<\/p>\n<p>Testen Sie nun den gesamten Ablauf mit<\/p>\n<pre>\/boot\/AA\/SH\/klima.sh<\/pre>\n<p>Sie sehen nacheinander die Ausgaben der einzelnen Python-Programme<\/p>\n<h3>Automatik mit CRON<\/h3>\n<p>Die Mini-Wetterstation soll nun automatisch alle 15 Minuten Klimadaten messen und ins Internet \u00fcbertragen. Diese Aufgabe \u00fcbernimmt CRON. CRON st ein Dienst, der zeitgesteuert Programme aufrufen kann. Sie k\u00f6nnen Eintr\u00e4ge in CRON vornehmen mit<\/p>\n<p>crontab -e<\/p>\n<p>Tragen Sie am Ende der Datei Zeilen wie in Abb. 20 ein und speichern Sie.<\/p>\n<pre># alle 15 Minuten Klimadaten abrufen\r\n*\/15 * * * * \/boot\/AA\/SH\/klima.sh\r\n\r\n# zweimal am Tag Neustart\r\n5 12 * * * sudo shutdown -r now\r\n5 0 * * * sudo shutdown -r now<\/pre>\n<p>Abb. 20: CRON-Eintr\u00e4ge<\/p>\n<h2>Abschluss<\/h2>\n<p>Stellen Sie nun den gesamten Aufbau in ein geeignetes Geh\u00e4use, in dem die Elektronik regengesch\u00fctzt, aber mit Zugang zur Au\u00dfenluft, untergebracht ist. Bew\u00e4hrt hat sich, in eine Kunststoff-Butterbrotdose, in eine passende Tupperware- oder &#8211; stabiler &#8211; eine Lock&amp;Lock-Dose mit einem F\u00f6rstner-Bohrer ein 3 cm Loch in den Boden zu bohren. Vier selbstklebende Filz- oder Silikonpads als F\u00fc\u00dfchen sorgen f\u00fcr eine ausreichende Bel\u00fcftung.<\/p>\n<p>Eingedrungenes Wasser kann abflie\u00dfen, das Stromkabel f\u00fcr den Raspberry Pi k\u00f6nnen Sie ebenfalls durch das Loch f\u00fchren.<\/p>\n<p>Stellen Sie die Box und an eine schattige Stelle in den (Schul-) Garten, so dass der Raspberry noch WLAN-Empfang hat&#8230;<\/p>\n<p>Viel Spa\u00df beim Datensammeln.<\/p>\n<h6>##########################<\/h6>\n<p>(**) Wenn Sie Ihre Wetterstation realisiert haben und nun identische Kopien davon anfertigen wollen, finden Sie hier eine kleine <a href=\"https:\/\/cbrell.de\/blog\/raspberry-pi-image-von-sd-retten-und-verkleinern\/\">Anleitung zum Verkleinern und Duplizieren des SD-Karten-Abbildes.<\/a><\/p>\n<p><strong>(*) Hinweis f\u00fcr die \u00dcbertragung auf Raspberry Pi 4 oder Raspberry Pi Zero V2<\/strong><\/p>\n<p>Diese Anleitung ist f\u00fcr den &#8222;alten&#8220; Zero geschrieben &#8211; selbst dieser hat f\u00fcr die hier beschriebene Aufgabe eigentlich zuviel Rechenpower. Ein Raspberry Zero V2 w\u00e4re \u00fcberdimensioniert. Au\u00dferdem hat sich bei den neuen Raspberrys Einiges ge\u00e4ndert, so dass eine neue Anleitung erforderlich w\u00e4re. Es sollen hier lediglich ein paar Denkanst\u00f6\u00dfe gegeben werden, eine detailiertere Aufbereitung folgt, wenn es keine alten Zeros mehr gibt:<\/p>\n<pre>F\u00fcr Raspberry Pi 4 und Zero 2:\r\nsudo pip3 install --user adafruit-circuitpython-dht\r\nsudo nano \/usr\/local\/sbin\/dht22_pi4.py\r\n\r\n\r\nTestprogramm: Inhalt von \/usr\/local\/sbin\/dht22_pi4.py: \r\n\r\n#!\/usr\/bin\/python3\r\nimport time, adafruit_dht, board\r\n# set the variable dht22gpiopin = 'D17'\r\n# Initial the dht device, with data pin connected to: dhtboard = getattr(board, dht22gpiopin)\r\n# you can pass DHT 22 use_pulseio=False if you don't want to use pulseio # this may be necessary on the Pi zero but will not work in\r\n# circuit python\r\ndhtDevice = adafruit_dht.DHT22(dhtboard, use_pulseio=False)\r\n# Standard is, but not working on the raspberry pi boards #dhtDevice = adafruit_dht.DHT22(dhtboard)\r\ntry:\r\n# Print the values to the serial port\r\ntemperature, humidity = dhtDevice.temperature, dhtDevice.humidity print(\"Temperature: {:.1f} \u00b0C Humidity: {:.1f} %\".format(temperature,\r\nhumidity))\r\nexcept RuntimeError as error:\r\n# Errors happen fairly often, DHT's are hard to read, just keep going time.sleep(2.0)\r\n# Print the values to the serial port\r\ntemperature, humidity = dhtDevice.temperature, dhtDevice.humidity print(\"Temperature: {:.1f} \u00b0C Humidity: {:.1f} %\".format(temperature,\r\nhumidity))\r\nsudo chmod +x \/usr\/local\/sbin\/dht22_pi4.py sudo pip3 install --user adafruit-circuitpython-dht\r\ndht22_pi4.py<\/pre>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/cbrell.de\/zaehler?x=9927\" \/><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"shariff shariff-align-flex-start shariff-widget-align-flex-start\" data-services=\"facebook\" data-url=\"https%3A%2F%2Fcbrell.de%2Fblog%2Fklimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet%2F\" data-timestamp=\"1647463739\" data-backendurl=\"https:\/\/cbrell.de\/blog\/wp-json\/shariff\/v1\/share_counts?\"><div class=\"ShariffHeadline\">Teile diesen Beitrag.<\/div><ul class=\"shariff-buttons theme-round orientation-horizontal buttonsize-medium\"><li class=\"shariff-button twitter shariff-nocustomcolor\" style=\"background-color:#32bbf5\"><a href=\"https:\/\/twitter.com\/share?url=https%3A%2F%2Fcbrell.de%2Fblog%2Fklimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet%2F&text=Klimadaten%20mit%20dem%20Raspberry%20Pi%20%E2%80%93%20Temperatur%2C%20Feuchte%2C%20Druck%20ins%20Internet\" title=\"Bei Twitter teilen\" aria-label=\"Bei Twitter teilen\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#55acee; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 30 32\"><path fill=\"#55acee\" d=\"M29.7 6.8q-1.2 1.8-3 3.1 0 0.3 0 0.8 0 2.5-0.7 4.9t-2.2 4.7-3.5 4-4.9 2.8-6.1 1q-5.1 0-9.3-2.7 0.6 0.1 1.5 0.1 4.3 0 7.6-2.6-2-0.1-3.5-1.2t-2.2-3q0.6 0.1 1.1 0.1 0.8 0 1.6-0.2-2.1-0.4-3.5-2.1t-1.4-3.9v-0.1q1.3 0.7 2.8 0.8-1.2-0.8-2-2.2t-0.7-2.9q0-1.7 0.8-3.1 2.3 2.8 5.5 4.5t7 1.9q-0.2-0.7-0.2-1.4 0-2.5 1.8-4.3t4.3-1.8q2.7 0 4.5 1.9 2.1-0.4 3.9-1.5-0.7 2.2-2.7 3.4 1.8-0.2 3.5-0.9z\"\/><\/svg><\/span><\/a><\/li><li class=\"shariff-button facebook shariff-nocustomcolor\" style=\"background-color:#4273c8\"><a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fcbrell.de%2Fblog%2Fklimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet%2F\" title=\"Bei Facebook teilen\" aria-label=\"Bei Facebook teilen\" role=\"button\" rel=\"nofollow\" class=\"shariff-link\" style=\"; background-color:#3b5998; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 18 32\"><path fill=\"#3b5998\" d=\"M17.1 0.2v4.7h-2.8q-1.5 0-2.1 0.6t-0.5 1.9v3.4h5.2l-0.7 5.3h-4.5v13.6h-5.5v-13.6h-4.5v-5.3h4.5v-3.9q0-3.3 1.9-5.2t5-1.8q2.6 0 4.1 0.2z\"\/><\/svg><\/span><\/a><\/li><li class=\"shariff-button linkedin shariff-nocustomcolor\" style=\"background-color:#1488bf\"><a href=\"https:\/\/www.linkedin.com\/sharing\/share-offsite\/?url=https%3A%2F%2Fcbrell.de%2Fblog%2Fklimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet%2F\" title=\"Bei LinkedIn teilen\" aria-label=\"Bei LinkedIn teilen\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#0077b5; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 27 32\"><path fill=\"#0077b5\" d=\"M6.2 11.2v17.7h-5.9v-17.7h5.9zM6.6 5.7q0 1.3-0.9 2.2t-2.4 0.9h0q-1.5 0-2.4-0.9t-0.9-2.2 0.9-2.2 2.4-0.9 2.4 0.9 0.9 2.2zM27.4 18.7v10.1h-5.9v-9.5q0-1.9-0.7-2.9t-2.3-1.1q-1.1 0-1.9 0.6t-1.2 1.5q-0.2 0.5-0.2 1.4v9.9h-5.9q0-7.1 0-11.6t0-5.3l0-0.9h5.9v2.6h0q0.4-0.6 0.7-1t1-0.9 1.6-0.8 2-0.3q3 0 4.9 2t1.9 6z\"\/><\/svg><\/span><\/a><\/li><\/ul><\/div>","protected":false},"excerpt":{"rendered":"<p>In &#8222;Klimadaten mit dem Raspberry Pi&#8220; bauen Sie mit einem preisg\u00fcnstigen Raspberry Zero eine Mini-Wetterstation auf. Gemessen werden Temperatur, relative Luftfeuchte und Luftdruck. Die Daten werden an einen Webservice \u00fcbertragen &#8230;<\/p>\n","protected":false},"author":1,"featured_media":2569,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[84,306,253,77,76],"tags":[15,103,566,649,111,74,110,462,398,124,229,134,397],"class_list":["post-2553","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-lebenslanges-lernen","category-lehre","category-programmieren","category-programmierung","category-raspberry-pi","tag-elektronik","tag-iot","tag-klima","tag-messung","tag-php","tag-programmierung","tag-python","tag-schule","tag-schueler","tag-sensor","tag-shell","tag-wetterstation","tag-workshop"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Klimadaten mit dem Raspberry Pi - Temperatur, Feuchte, Druck ins Internet<\/title>\n<meta name=\"description\" content=\"In &quot;Klimadaten mit dem Raspberry Pi&quot; bauen Sie mit einem Raspberry Zero eine Mini-Wetterstation auf und \u00fcbertragen die Daten ins Internet.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cbrell.de\/blog\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Klimadaten mit dem Raspberry Pi - Temperatur, Feuchte, Druck ins Internet\" \/>\n<meta property=\"og:description\" content=\"In &quot;Klimadaten mit dem Raspberry Pi&quot; bauen Sie mit einem Raspberry Zero eine Mini-Wetterstation auf und \u00fcbertragen die Daten ins Internet.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cbrell.de\/blog\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\/\" \/>\n<meta property=\"og:site_name\" content=\"Bienen, Natur und Internet of Things\" \/>\n<meta property=\"article:published_time\" content=\"2022-03-02T19:22:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-03-16T19:48:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/2022-03-02-B40-Klima-Sensorgeha\u0308use_.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"681\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Claus Brell\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@clausbrell5859\" \/>\n<meta name=\"twitter:site\" content=\"@clausbrell\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Claus Brell\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"21\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\\\/\"},\"author\":{\"name\":\"Claus Brell\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#\\\/schema\\\/person\\\/7cf529e46faf1fd7b2b6942fec254c58\"},\"headline\":\"Klimadaten mit dem Raspberry Pi &#8211; Temperatur, Feuchte, Druck ins Internet\",\"datePublished\":\"2022-03-02T19:22:08+00:00\",\"dateModified\":\"2022-03-16T19:48:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\\\/\"},\"wordCount\":2706,\"image\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/2022-03-02-B40-Klima-Sensorgeha\u0308use_.jpg\",\"keywords\":[\"Elektronik\",\"IoT\",\"Klima\",\"Messung\",\"PHP\",\"Programmierung\",\"Python\",\"Schule\",\"Sch\u00fcler\",\"Sensor\",\"shell\",\"Wetterstation\",\"Workshop\"],\"articleSection\":[\"lebenslanges Lernen\",\"Lehre\",\"Programmieren\",\"Programmierung\",\"Raspberry Pi\"],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\\\/\",\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\\\/\",\"name\":\"Klimadaten mit dem Raspberry Pi - Temperatur, Feuchte, Druck ins Internet\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/2022-03-02-B40-Klima-Sensorgeha\u0308use_.jpg\",\"datePublished\":\"2022-03-02T19:22:08+00:00\",\"dateModified\":\"2022-03-16T19:48:59+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#\\\/schema\\\/person\\\/7cf529e46faf1fd7b2b6942fec254c58\"},\"description\":\"In \\\"Klimadaten mit dem Raspberry Pi\\\" bauen Sie mit einem Raspberry Zero eine Mini-Wetterstation auf und \u00fcbertragen die Daten ins Internet.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/cbrell.de\\\/blog\\\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\\\/#primaryimage\",\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/2022-03-02-B40-Klima-Sensorgeha\u0308use_.jpg\",\"contentUrl\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/2022-03-02-B40-Klima-Sensorgeha\u0308use_.jpg\",\"width\":1024,\"height\":681,\"caption\":\"Bild: Ein Geh\u00e4use f\u00fcr den Feuchtigkeitssensor aus dem 3D-Drucker\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Klimadaten mit dem Raspberry Pi &#8211; Temperatur, Feuchte, Druck ins Internet\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/\",\"name\":\"Bienen, Natur und Internet of Things\",\"description\":\"Alles, was einfach ist. Von Claus Brell\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#\\\/schema\\\/person\\\/7cf529e46faf1fd7b2b6942fec254c58\",\"name\":\"Claus Brell\",\"description\":\"Seit 2021 forsche ich an und mit Bienen (Digitalisierung der Imkerei) Seit 2012 Professur f\u00fcr Wirtschaftsinformatik an der Hochschue Niederrhein. Seit 1981 treibt mich die Frage um: Was haben Physik, Heavy Metal und Spiele miteinander zu tun? Drei m\u00f6gliche Antworten: {nichts | 42 | gleiche Hirnareale werden aktiviert}\",\"sameAs\":[\"http:\\\/\\\/claus-brell.de\",\"https:\\\/\\\/x.com\\\/clausbrell5859\",\"https:\\\/\\\/www.youtube.com\\\/@clausbrell5859\"],\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/author\\\/clausb\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Klimadaten mit dem Raspberry Pi - Temperatur, Feuchte, Druck ins Internet","description":"In \"Klimadaten mit dem Raspberry Pi\" bauen Sie mit einem Raspberry Zero eine Mini-Wetterstation auf und \u00fcbertragen die Daten ins Internet.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cbrell.de\/blog\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\/","og_locale":"de_DE","og_type":"article","og_title":"Klimadaten mit dem Raspberry Pi - Temperatur, Feuchte, Druck ins Internet","og_description":"In \"Klimadaten mit dem Raspberry Pi\" bauen Sie mit einem Raspberry Zero eine Mini-Wetterstation auf und \u00fcbertragen die Daten ins Internet.","og_url":"https:\/\/cbrell.de\/blog\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\/","og_site_name":"Bienen, Natur und Internet of Things","article_published_time":"2022-03-02T19:22:08+00:00","article_modified_time":"2022-03-16T19:48:59+00:00","og_image":[{"width":1024,"height":681,"url":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/2022-03-02-B40-Klima-Sensorgeha\u0308use_.jpg","type":"image\/jpeg"}],"author":"Claus Brell","twitter_card":"summary_large_image","twitter_creator":"@clausbrell5859","twitter_site":"@clausbrell","twitter_misc":{"Verfasst von":"Claus Brell","Gesch\u00e4tzte Lesezeit":"21\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cbrell.de\/blog\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\/#article","isPartOf":{"@id":"https:\/\/cbrell.de\/blog\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\/"},"author":{"name":"Claus Brell","@id":"https:\/\/cbrell.de\/blog\/#\/schema\/person\/7cf529e46faf1fd7b2b6942fec254c58"},"headline":"Klimadaten mit dem Raspberry Pi &#8211; Temperatur, Feuchte, Druck ins Internet","datePublished":"2022-03-02T19:22:08+00:00","dateModified":"2022-03-16T19:48:59+00:00","mainEntityOfPage":{"@id":"https:\/\/cbrell.de\/blog\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\/"},"wordCount":2706,"image":{"@id":"https:\/\/cbrell.de\/blog\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\/#primaryimage"},"thumbnailUrl":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/2022-03-02-B40-Klima-Sensorgeha\u0308use_.jpg","keywords":["Elektronik","IoT","Klima","Messung","PHP","Programmierung","Python","Schule","Sch\u00fcler","Sensor","shell","Wetterstation","Workshop"],"articleSection":["lebenslanges Lernen","Lehre","Programmieren","Programmierung","Raspberry Pi"],"inLanguage":"de"},{"@type":"WebPage","@id":"https:\/\/cbrell.de\/blog\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\/","url":"https:\/\/cbrell.de\/blog\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\/","name":"Klimadaten mit dem Raspberry Pi - Temperatur, Feuchte, Druck ins Internet","isPartOf":{"@id":"https:\/\/cbrell.de\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cbrell.de\/blog\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\/#primaryimage"},"image":{"@id":"https:\/\/cbrell.de\/blog\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\/#primaryimage"},"thumbnailUrl":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/2022-03-02-B40-Klima-Sensorgeha\u0308use_.jpg","datePublished":"2022-03-02T19:22:08+00:00","dateModified":"2022-03-16T19:48:59+00:00","author":{"@id":"https:\/\/cbrell.de\/blog\/#\/schema\/person\/7cf529e46faf1fd7b2b6942fec254c58"},"description":"In \"Klimadaten mit dem Raspberry Pi\" bauen Sie mit einem Raspberry Zero eine Mini-Wetterstation auf und \u00fcbertragen die Daten ins Internet.","breadcrumb":{"@id":"https:\/\/cbrell.de\/blog\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cbrell.de\/blog\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/cbrell.de\/blog\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\/#primaryimage","url":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/2022-03-02-B40-Klima-Sensorgeha\u0308use_.jpg","contentUrl":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/03\/2022-03-02-B40-Klima-Sensorgeha\u0308use_.jpg","width":1024,"height":681,"caption":"Bild: Ein Geh\u00e4use f\u00fcr den Feuchtigkeitssensor aus dem 3D-Drucker"},{"@type":"BreadcrumbList","@id":"https:\/\/cbrell.de\/blog\/klimadaten-mit-dem-raspberry-pi-temperatur-feuchte-druck-ins-internet\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/cbrell.de\/blog\/"},{"@type":"ListItem","position":2,"name":"Klimadaten mit dem Raspberry Pi &#8211; Temperatur, Feuchte, Druck ins Internet"}]},{"@type":"WebSite","@id":"https:\/\/cbrell.de\/blog\/#website","url":"https:\/\/cbrell.de\/blog\/","name":"Bienen, Natur und Internet of Things","description":"Alles, was einfach ist. Von Claus Brell","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cbrell.de\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/cbrell.de\/blog\/#\/schema\/person\/7cf529e46faf1fd7b2b6942fec254c58","name":"Claus Brell","description":"Seit 2021 forsche ich an und mit Bienen (Digitalisierung der Imkerei) Seit 2012 Professur f\u00fcr Wirtschaftsinformatik an der Hochschue Niederrhein. Seit 1981 treibt mich die Frage um: Was haben Physik, Heavy Metal und Spiele miteinander zu tun? Drei m\u00f6gliche Antworten: {nichts | 42 | gleiche Hirnareale werden aktiviert}","sameAs":["http:\/\/claus-brell.de","https:\/\/x.com\/clausbrell5859","https:\/\/www.youtube.com\/@clausbrell5859"],"url":"https:\/\/cbrell.de\/blog\/author\/clausb\/"}]}},"_links":{"self":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts\/2553","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/comments?post=2553"}],"version-history":[{"count":41,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts\/2553\/revisions"}],"predecessor-version":[{"id":2673,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts\/2553\/revisions\/2673"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/media\/2569"}],"wp:attachment":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/media?parent=2553"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/categories?post=2553"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/tags?post=2553"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}