Სარჩევი:
- ნაბიჯი 1: აპარატურის მომზადება
- ნაბიჯი 2: SSH- ის ჩართვა
- ნაბიჯი 3: დააინსტალირეთ Cloud4RPi
- ნაბიჯი 4: სენსორის დაკავშირება
- ნაბიჯი 5: სენსორული მონაცემების გაგზავნა ღრუბელში
- ნაბიჯი 6: დიაგრამები და სიგნალიზაცია
ვიდეო: ტემპერატურისა და ტენიანობის მონიტორინგი ჟოლოს პი: 6 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
ზაფხული მოდის და ის, ვინც კონდიციონერის გარეშეა, მზად უნდა იყოს ატმოსფეროს ხელით გასაკონტროლებლად. ამ პოსტში მე აღწერს თანამედროვე გზას ადამიანის კომფორტისთვის ყველაზე მნიშვნელოვანი პარამეტრების გაზომვის: ტემპერატურა და ტენიანობა. ეს შეგროვებული მონაცემები იგზავნება ღრუბელში და დამუშავებულია იქ.
მე ვიყენებ Raspberry Pi 1 დაფს და 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 და დენის კაბელები და გარკვეული პერიოდის შემდეგ, ჩემმა როუტერმა დაარეგისტრირა ახალი მოწყობილობა.
ნაბიჯი 2: SSH- ის ჩართვა
SSH ნაგულისხმევად გამორთულია. მე შემიძლია გამოვიყენო UART-USB კონვერტორი ან უბრალოდ შევაერთო ეკრანი გარსზე წვდომისათვის და SSH ჩართვისთვის.
გადატვირთვის შემდეგ, მე საბოლოოდ შევედი. პირველ რიგში, პირველ რიგში, განვაახლოთ:
sudo apt განახლება && sudo apt განახლება -y
ახლა მოდით დავუკავშიროთ ეს ახალი მოწყობილობა ღრუბელს.
ნაბიჯი 3: დააინსტალირეთ Cloud4RPi
მე გადავწყვიტე გამოვცადო ღრუბლოვანი პლატფორმა სახელწოდებით Cloud4RPi, რომელიც განკუთვნილია IoT– სთვის.
დოკუმენტების თანახმად, ჩვენ გვჭირდება შემდეგი პაკეტები მის გასაშვებად:
sudo apt დააინსტალირეთ git python python -pip -y
კლიენტის ბიბლიოთეკა შეიძლება დამონტაჟდეს ერთ ბრძანებაში:
sudo pip დააინსტალირეთ cloud4rpi
ახლა ჩვენ გვჭირდება კოდის ნიმუში, რომ უზრუნველვყოთ მისი მუშაობა.
git clone https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python git clone https://gist.github.com/f8327a1ef09ceb1ef142fa68701270de.git მინიმალური && rmdir -re
მე გადავწყვიტე გაშვება minimal.py, მაგრამ მე არ მომწონს ყალბი მონაცემები. საბედნიეროდ, მე შევამჩნიე მარტივი გზა ამ მაგალითში დიაგნოსტიკური მონაცემების რეალურობის ასამაღლებლად. კიდევ ერთი იმპორტის დამატება იმპორტის განყოფილებაში:
rpi იმპორტიდან *
შემდეგ წაშალეთ ეს ფუნქციები, რომლებიც უზრუნველყოფენ ყალბი მონაცემებს (rpi.py განსაზღვრავს მათ ახლა):
def cpu_temp ():
დაბრუნება 70 def ip_address (): return '8.8.8.8' def host_name (): return 'hostname' def os_name (): return 'osx'
ახლა ჩვენ გვჭირდება ნიშანი, რომელიც საშუალებას აძლევს Cloud4RPi დააკავშიროს მოწყობილობები ანგარიშებთან. ერთი რომ მიიღოთ, შექმენით ანგარიში cloud4rpi.io– ზე და დააჭირეთ ამ გვერდზე ახალ მოწყობილობის ღილაკს. შეცვალეთ _YOUR_DEVICE_TOKEN_ სტრიქონი minimal.py ფაილში თქვენი მოწყობილობის ჟეტონის საშუალებით და შეინახეთ ფაილი. ახლა ჩვენ მზად ვართ პირველი გაშვებისთვის.
პითონი მინიმალური. py
გახსენით მოწყობილობის გვერდი და შეამოწმეთ, რომ მონაცემები იქ არის.
ახლა მოდით გადავიდეთ რეალურ მონაცემებზე.
ნაბიჯი 4: სენსორის დაკავშირება
ჩვენ დაგვჭირდება:
- ტენიანობის სენსორი 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…. 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), უნდა იცოდეთ, რომ ეს არის ტენიანობა პროცენტებში და ტემპერატურა ცელსიუსში.
ახლა, შევიკრიბოთ ყველაფერი ერთად!
ნაბიჯი 5: სენსორული მონაცემების გაგზავნა ღრუბელში
მე გამოვიყენებ minimal.py როგორც ბაზას და მასში დავამატებ DHT22 ურთიერთქმედებას.
cd cloud4rpi-raspberrypi-python
cp minimal.py/cloud_dht22.py cp rpi.py/rpi.py cd vi cloud_dht22.py
ვინაიდან DHT22 აბრუნებს როგორც ტემპერატურას, ასევე ტენიანობას ერთ ზარში, მე ვნახავ მათ გლობალურად და მხოლოდ ერთხელ ვაახლებ თხოვნაში, ვარაუდობენ, რომ მათ შორის შეფერხება 10 წამზე მეტია. განვიხილოთ შემდეგი კოდი, რომელიც იძენს DHT22 მონაცემებს:
იმპორტი Adafruit_DHT
temp, hum = არცერთი, არცერთი last_update = time.time () - 20 def update_data (): global 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 () დაბრუნების რაუნდი (temp, 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 ':' რიცხვითი ',' სავალდებულო ': cpu_temp}}
დააჭირეთ წითელ ღილაკს მონაცემთა გადაცემის დასაწყებად:
პითონის cloud_dht22.py
ამის შემდეგ შეგიძლიათ შეამოწმოთ მოწყობილობის გვერდი.
თქვენ შეგიძლიათ დატოვოთ ის, როგორც არის, მაგრამ მე მირჩევნია ყველაფერზე მქონდეს მომსახურება. ეს უზრუნველყოფს, რომ სკრიპტი ყოველთვის მუშაობს. სერვისის შექმნა სრულად ავტომატიზირებული სკრიპტით:
wget -O https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python/blob/master/service_install.sh | sudo bash -s cloud_dht22.py
სამსახურის დაწყება:
sudo სერვისის დაწყება cloud4rpi
და შეამოწმე:
pi@raspberrypi: su $ sudo სერვისი cloud4rpi სტატუსი -l
● cloud4rpi.service-Cloud4RPi daemon დატვირთული: დატვირთული (/lib/systemd/system/cloud4rpi.service; ჩართულია) აქტიური: აქტიური (გაშვებული) ოთხშაბათიდან 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/messages: {'type': 'config', 'ts': '2017-05-17T20… y'}]} 17 მაისი 20:22:53 raspberrypi python [560]: iot-hub/შეტყობინებების გამოქვეყნება: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17 მაისი 20:22:53 raspberrypi python [560]: iot-hub/შეტყობინებების გამოქვეყნება: {'type': 'system', 'ts': '2017-05-17T20….4'}}
თუ ყველაფერი მუშაობს ისე, როგორც მოსალოდნელი იყო, ჩვენ შეგვიძლია გავაგრძელოთ და გამოვიყენოთ Cloud4RPi პლატფორმის შესაძლებლობები მონაცემებით მანიპულირებისთვის.
ნაბიჯი 6: დიაგრამები და სიგნალიზაცია
უპირველეს ყოვლისა, მოდით დავხატოთ ცვლადები, რომ ნახოთ როგორ შეიცვლება ისინი. ეს შეიძლება გაკეთდეს ახალი პანელის დამატებით და მასში ჩარტების შეყვანით.
კიდევ ერთი რამ, რისი გაკეთებაც ჩვენ შეგვიძლია აქ არის გაფრთხილების დაყენება. ეს ფუნქცია საშუალებას გაძლევთ დააკონფიგურიროთ ცვლადის უსაფრთხო დიაპაზონი. როგორც კი დიაპაზონი გადააჭარბებს, ის აგზავნის ელ.ფოსტის შეტყობინებას. საკონტროლო პანელის რედაქტირების გვერდზე შეგიძლიათ გადახვიდეთ შეტყობინებებზე და დააყენოთ ერთი.
ამის შემდეგ, ჩემს ოთახში ტენიანობა სწრაფად შემცირდა ყოველგვარი შესამჩნევი მიზეზის გარეშე და განგაში მალევე მოჰყვა.
თქვენ შეგიძლიათ გამოიყენოთ Cloud4RPi უფასოდ ნებისმიერი აპარატურით, რომელსაც შეუძლია Python- ის შესრულება. რაც შეეხება ჩემთვის, ახლა მე ყოველთვის ვიცი როდის ჩავრთო ჰაერის დამატენიანებელი და შემიძლია მასაც კი დავუკავშირო დისტანციური მართვის სარელეო Cloud4RPi- ს საშუალებით. ვემზადები სიცხისთვის! Კეთილი იყოს შენი მობრძანება ზაფხულო!
გირჩევთ:
ტემპერატურისა და ტენიანობის მონიტორინგი NODE MCU AND BLYNK– ის გამოყენებით: 5 ნაბიჯი
ტემპერატურისა და ტენიანობის მონიტორინგი NODE MCU AND BLYNK– ის გამოყენებით: გამარჯობა ბიჭებო, ამ ინსტრუქციებში მოდით ვისწავლოთ როგორ მივიღოთ ატმოსფეროს ტემპერატურა და ტენიანობა DHT11– ტემპერატურისა და ტენიანობის სენსორის გამოყენებით Node MCU და BLYNK აპლიკაციის გამოყენებით
DHT ტემპერატურისა და ტენიანობის მონიტორინგი ESP8266 და AskSensors IoT პლატფორმის გამოყენებით: 8 ნაბიჯი
DHT ტემპერატურისა და ტენიანობის მონიტორინგი ESP8266 და AskSensors IoT პლატფორმის გამოყენებით: წინა სასწავლო ინსტრუქციაში მე წარმოვადგინე ეტაპობრივი სახელმძღვანელო ESP8266 nodeMCU და AskSensors IoT პლატფორმის დასაწყებად. ამ გაკვეთილში მე DHT11 სენსორს ვუკავშირებ კვანძამდე MCU. DHT11 არის ჩვეულებრივ გამოყენებული ტემპერატურა და ტენიანი
ტემპერატურისა და ტენიანობის მონიტორინგი ESP-01 & DHT და AskSensors Cloud გამოყენებით: 8 ნაბიჯი
ტემპერატურისა და ტენიანობის მონიტორინგი ESP-01 & DHT და AskSensors Cloud გამოყენებით: ამ სასწავლო ინსტრუქციაში ჩვენ ვისწავლით თუ როგორ უნდა მონიტორინგს ტემპერატურა და ტენიანობა გაზომვები IOT-MCU/ESP-01-DHT11 დაფისა და AskSensors IoT პლატფორმის გამოყენებით. . მე ვირჩევ IOT-MCU ESP-01-DHT11 მოდულს ამ პროგრამისთვის, რადგან ის
ტემპერატურისა და ტენიანობის მონიტორინგი ბლინკის გამოყენებით: 6 ნაბიჯი
ტემპერატურისა და ტენიანობის მონიტორინგი ბლინკის გამოყენებით: ამ სახელმძღვანელოში ჩვენ ვაპირებთ ტემპერატურისა და ტენიანობის მონიტორინგს DHT11– ის გამოყენებით და მონაცემებს ვაგზავნით ღრუბელში Blynk– ის გამოყენებით ამ გაკვეთილისთვის საჭირო კომპონენტები: Arduino UnoDHT11 ტემპერატურისა და ტენიანობის სენსორი
ტემპერატურისა და ტენიანობის მონიტორინგი SHT25 და ჟოლოს Pi გამოყენებით: 5 ნაბიჯი
ტემპერატურისა და ტენიანობის მონიტორინგი SHT25 და Raspberry Pi– ს გამოყენებით: ჩვენ ახლახანს ვიმუშავეთ სხვადასხვა პროექტზე, რომელიც მოითხოვდა ტემპერატურისა და ტენიანობის მონიტორინგს და შემდეგ მივხვდით, რომ ეს ორი პარამეტრი ფაქტობრივად გადამწყვეტ როლს ასრულებს სისტემის მუშაობის ეფექტურობის შეფასებაში. ორივე ინდუსტრიაში