Სარჩევი:

ტენიანობა ღრუბელში: 5 ნაბიჯი
ტენიანობა ღრუბელში: 5 ნაბიჯი

ვიდეო: ტენიანობა ღრუბელში: 5 ნაბიჯი

ვიდეო: ტენიანობა ღრუბელში: 5 ნაბიჯი
ვიდეო: ორი ნაბიჯით შორს/FIVE FEET APART (ქართულად) 2024, ნოემბერი
Anonim
ტენიანობა ღრუბელში
ტენიანობა ღრუბელში

ზაფხული მოდის და ის, ვინც კონდიციონერის გარეშეა, მზად უნდა იყოს ატმოსფეროს ხელით გასაკონტროლებლად. ამ პოსტში მე აღწერს თანამედროვე გზას ადამიანის კომფორტისთვის ყველაზე მნიშვნელოვანი პარამეტრების გაზომვის: ტემპერატურა და ტენიანობა. ეს შეგროვებული მონაცემები იგზავნება ღრუბელში და დამუშავებულია იქ.

მარაგები

მე ვიყენებ ჟოლოს დაფს და DHT22 სენსორს. იგივე შეგიძლიათ გააკეთოთ ნებისმიერ კომპიუტერზე, რომელსაც აქვს ინტერნეტი, GPIO და პითონი. იაფი DHT11 სენსორიც კარგად მუშაობს.

ნაბიჯი 1: აპარატურის მომზადება

აპარატურის მომზადება
აპარატურის მომზადება
აპარატურის მომზადება
აპარატურის მომზადება
აპარატურის მომზადება
აპარატურის მომზადება
აპარატურის მომზადება
აპარატურის მომზადება

დავიწყოთ თავიდანვე, რადგან მე არ გამოვიყენე ჩემი Raspberry Pi საკმაოდ დიდი ხნის განმავლობაში.

ჩვენ დაგვჭირდება:

  • Raspberry Pi დაფა (ან სხვა IoT ორიენტირებული პლატფორმა).
  • SD ან microSD ბარათი (დამოკიდებულია პლატფორმაზე).
  • 5V/1A მიკრო USB. LAN კაბელის საშუალებით, რომელიც უზრუნველყოფს ინტერნეტ კავშირს.
  • HDMI დისპლეი, RCA დისპლეი ან UART პორტი (SSH- ის გასააქტიურებლად).

პირველი ნაბიჯი არის Raspbian– ის ჩამოტვირთვა. მე ავირჩიე Lite ვერსია, რადგან ვაპირებ გამოვიყენო SSH დისპლეის ნაცვლად.

ყველაფერი შეიცვალა მას შემდეგ, რაც მე ეს გავაკეთე: ახლა არის დიდი დამწვარი პროგრამა, რომელსაც ეწოდება Etcher, რომელიც მშვენივრად მუშაობს და აქვს განსაცვიფრებელი დიზაინი.

სურათის დაწვის დასრულების შემდეგ, ჩავწერე SD ბარათი ჩემს Pi- ში, ჩავრთე LAN და დენის კაბელები და გარკვეული პერიოდის შემდეგ, ჩემმა როუტერმა დაარეგისტრირა ახალი მოწყობილობა.

დიდი! მოდით გავაგრძელოთ და SSH მასში.

უსაფრთხოება ნორმალურია, მე მომწონს, მაგრამ ეს საქმეს ცოტა ართულებს. მე გამოვიყენებ UART-USB ადაპტერს გარსზე წვდომისთვის და SSH- ის გასააქტიურებლად…

UART– ის ნაცვლად ჩვენების გამოყენება ამარტივებს მას.

გადატვირთვის შემდეგ, მე საბოლოოდ შევდივარ.

პირველ რიგში, განვაახლოთ:

sudo apt განახლება && sudo apt განახლება -y

ახლა მოდით დავუკავშიროთ ეს ახალი მოწყობილობა ღრუბელს.

ნაბიჯი 2: დააინსტალირეთ Cloud4RPi

Cloud4RPi ინსტალაცია
Cloud4RPi ინსტალაცია

მე გადავწყვიტე გამოვცადო ღრუბლოვანი პლატფორმა სახელწოდებით Cloud4RPi, რომელიც განკუთვნილია IoT– სთვის.

დოკუმენტების თანახმად, ჩვენ გვჭირდება შემდეგი პაკეტები მის გასაშვებად:

sudo apt დააინსტალირეთ git python3 python3 -pip -y

კლიენტის ბიბლიოთეკა შეიძლება დამონტაჟდეს ერთ ბრძანებაში:

sudo pip3 დააინსტალირეთ cloud4rpi

ახლა ჩვენ გვჭირდება კოდის ნიმუში.

git კლონი https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python

შესრულებადი სკრიპტი არის control.py.

ჩვენ გვჭირდება ნიშანი, რომელიც Cloud4RPi- ს საშუალებას აძლევს დააკავშიროს მოწყობილობები ანგარიშებთან. ერთი რომ მიიღოთ, შექმენით ანგარიში cloud4rpi.io– ზე და დააჭირეთ ამ გვერდზე ახალ მოწყობილობის ღილაკს. შეცვალეთ _YOUR_DEVICE_TOKEN_ სტრიქონი control.py ფაილში თქვენი მოწყობილობის ნიშნით და შეინახეთ ფაილი. ახლა ჩვენ მზად ვართ პირველი გაშვებისთვის.

sudo python3 control.py

გახსენით მოწყობილობის გვერდი და შეამოწმეთ, რომ მონაცემები იქ არის.

ახლა მოდით გადავიდეთ რეალურ მონაცემებზე.

ნაბიჯი 3: სენსორის დაკავშირება

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

ჩვენ დაგვჭირდება:

  • ტენიანობის სენსორი DHT22 ან DHT11
  • გამწევი რეზისტორი (5-10 KΩ)
  • მავთულები

DHT22 სენსორი ერთდროულად ზომავს ტემპერატურასა და ტენიანობას. საკომუნიკაციო პროტოკოლი არ არის სტანდარტიზებული, ამიტომ ჩვენ არ გვჭირდება მისი ჩართვა raspi -config - მარტივი GPIO pin საკმარისზე მეტია.

მონაცემების მოსაპოვებლად, მე გამოვიყენებ ადაფრუტის დიდ ბიბლიოთეკას DHT სენსორებისთვის, მაგრამ ის შეიძლება არ იმუშაოს ისე, როგორც არის. ერთხელ აღმოვაჩინე უცნაური მუდმივი შეფერხება კოდში, რომელიც არ მუშაობდა ჩემს აპარატურაზე, და ორი წლის შემდეგ ჩემი გაყვანის მოთხოვნა ჯერ კიდევ არ არის გათვალისწინებული. მე ასევე შევცვალე დაფის გამოვლენის მუდმივები, რადგან ჩემი Raspberry Pi 1 BCM2835 საოცრად გამოვლინდა როგორც Raspberry Pi 3. ვისურვებდი რომ ეს სიმართლე ყოფილიყო… ამრიგად, მე გირჩევთ გამოიყენოთ ჩემი ჩანგალი. თუ რაიმე პრობლემა შეგექმნებათ, გთხოვთ სცადოთ ორიგინალური საცავი, იქნებ ის ვინმესთვის მუშაობს, მაგრამ მე არ ვარ მათ შორის.

git კლონი https://github.com/Himura2la/Adafruit_Python_DHT.gitcd Adafruit_Python_DHT

როგორც ბიბლიოთეკა დაწერილია C- ში, ის მოითხოვს შედგენას, ასე რომ თქვენ გჭირდებათ მშენებლობის აუცილებელი და პითონ-დევის პაკეტები.

sudo apt install build-essential python-dev -ysudo python setup.py install

სანამ პაკეტები დამონტაჟებულია, დაუკავშირეთ DHT22, როგორც ეს მოცემულია სურათზე.

და გამოსცადე:

cd -python -c "Adafruit_DHT როგორც d; დაბეჭდე d.read_retry (d. DHT22, 4)"

თუ ხედავთ მსგავსს (39.20000076293945, 22.600000381469727), უნდა იცოდეთ, რომ ეს არის ტენიანობა პროცენტებში და ტემპერატურა ცელსიუსში.

ახლა, შევიკრიბოთ ყველაფერი ერთად!

ნაბიჯი 4: სენსორული მონაცემების გაგზავნა ღრუბელში

სენსორული კითხვების გაგზავნა ღრუბელში
სენსორული კითხვების გაგზავნა ღრუბელში
სენსორული კითხვების გაგზავნა ღრუბელში
სენსორული კითხვების გაგზავნა ღრუბელში

მე გამოვიყენებ control.py როგორც ბაზას და მასში დავამატებ DHT22 ურთიერთქმედებას.

cp cloud4rpi-raspberrypi-python/control.py./cloud_dht22.pycp cloud4rpi-raspberrypi-python/rpi.py./rpi.pyvi cloud_dht22.py

ამოიღეთ კოდის ნიმუში, როგორც ზემოთ მოცემულ სურათზე.

რადგან DHT22 დააბრუნებს როგორც ტემპერატურას, ასევე ტენიანობას ერთ ზარში, მე ვაპირებ მათ გლობალურად შენახვას და მხოლოდ ერთხელ განვაახლებ მოთხოვნას, თუ ვარაუდობენ, რომ მათ შორის შეფერხება 10 წამზე მეტია. განვიხილოთ შემდეგი კოდი, რომელიც იძენს DHT22 მონაცემებს:

იმპორტი Adafruit_DHT

temp, hum = არცერთი, არცერთი

last_update = დრო. დრო () - 20

def update_data ():

გლობალური last_update, hum, temp if time.time () - last_update> 10: hum, temp = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22, 4) last_update = time.time ()

def get_t ():

update_data () დაბრუნების რაუნდი (ტემპი, 2) თუ ტემპერატურა არ არის სხვა არავინ def get_h (): update_data () დაბრუნების რაუნდი (hum, 2) თუ hum არ არის სხვა არავინ

ჩადეთ ეს კოდი არსებული იმპორტის შემდეგ და შეცვალეთ ცვლადების განყოფილება, რათა ის გამოიყენოს ახალი ფუნქციები:

ცვლადები = {'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 Humidity': {'type': 'numeric', 'bind': get_h}, 'CPU Temp': {'type': 'numeric', 'bind': cpu_temp}}

თუ აღმოაჩენთ, რომ მანიპულაციები დამაბნეველია, აითვისეთ ამ ფაილის საბოლოო ვერსია. დააჭირეთ მონაცემთა გადაცემის დასაწყებად წითელ ღილაკს:

ამის შემდეგ შეგიძლიათ შეამოწმოთ მოწყობილობის გვერდი.

python3 cloud_dht22.py

ამის შემდეგ შეგიძლიათ შეამოწმოთ მოწყობილობის გვერდი.

თქვენ შეგიძლიათ დატოვოთ ის, როგორც არის, მაგრამ მე მირჩევნია ყველაფერზე მქონდეს მომსახურება. ეს უზრუნველყოფს, რომ სკრიპტი ყოველთვის მუშაობს. სერვისის შექმნა სრულად ავტომატიზირებული სკრიპტით, რომელიც თქვენ უკვე გაქვთ cloud4rpi-raspberrypi-python დირექტორიაში:

service_install.sh cloud_dht22.py

სამსახურის დაწყება:

sudo სერვისის დაწყება cloud4rpi

და შეამოწმე:

pi@raspberrypi: ~ $ sudo service cloud4rpi status -l ● cloud4rpi.service -Cloud4RPi daemon Loaded: loaded (/lib/systemd/system/cloud4rpi.service; enabled) აქტიური: აქტიური (გაშვებული) ოთხშაბათიდან 2017-05-17 20: 22: 48 UTC; 1 წუთის წინ მთავარი PID: 560 (პითონი) CGroup: /system.slice/cloud4rpi.service └─560/usr/bin/python /home/pi/cloud_dht22.py

17 მაისი 20:22:51 ჟოლოსფერი პითონი [560]: iot-hub/შეტყობინებების გამოქვეყნება: {'type': 'config', 'ts': '2017-05-17T20… y'}]}

17 მაისი 20:22:53 ჟოლოსფერი პითონი [560]: iot-hub/შეტყობინებების გამოქვეყნება: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17 მაისი 20 20: 22:53 raspberrypi python [560]: iot-hub/შეტყობინებების გამოქვეყნება: {'type': 'system', 'ts': '2017-05-17T20….4'}}

თუ ყველაფერი მუშაობს ისე, როგორც მოსალოდნელი იყო, ჩვენ შეგვიძლია გავაგრძელოთ და გამოვიყენოთ Cloud4RPi პლატფორმის შესაძლებლობები მონაცემებით მანიპულირებისთვის.

ნაბიჯი 5: დიაგრამები და სიგნალიზაცია

დიაგრამები და სიგნალიზაცია
დიაგრამები და სიგნალიზაცია
დიაგრამები და სიგნალიზაცია
დიაგრამები და სიგნალიზაცია
დიაგრამები და სიგნალიზაცია
დიაგრამები და სიგნალიზაცია

უპირველეს ყოვლისა, მოდით დავხატოთ ცვლადები, რომ ნახოთ როგორ შეიცვლება ისინი. ეს შეიძლება გაკეთდეს ახალი პანელის დამატებით და მასში ჩარტების შეყვანით.

კიდევ ერთი რამ, რისი გაკეთებაც ჩვენ შეგვიძლია აქ არის გაფრთხილების დაყენება. ეს ფუნქცია საშუალებას გაძლევთ დააკონფიგურიროთ ცვლადის უსაფრთხო დიაპაზონი. როგორც კი დიაპაზონი გადააჭარბებს, ის აგზავნის ელ.ფოსტის შეტყობინებას. საკონტროლო პანელის რედაქტირების გვერდზე შეგიძლიათ გადახვიდეთ შეტყობინებებზე და დააყენოთ ერთი.

ამის შემდეგ, ჩემს ოთახში ტენიანობა სწრაფად შემცირდა ყოველგვარი შესამჩნევი მიზეზის გარეშე და განგაში მალევე მოჰყვა.

თქვენ შეგიძლიათ გამოიყენოთ Cloud4RPi უფასოდ ნებისმიერი აპარატურით, რომელსაც შეუძლია Python- ის შესრულება. რაც შეეხება ჩემთვის, ახლა მე ყოველთვის ვიცი როდის ჩავრთო ჰაერის დამატენიანებელი და შემიძლია მასაც კი დავუკავშირო დისტანციური მართვის სარელეო Cloud4RPi- ს საშუალებით. ვემზადები სიცხისთვის! Კეთილი იყოს შენი მობრძანება ზაფხულო!

Cloud4RPi– ით შეგიძლიათ აკონტროლოთ თქვენი Raspberry Pi და სხვა IoT მოწყობილობები დისტანციურად რეალურ დროში. ეწვიეთ ჩვენს საიტს და შეუერთეთ შეუზღუდავი მოწყობილობები უფასოდ.

გირჩევთ: