Satura rādītājs:

Raspberry Pi / DHT11 - mēra mitrumu un temperatūru: 4 soļi
Raspberry Pi / DHT11 - mēra mitrumu un temperatūru: 4 soļi

Video: Raspberry Pi / DHT11 - mēra mitrumu un temperatūru: 4 soļi

Video: Raspberry Pi / DHT11 - mēra mitrumu un temperatūru: 4 soļi
Video: Бесконтактный инфракрасный датчик температуры MLX90614 с Arduino, калибровка излучательной способности MLX90614 2024, Novembris
Anonim
Raspberry Pi / DHT11 - mēra mitrumu un temperatūru
Raspberry Pi / DHT11 - mēra mitrumu un temperatūru

Es gribēju izmērīt temperatūru un mitrumu, izmantojot savu Raspberry Pi. Es izvēlējos DHT11 sensoru, jo tas ir izturīgs un lēts. Tās konfigurēšana ir arī labi dokumentēta, taču ceļā ir vairākas nepilnības, kurām es vēlētos pievērsties.

DHT11 ir 4 tapas. Kreisā daļa ir paredzēta Vcc vai pozitīvai (+) tapai, kas ir savienota ar Raspberry Pi 3.3V tapu. Nākamā tapa ir datu tapa, kurai jābūt savienotai ar GPIO tapu Raspberry Pi. Šīm divām tapām jābūt savienotām, izmantojot 4,7K rezistoru.

Trešā tapa no kreisās puses netiek izmantota. Labākā un ceturtā tapa ir zemējuma vai negatīvā tapa, kurai jābūt savienotai ar vienu no Raspberry Pi zemējuma tapām.

1. darbība. Nepieciešamās sastāvdaļas

Nepieciešamas sastāvdaļas
Nepieciešamas sastāvdaļas

1. Aveņu Pi

2. DHT11

3. 4.7k rezistors

4. Dažādi maizes dēļu vadi

5. Maizes dēlis

2. solis: lietu savienošana

Lietas savienošana
Lietas savienošana
Lietas savienošana
Lietas savienošana

Pievienojiet Raspberry Pi un DHT11 šādi:

DHT11 (+ tapa) RaspberryPi (3,3 V tapa)

DHT11 (datu pin) RaspberryPi (GPIO pin - es izmantoju GPIO22)

DHT11 (3. tapa) Nav savienojuma

DHT11 (-tapa) ------ Raspberry Pi (gnd pin)

3. darbība: programmatūras instalēšana

RaspberryPi komandrindā rīkojieties šādi: (PIEZĪME, neizlaidiet SUDO)

sudo git klons

Jums vajadzētu redzēt - Klonēšana “Adafruit_Python_DHT”… tālvadība: objektu skaitīšana: 249, darīts. tālvadības pults: kopā 249 (delta 0), atkārtoti izmantots 0 (delta 0), atkārtoti izmantots 249 Saņemšanas objekti: 100% (249/249), 77,01 KiB, darīts. Deltas noregulēšana: 100% (142/142), darīts.

cd Adafruit_Python_DHT/

sudo apt-get update sudo apt-get install build-essential python-dev python-openssl

ls

Jums vajadzētu redzēt - Adafruit_DHT piemēri ez_setup.py LICENCE README.md setup.py avots

cd Adafruit_DHT/

Jums vajadzētu redzēt -Beaglebone_Black.py common.py _init_.py platform_detect.py Raspberry_Pi_2.py Raspberry_Pi.py Test.py

sudo python setup.py instalēt

(Ņemiet vērā, ja apiet šo darbību, iespējams, redzēsit kļūdu - Traceback (pēdējais zvans):

Fails "./AdafruitDHT.py", 24. rinda, importējot Adafruit_DHT ImportError: Nav moduļa ar nosaukumu Adafruit_DHT)

cd piemēri

sudo./AdafruitDHT.py 11 22 (11 = DHT11 un 22 = GPIO22, ko izvēlējāties iepriekš)

Jums vajadzētu redzēt Temperatūra = 18,0* Mitrums = 46,0% (t.i., apkārtējās vides temperatūra un mitrums)

4. darbība: ko darīt ar izvadi

Tātad, kā mēs redzējām, izvade ir "Temp = 18,0* Mitrums = 46,0%"

Ir vairāki veidi, kā izmantot šo outpu, piemēram, izmantojot šo testa php failu, test_dht11.php failu

Pirmkārt, es pārvietoju skriptu AdafruitDHT.py uz/var/www/.

Lai pārbaudītu un palaistu php skriptu, nomainiet uz /var /www un pēc tam sudo php test_dht11.php

Rezultātā tiek parādīti divi skaitļi, kas apzīmē temperatūru un mitrumu. Šos skaitļus var ierakstīt datu bāzē vai salīdzināt ar brīdinājuma ierobežojumiem un nosūtīt brīdinājumu utt

// <? php // atceliet iepriekš minētās rindiņas komentārus - instrukcijām nepatīk php start komanda //test_dht11.php

// izpilda python failu, lai nolasītu DHT11 temperatūras sensoru

// un iegūst temperatūras un mitruma vērtības $ temperatūra = 0; $ mitrums = 0; $ my_pos = 0; $ exec_msg = "sudo /var/www/AdafruitDHT.py 11 22 2> & 1"; $ test = shell_exec ($ exec_msg); // izraksta temperatūru $ my_pos = strpos ($ test, "Temp =", 0); $ temperatūra = apakšstruktūra ($ tests, $ my_pos+5, 4); echo "\ n". $ temperatūra; // izvelk mitrumu $ my_pos = strpos ($ test, "Mitrums =", $ my_pos); $ mitrums = apakšstruktūra ($ tests, $ my_pos+9, 4); echo "\ n". $ mitrums; ?>

Ieteicams: