Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
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". υγρασία $; ?>