Სარჩევი:

ჟოლო Pi / DHT11 - გაზომეთ ტენიანობა და ტემპერატურა: 4 ნაბიჯი
ჟოლო Pi / DHT11 - გაზომეთ ტენიანობა და ტემპერატურა: 4 ნაბიჯი

ვიდეო: ჟოლო Pi / DHT11 - გაზომეთ ტენიანობა და ტემპერატურა: 4 ნაბიჯი

ვიდეო: ჟოლო Pi / DHT11 - გაზომეთ ტენიანობა და ტემპერატურა: 4 ნაბიჯი
ვიდეო: ჟირაფი ჟოზე - ექიმობანა (სერია 7 | სეზონი 2) 2024, ივლისი
Anonim
ჟოლო Pi / DHT11 - გაზომეთ ტენიანობა და ტემპერატურა
ჟოლო Pi / DHT11 - გაზომეთ ტენიანობა და ტემპერატურა

მინდოდა გაზომვა ტემპერატურა და ტენიანობა ჩემი Raspberry Pi– ს გამოყენებით. მე ავირჩიე DHT11 სენსორი, რადგან ის არის ძლიერი და იაფი. მისი კონფიგურაცია ასევე კარგად არის დოკუმენტირებული, მაგრამ გზაზე არის რამოდენიმე ნაკლი, რომელზეც მსურს გავამახვილო ყურადღება.

DHT11– ს აქვს 4 პინი. ყველაზე მარცხნივ არის Vcc ან დადებითი (+) პინი, რომელიც დაკავშირებულია Raspberry Pi 3.3V პინთან. მომდევნო პინი არის მონაცემთა პინი, რომელიც უნდა იყოს დაკავშირებული Raspberry Pi– ის GPIO პინთან. ეს ორი ქინძისთავები უნდა იყოს დაკავშირებული 4.7K რეზისტორის გამოყენებით.

მე -3 პინი მარცხნიდან არ გამოიყენება. მარჯვენა და მეოთხე პინი არის დაფქვილი ან უარყოფითი პინი, რომელიც უნდა იყოს დაკავშირებული Raspberry Pi- ს ერთ – ერთ გრუნტის ქინძისთავთან.

ნაბიჯი 1: საჭირო კომპონენტები

კომპონენტები საჭირო
კომპონენტები საჭირო

1. ჟოლო პი

2. DHT11

3. 4.7k რეზისტორი

4. სხვადასხვა პურის დაფის მავთულები

5. პურის დაფა

ნაბიჯი 2: ნივთების დაკავშირება

ნივთების დაკავშირება
ნივთების დაკავშირება
ნივთების დაკავშირება
ნივთების დაკავშირება

დააკავშირეთ Raspberry Pi და DHT11 შემდეგნაირად:

DHT11 (+ პინი) RaspberryPi (3.3V პინი)

DHT11 (მონაცემთა პინი) RaspberryPi (GPIO pin - მე ვიყენებ GPIO22)

DHT11 (მე -3 პინი) კავშირი არ არის

DHT11 (-pin) ------ ჟოლო Pi (gnd pin)

ნაბიჯი 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 განახლება sudo apt-get ინსტალაცია 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 რომელიც ადრე შეარჩიეთ)

თქვენ უნდა ნახოთ Temp = 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 // კომენტირება ზემოაღნიშნულ ხაზზე - ინსტრუქციებს არ მოსწონთ php დაწყების ბრძანება //test_dht11.php

// ასრულებს პითონის ფაილს DHT11 ტემპერატურის სენსორის წასაკითხად

// და ამოიღებს ტემპერატურისა და ტენიანობის მნიშვნელობებს $ temperature = 0; $ ტენიანობა = 0; $ my_pos = 0; $ exec_msg = "sudo /var/www/AdafruitDHT.py 11 22 2> & 1"; $ ტესტი = shell_exec ($ exec_msg); // ამონაწერი ტემპერატურა $ my_pos = strpos ($ ტესტი, "Temp =", 0); $ ტემპერატურა = substr ($ ტესტი, $ my_pos+5, 4); ექო "\ n". $ ტემპერატურა; // ამოიღებს ტენიანობას $ my_pos = strpos ($ ტესტი, "ტენიანობა =", $ my_pos); $ ტენიანობა = substr ($ ტესტი, $ my_pos+9, 4); ექო "\ n". $ ტენიანობა; ?>>

გირჩევთ: