Мазмуну:

Raspberry Pi / DHT11 - Нымдуулукту жана Температураны өлчөө: 4 кадам
Raspberry Pi / DHT11 - Нымдуулукту жана Температураны өлчөө: 4 кадам

Video: Raspberry Pi / DHT11 - Нымдуулукту жана Температураны өлчөө: 4 кадам

Video: Raspberry Pi / DHT11 - Нымдуулукту жана Температураны өлчөө: 4 кадам
Video: LM35ди Цельсий Фаренгейт менен Келвиндеги температураны өлчөө үчүн кантип колдонсо болот 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-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 -кадам: Чыгуу менен эмне кылуу керек

Ошентип, биз көргөндөй, өндүрүш "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

// DHT11 температура сенсорун окуу үчүн python файлын аткарат

// жана температура менен нымдуулуктун маанилерин чыгарат $ temperatur = 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); $ temperatur = substr ($ тест, $ my_pos+5, 4); echo "\ n". $ температурасы; // нымдуулукту чыгарат $ my_pos = strpos ($ test, "Humidity =", $ my_pos); $ нымдуулук = substr ($ тест, $ my_pos+9, 4); echo "\ n". $ нымдуулук; ?>

Сунушталууда: