2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
רציתי למדוד טמפרטורה ולחות באמצעות ה- Raspberry Pi שלי. בחרתי בחיישן DHT11 מכיוון שהוא חזק וזול. הגדרתו מתועדת היטב אך ישנן מספר מלכודות בדרך בה הייתי רוצה להתמקד.
ל- DHT11 יש 4 סיכות. השמאלי ביותר הוא ל- Vcc או סיכה חיובית (+) המחוברת לסיכה של Raspberry Pi 3.3V. הסיכה הבאה לרוחב היא סיכת הנתונים שחייבת להיות מחוברת לסיכת GPIO ב- Raspberry Pi. יש לחבר את שני הסיכות הללו באמצעות נגד 4.7K.
הסיכה השלישית משמאל אינה בשימוש. הסיכה הימנית והרביעית היא הסיכה הקרקעית או השלילית אשר חייבת להיות מחוברת לאחד מסיכות הקרקע ב- Raspberry Pi.
שלב 1: דרושים רכיבים
1. פטל פטל
2. DHT11
3. נגד 4.7k
4. חוטי קרש לחם שונים
5. לוח לחם
שלב 2: חיבור דברים
חבר את ה- Raspberry Pi ו- DHT11 באופן הבא:
DHT11 (+ סיכה) RaspberryPi (פין 3.3V)
DHT11 (סיכת נתונים) RaspberryPi (סיכת GPIO - השתמשתי ב- GPIO22)
DHT11 (פין שלישי) אין חיבור
DHT11 (-סיכה) ------ פטל פטל (סיכת gnd)
שלב 3: התקנת התוכנה
משורת הפקודה RaspberryPi, בצע את הפעולות הבאות: (הערה, אל תשמיט את SUDO)
שיבוט sudo git
אתה צריך לראות - שיבוט לתוך '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 להתקין
(שים לב, אם תעקוף את השלב הזה, ייתכן שתראה שגיאה במפגש - Traceback (השיחה האחרונה האחרונה):
קובץ "./AdafruitDHT.py", שורה 24, ביבוא Adafruit_DHT ImportError: אין מודול בשם Adafruit_DHT)
דוגמאות CD
sudo./AdafruitDHT.py 11 22 (11 = DHT11 ו- 22 = GPIO22 שבחרת קודם לכן)
אתה אמור לראות טמפ '= 18.0* לחות = 46.0% (כלומר הטמפרטורה והלחות של הסביבה שלך)
שלב 4: מה לעשות עם הפלט
אז, כפי שראינו, התפוקה היא "טמפ '= 18.0* לחות = 46.0%"
ישנן מספר דרכים בהן תוכלו לרתום את outpu זה, למשל באמצעות קובץ php ניסוי זה, קובץ test_dht11.php
ראשית, העברתי מחדש את הסקריפט AdafruitDHT.py ל-/var/www/.
כדי לבדוק ולהפעיל את סקריפט php, שנה ל- /var /www ואז sudo php test_dht11.php
הפלט מציג שני מספרים המייצגים טמפרטורה ולחות. ניתן לכתוב מספרים אלה למסד נתונים, או להשוות אותם למגבלות אזהרה ולשלוח התראה וכו '
// <? php // בטל את התגובה של השורה למעלה - הוראות הוראה לא אוהבות את הפקודה start php //test_dht11.php
// מבצע קובץ פייתון לקריאת חיישן טמפרטורה 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, "לחות =", $ my_pos); $ לחות = substr ($ test, $ my_pos+9, 4); הד "\ n". $ לחות; ?>