Πίνακας περιεχομένων:

Raspberry Pi / DHT11 - Μετρήστε την υγρασία και τη θερμοκρασία: 4 βήματα
Raspberry Pi / DHT11 - Μετρήστε την υγρασία και τη θερμοκρασία: 4 βήματα

Βίντεο: Raspberry Pi / DHT11 - Μετρήστε την υγρασία και τη θερμοκρασία: 4 βήματα

Βίντεο: Raspberry Pi / DHT11 - Μετρήστε την υγρασία και τη θερμοκρασία: 4 βήματα
Βίντεο: How to use DHT11 DHT22 with NodeMCU ESP8266 to read temperature over WiFi - IoT 2024, Ιούλιος
Anonim
Raspberry Pi / DHT11 - Μετρήστε την υγρασία και τη θερμοκρασία
Raspberry Pi / DHT11 - Μετρήστε την υγρασία και τη θερμοκρασία

Wantedθελα να μετρήσω τη θερμοκρασία και την υγρασία χρησιμοποιώντας το Raspberry Pi. Επέλεξα έναν αισθητήρα DHT11 επειδή είναι στιβαρός και φθηνός. Η διαμόρφωσή του είναι επίσης καλά τεκμηριωμένη, αλλά υπάρχουν πολλές παγίδες στο δρόμο στις οποίες θα ήθελα να επικεντρωθώ.

Το DHT11 έχει 4 ακίδες. Το πιο αριστερό είναι για Vcc ή θετικό (+) pin που είναι συνδεδεμένο με τον ακροδέκτη Raspberry Pi 3.3V. Η επόμενη καρφίτσα απέναντι είναι η καρφίτσα δεδομένων που πρέπει να συνδεθεί με μια καρφίτσα GPIO στο Raspberry Pi. Αυτοί οι δύο ακροδέκτες πρέπει να συνδεθούν χρησιμοποιώντας αντίσταση 4.7K.

Ο 3ος πείρος από τα αριστερά δεν χρησιμοποιείται. Ο δεξιότερος και τέταρτος πείρος είναι ο πείρος γείωσης ή αρνητικός που πρέπει να συνδεθεί με έναν από τους ακροδέκτες γείωσης στο Raspberry Pi.

Βήμα 1: Απαιτούνται εξαρτήματα

Απαραίτητα εξαρτήματα
Απαραίτητα εξαρτήματα

1. Raspberry Pi

2. DHT11

3. Αντίσταση 4,7k

4. Διάφορα σύρματα σανίδων

5. Breadboard

Βήμα 2: Σύνδεση πραγμάτων

Σύνδεση πραγμάτων
Σύνδεση πραγμάτων
Σύνδεση πραγμάτων
Σύνδεση πραγμάτων

Συνδέστε τα Raspberry Pi και DHT11 ως εξής:

DHT11 (+ pin) RaspberryPi (ακίδα 3.3V)

DHT11 (καρφίτσα δεδομένων) RaspberryPi (καρφίτσα GPIO - χρησιμοποίησα GPIO22)

DHT11 (3ος πείρος) Δεν υπάρχει σύνδεση

DHT11 (-pin) ------ Raspberry Pi (gnd pin)

Βήμα 3: Εγκατάσταση του Λογισμικού

Από τη γραμμή εντολών RaspberryPi, κάντε τα εξής: (ΣΗΜΕΙΩΣΗ, μην παραλείψετε το SUDO)

sudo git clone

Θα πρέπει να δείτε - Κλωνοποίηση σε 'Adafruit_Python_DHT'… τηλεχειριστήριο: Καταμέτρηση αντικειμένων: 249, ολοκληρώθηκε. τηλεχειριστήριο: Σύνολο 249 (δέλτα 0), επαναχρησιμοποίηση 0 (δέλτα 0), επαναχρησιμοποίηση συσκευασίας 249 Λήψη αντικειμένων: 100% (249/249), 77.01 KiB, τελειωμένο. Επίλυση δέλτα: 100% (142/142), τελειωμένο.

cd Adafruit_Python_DHT/

sudo apt-get update sudo apt-get install build-essential python-dev python-openssl

ls

Θα πρέπει να δείτε - Adafruit_DHT παραδείγματα ez_setup.py LICENSE README.md setup.py πηγή

cd Adafruit_DHT/

Θα πρέπει να δείτε -Beaglebone_Black.py common.py _init_.py platform_detect.py Raspberry_Pi_2.py Raspberry_Pi.py Test.py

sudo python setup.py install

(Σημείωση, εάν παρακάμψετε αυτό το βήμα, ενδέχεται να δείτε ένα σφάλμα συνάντησης - Traceback (τελευταία κλήση τελευταία):

Αρχείο "./AdafruitDHT.py", γραμμή 24, κατά την εισαγωγή Adafruit_DHT ImportError: Δεν υπάρχει ενότητα με όνομα Adafruit_DHT)

παραδείγματα cd

sudo./AdafruitDHT.py 11 22 (11 = DHT11 και 22 = GPIO22 που επιλέξατε νωρίτερα)

Θα πρέπει να δείτε Temp = 18,0* Υγρασία = 46,0% (δηλαδή η θερμοκρασία και η υγρασία για το περιβάλλον σας)

Βήμα 4: Τι να κάνετε με την έξοδο

Έτσι, όπως είδαμε, η έξοδος είναι "Temp = 18,0* Υγρασία = 46,0%"

Υπάρχουν διάφοροι τρόποι με τους οποίους μπορείτε να αξιοποιήσετε αυτήν την έξοδο, για παράδειγμα χρησιμοποιώντας αυτό το δοκιμαστικό αρχείο php, αρχείο test_dht11.php

Πρώτον, μετέφερα το σενάριο AdafruitDHT.py στο/var/www/.

Για να δοκιμάσετε και να εκτελέσετε το σενάριο php, αλλάξτε σε /var /www και στη συνέχεια sudo php test_dht11.php

Η έξοδος δείχνει δύο αριθμούς που αντιπροσωπεύουν τη θερμοκρασία και την υγρασία. Αυτοί οι αριθμοί μπορούν να γραφτούν σε μια βάση δεδομένων ή να συγκριθούν με όρια προειδοποίησης και να στείλουν μια ειδοποίηση κ.λπ

// <? php // αποσύνδεση της παραπάνω γραμμής - οι οδηγίες δεν αρέσουν στην εντολή εκκίνησης php //test_dht11.php

// εκτελεί αρχείο python για ανάγνωση αισθητήρα θερμοκρασίας DHT11

// και εξάγει τις τιμές θερμοκρασίας και υγρασίας $ θερμοκρασία = 0; υγρασία $ = 0; $ my_pos = 0; $ exec_msg = "sudo /var/www/AdafruitDHT.py 11 22 2> & 1"; $ test = shell_exec ($ exec_msg); // εξάγει θερμοκρασία $ my_pos = strpos ($ test, "Temp =", 0); $ temperature = substr ($ test, $ my_pos+5, 4); ηχώ "\ n". $ θερμοκρασία; // εξάγει υγρασία $ my_pos = strpos ($ test, "Humidity =", $ my_pos); $ υγρασία = substr ($ test, $ my_pos+9, 4); ηχώ "\ n". υγρασία $; ?>

Συνιστάται: