Съдържание:

Raspberry Pi / DHT11 - Измерете влажността и температурата: 4 стъпки
Raspberry Pi / DHT11 - Измерете влажността и температурата: 4 стъпки

Видео: Raspberry Pi / DHT11 - Измерете влажността и температурата: 4 стъпки

Видео: Raspberry Pi / DHT11 - Измерете влажността и температурата: 4 стъпки
Видео: Raspberry Pi и погода в доме. Датчик температуры и влажности DHT11 2024, Юли
Anonim
Raspberry Pi / DHT11 - Измерете влажността и температурата
Raspberry Pi / DHT11 - Измерете влажността и температурата

Исках да измервам температурата и влажността с моята Raspberry Pi. Избрах сензор DHT11, защото е здрав и евтин. Конфигурирането му също е добре документирано, но има няколко клопки по пътя, върху които бих искал да се съсредоточа.

DHT11 има 4 пина. Най -лявата част е за Vcc или положителен (+) щифт, който е свързан с 3.3V пина на Raspberry Pi. Следващият щифт е пинът за данни, който трябва да бъде свързан към 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 (3 -ти пин) Няма връзка

DHT11 (-щифт) ------ Raspberry Pi (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-съществен 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, които сте избрали по -рано)

Трябва да видите Температура = 18,0* Влажност = 46,0% (т.е. температурата и влажността за вашата среда)

Стъпка 4: Какво да направите с изхода

Така че, както видяхме, изходът е "Темп = 18,0* Влажност = 46,0%"

Има няколко начина, по които можете да използвате този изход, например с помощта на този тест php файл, test_dht11.php файл

Първо, преместих скрипта AdafruitDHT.py в/var/www/.

За да тествате и стартирате php скрипта, променете на /var /www, след това sudo php test_dht11.php

Изходът показва две числа, представляващи температура и влажност. Тези числа могат да бъдат записани в база данни или да се сравнят с границите на предупрежденията и да се изпрати предупреждение и т.н

// <? php // разкоментирайте горния ред - instructables не харесва командата за стартиране на 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); $ температура = substr ($ тест, $ my_pos+5, 4); ехо "\ n". $ температура; // извлича влажност $ my_pos = strpos ($ тест, "Влажност =", $ my_pos); $ влажност = substr ($ тест, $ my_pos+9, 4); ехо "\ n". $ влажност; ?>

Препоръчано: