Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Ich wollte mit meinem Raspberry Pi Temperatur und Luftfeuchtigkeit messen. Ich habe mich für einen DHT11-Sensor entschieden, weil er robust und günstig ist. Die Konfiguration ist ebenfalls gut dokumentiert, aber es gibt eine Reihe von Fallstricken auf dem Weg, auf die ich mich konzentrieren möchte.
Der DHT11 hat 4 Pins. Der linke ist für den Vcc oder positiven (+) Pin, der mit dem Raspberry Pi 3.3V Pin verbunden ist. Der nächste Pin ist der Datenpin, der mit einem GPIO-Pin auf dem Raspberry Pi verbunden werden muss. Diese beiden Pins müssen mit einem 4,7K-Widerstand verbunden werden.
Der 3. Pin von links wird nicht verwendet. Der ganz rechte und vierte Pin ist der Masse- oder Minus-Pin, der mit einem der Masse-Pins des Raspberry Pi verbunden werden muss.
Schritt 1: Erforderliche Komponenten
1. Himbeer-Pi
2. DHT11
3. 4.7k Widerstand
4. Verschiedene Steckbrettdrähte
5. Steckbrett
Schritt 2: Dinge verbinden
Verbinden Sie Raspberry Pi und DHT11 wie folgt:
DHT11 (+-Pin) RaspberryPi (3,3V-Pin)
DHT11 (Daten-Pin) RaspberryPi (GPIO-Pin - ich habe GPIO22 verwendet)
DHT11 (3. Pin) Keine Verbindung
DHT11 (-Pin) ------ Raspberry Pi (Gnd-Pin)
Schritt 3: Installieren der Software
Gehen Sie von der RaspberryPi-Befehlszeile aus wie folgt vor: (HINWEIS, SUDO nicht auslassen)
sudo git-klon
Sie sollten sehen - Klonen in 'Adafruit_Python_DHT'… remote: Objekte zählen: 249, fertig. Remote: Gesamt 249 (Delta 0), wiederverwendet 0 (Delta 0), Pack-wiederverwendet 249 Empfangsobjekte: 100% (249/249), 77,01 KiB, fertig. Deltas auflösen: 100 % (142/142), fertig.
cd Adafruit_Python_DHT/
sudo apt-get update sudo apt-get install build-essential python-dev python-openssl
ls
Sie sollten sehen - Adafruit_DHT Beispiele ez_setup.py LIZENZ README.md setup.py source
cd Adafruit_DHT/
Sie sollten sehen -Beaglebone_Black.py common.py _init_.py platform_detect.py Raspberry_Pi_2.py Raspberry_Pi.py Test.py
sudo python setup.py installieren
(Beachten Sie, wenn Sie diesen Schritt umgehen, wird möglicherweise ein Begegnungsfehler angezeigt - Traceback (letzter Anruf zuletzt):
Datei "./AdafruitDHT.py", Zeile 24, im Import Adafruit_DHT ImportError: Kein Modul namens Adafruit_DHT)
CD-Beispiele
sudo./AdafruitDHT.py 11 22 (11 = DHT11 und 22=GPIO22, die Sie zuvor ausgewählt haben)
Sie sollten Temp=18.0* Humidity=46,0% sehen (d.h. die Temperatur und Luftfeuchtigkeit für Ihre Umgebung)
Schritt 4: Was ist mit der Ausgabe zu tun?
Wie wir gesehen haben, ist die Ausgabe "Temp=18.0* Humidity=46,0%".
Es gibt eine Reihe von Möglichkeiten, wie Sie diese Ausgabe nutzen können, zum Beispiel mit dieser Test-PHP-Datei, test_dht11.php-Datei
Zuerst habe ich das Skript AdafruitDHT.py nach /var/www/ verschoben.
Um das PHP-Skript zu testen und auszuführen, wechseln Sie zu /var/www und dann zu sudo php test_dht11.php
Die Ausgabe zeigt zwei Zahlen für Temperatur und Luftfeuchtigkeit. Diese Zahlen können in eine Datenbank geschrieben oder mit Warngrenzen verglichen und eine Warnung gesendet werden usw
//<? php // kommentieren Sie die obige Zeile - instructables mag den PHP-Startbefehl nicht //test_dht11.php
// führt Python-Datei aus, um den DHT11-Temperatursensor zu lesen
//und extrahiert die Temperatur- und Feuchtigkeitswerte $temperature=0; $Luftfeuchtigkeit=0; $meine_pos=0; $exec_msg="sudo /var/www/AdafruitDHT.py 11 22 2>&1"; $test = shell_exec($exec_msg); //extrahiert die Temperatur $my_pos = strpos($test, "Temp=", 0); $temperatur = substr($test, $my_pos+5, 4); echo "\n ".$temperatur; // entzieht Feuchtigkeit $my_pos = strpos($test, "Humidity=", $my_pos); $Luftfeuchtigkeit = substr($test, $my_pos+9, 4); echo "\n ".$Luftfeuchtigkeit; ?>