Агуулгын хүснэгт:

Raspberry Pi / DHT11 - Чийглэг ба температурыг хэмжих: 4 алхам
Raspberry Pi / DHT11 - Чийглэг ба температурыг хэмжих: 4 алхам

Видео: Raspberry Pi / DHT11 - Чийглэг ба температурыг хэмжих: 4 алхам

Видео: Raspberry Pi / DHT11 - Чийглэг ба температурыг хэмжих: 4 алхам
Видео: Бесконтактный датчик температуры дальнего действия MLX90614-DCI с Arduino 2024, Арваннэгдүгээр
Anonim
Raspberry Pi / DHT11 - Чийгшил ба температурыг хэмжинэ
Raspberry Pi / DHT11 - Чийгшил ба температурыг хэмжинэ

Би Raspberry Pi ашиглан температур, чийгшлийг хэмжихийг хүссэн. Би бат бөх, хямд учраас DHT11 мэдрэгчийг сонгосон. Үүнийг тохируулах нь бас сайн баримтжуулсан байдаг, гэхдээ анхаарлаа хандуулахыг хүсч буй олон бэрхшээлүүд байдаг.

DHT11 нь 4 голтой. Хамгийн зүүн талд нь Raspberry Pi 3.3V зүүтэй холбогдсон Vcc буюу эерэг (+) зүү байна. Дараагийн зүү бол Raspberry Pi дээрх GPIO зүүтэй холбогдох ёстой өгөгдлийн зүү юм. Эдгээр хоёр тээглүүрийг 4.7K эсэргүүцэл ашиглан холбох ёстой.

Зүүн талын 3 -р зүүг ашиглаагүй болно. Хамгийн баруун ба дөрөв дэх зүү нь Raspberry Pi дээрх газардуулгын аль нэгтэй холбогдох ёстой газардуулга эсвэл сөрөг зүү юм.

Алхам 1: Шаардлагатай бүрэлдэхүүн хэсгүүд

Шаардлагатай бүрэлдэхүүн хэсгүүд
Шаардлагатай бүрэлдэхүүн хэсгүүд

1. Raspberry Pi

2. DHT11

3. 4.7k эсэргүүцэл

4. Талхны хавтангийн төрөл бүрийн утас

5. Талхны самбар

Алхам 2: Аливаа зүйлийг холбох

Холбогдох зүйлс
Холбогдох зүйлс
Холбогдох зүйлс
Холбогдох зүйлс

Raspberry Pi болон DHT11 -ийг дараах байдлаар холбоно уу.

DHT11 (+ зүү) RaspberryPi (3.3V зүү)

DHT11 (өгөгдлийн зүү) RaspberryPi (GPIO зүү - Би GPIO22 ашигласан)

DHT11 (3 -р зүү) Холболт байхгүй байна

DHT11 (-зүү) ------ Raspberry Pi (gnd зүү)

Алхам 3: Програм хангамжийг суулгах

RaspberryPi командын мөрөөс дараах зүйлийг хий: (ТАЙЛБАР: SUDO -г бүү орхи)

sudo git clone

Та харах ёстой - 'Adafruit_Python_DHT' руу клон хийх … алсын удирдлага: Объект тоолох: 249, дууссан. алсын: Нийт 249 (дельта 0), дахин ашигласан 0 (дельта 0), дахин ашиглах 249 Хүлээн авах объект: 100% (249/249), 77.01 Киб, хийгдсэн. Дельта шийдвэрлэх: 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 source

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)

Та харах ёстой Temp = 18.0* Чийглэг = 46.0% (өөрөөр хэлбэл таны хүрээлэн буй орчны температур, чийгшил)

Алхам 4: Гаралтын хувьд юу хийх ёстой вэ

Бидний харж байгаагаар гаралт нь "Темп = 18.0* Чийглэг = 46.0%" байна.

Та энэхүү гарцыг ашиглах хэд хэдэн арга байдаг, жишээ нь энэ php тест тест, тест_dht11.php файлыг ашиглан.

Нэгдүгээрт, би AdafruitDHT.py скриптийг/var/www/руу нүүлгэсэн.

PHP скриптийг туршиж ажиллуулахын тулд /var /www болгож sudo php test_dht11.php болгож өөрчилнө үү.

Гаралт нь температур ба чийгшлийг илэрхийлсэн хоёр тоог харуулна. Эдгээр тоонуудыг мэдээллийн санд бичиж болно, эсвэл анхааруулах хязгаартай харьцуулж, анхааруулга илгээх гэх мэт

// <? php // дээрх мөрийг тайлбарлахгүй бол зааварчилгаа нь php эхлүүлэх тушаалд дургүй байдаг //test_dht11.php

// DHT11 температур мэдрэгчийг уншихын тулд python файлыг ажиллуулдаг

// ба температур ба чийгшлийн утгыг гаргаж авдаг $ температур = 0; $ чийгшил = 0; $ my_pos = 0; $ exec_msg = "sudo /var/www/AdafruitDHT.py 11 22 2> & 1"; $ тест = shell_exec ($ exec_msg); // температурыг гаргаж авдаг $ my_pos = strpos ($ test, "Temp =", 0); $ temperatur = substr ($ тест, $ my_pos+5, 4); echo "\ n". $ температур; // чийгийг гаргаж авдаг $ my_pos = strpos ($ test, "Чийглэг =", $ my_pos); $ чийгшил = substr ($ тест, $ my_pos+9, 4); echo "\ n". $ чийгшил; ?>

Зөвлөмж болгож буй: