Mündəricat:
- Addım 1: Avadanlıqların Hazırlanması
- Addım 2: SSH -nin aktivləşdirilməsi
- Addım 3: Cloud4RPi quraşdırın
- Addım 4: Sensoru bağlayın
- Addım 5: Sensor Oxumalarını Buluda Göndərin
- Addım 6: Qrafiklər və Siqnallar
Video: Raspberry Pi istifadə edərək temperatur və rütubətin monitorinqi: 6 addım (şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
Yaz gəlir və kondisioneri olmayanlar, qapalı havanı əl ilə idarə etməyə hazır olmalıdırlar. Bu yazıda insan rahatlığı üçün ən vacib parametrləri ölçməyin müasir üsulunu təsvir edirəm: temperatur və rütubət. Bu toplanan məlumatlar buluda göndərilir və orada işlənir.
Raspberry Pi 1 lövhəsi və DHT22 sensoru istifadə edirəm. Eyni şeyi İnternet, GPIO və Python olan hər hansı bir kompüterdə edə bilərsiniz. Daha ucuz DHT11 sensoru da yaxşı işləyir.
Addım 1: Avadanlıqların Hazırlanması
Raspberry Pi -ni uzun müddət istifadə etmədiyim üçün əvvəldən başlayaq.
Bizə lazım olacaq:
- Raspberry Pi lövhəsi (və ya digər IoT yönümlü platforma).
- SD və ya microSD kartı (platformadan asılı olaraq).
- Mikro USB vasitəsilə 5V/1A.
- İnternet bağlantısı təmin edən LAN kabeli.
- HDMI ekranı, RCA ekranı və ya UART portu (SSH -ni aktivləşdirmək üçün).
İlk addım Raspbian yükləməkdir. Ekran əvəzinə SSH istifadə edəcəyim üçün Lite versiyasını seçdim, son dəfə etdiyim vaxtdan bəri işlər dəyişdi: indi mükəmməl işləyən və təəccüblü bir dizaynı olan Etcher adlı böyük bir yanan proqram var..
Şəkil yazma tamamlandıqdan sonra SD kartı Pi -yə daxil etdim, LAN və elektrik kabellərini bağladım və bir müddət sonra routerim yeni cihazı qeyd etdi.
Addım 2: SSH -nin aktivləşdirilməsi
SSH standart olaraq deaktivdir. Ya UART-USB çeviricisini istifadə edə bilərəm, ya da qabığa daxil olmaq və SSH-ni aktivləşdirmək üçün sadəcə bir ekran bağlaya bilərəm.
Yenidən başladıqdan sonra nəhayət içəri girirəm. Əvvəlcə hər şeyi yeniləyək:
sudo apt update && sudo apt upgrade -y
İndi bu təzə cihazı Buluda bağlayaq.
Addım 3: Cloud4RPi quraşdırın
IoT üçün hazırlanmış Cloud4RPi adlı bulud platformasını sınamağa qərar verdim.
Sənədlərə görə, onu işə salmaq üçün aşağıdakı paketlərə ehtiyacımız var:
sudo apt install git python python -pip -y
Müştəri kitabxanası tək bir əmrlə quraşdırıla bilər:
sudo pip cloud4rpi quraşdırın
İndi işlədiyini təmin etmək üçün bir nümunə koda ehtiyacımız var.
git clone https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python https://gist.github.com/f8327a1ef09ceb1ef142fa68701270de.git e && mv e/mv e/m && rmdir -re
Minimal.py işləməyə qərar verdim, amma saxta məlumatları sevmirəm. Xoşbəxtlikdən, bu nümunədə diaqnostik məlumatları gerçəkləşdirməyin asan bir yolunu gördüm. İdxal bölməsinə daha bir idxal əlavə edin:
rpi idxalından *
Sonra saxta məlumat verən bu funksiyaları silin (rpi.py onları indi müəyyən edir):
def cpu_temp ():
return 70 def ip_address (): return '8.8.8.8' def host_name (): return 'hostname' def os_name (): return 'osx'
İndi Cloud4RPi -nin cihazları hesablarla əlaqələndirməsinə imkan verən bir mö'cüzəyə ehtiyacımız var. Birini əldə etmək üçün cloud4rpi.io saytında bir hesab yaradın və bu səhifədəki Yeni Cihaz düyməsini vurun. Minimal.py sənədindəki _YOUR_DEVICE_TOKEN_ sətrini cihazınızın işarəsi ilə əvəz edin və faylı qeyd edin. İndi ilk buraxılışa hazırıq.
python minimal.py
Cihaz səhifəsini açın və məlumatların orada olub olmadığını yoxlayın.
İndi real dünya məlumatlarına keçək.
Addım 4: Sensoru bağlayın
Bizə lazım olacaq:
- DHT22 və ya DHT11 rütubət sensoru
- Çəkmə müqaviməti (5-10 KΩ)
- Tellər
DHT22 sensoru eyni zamanda temperatur və rütubəti ölçür. Rabitə protokolu standart deyil, buna görə də onu raspi -config -də aktivləşdirməyimizə ehtiyac yoxdur - sadə bir GPIO pin kifayət qədərdir.
Məlumat əldə etmək üçün DHT sensorlar üçün Adafruit -in böyük kitabxanasından istifadə edəcəyəm, amma olduğu kimi işləməyə bilər. Bir dəfə kodumda aparatım üçün işləməyən qəribə daimi bir gecikmə tapdım və iki ildən sonra çəkmə tələbim hələ də gözləyir. BCM2835 ilə olan Raspberry Pi 1, Raspberry Pi 3 olaraq təəccüblü şəkildə aşkar edildiyi üçün lövhənin aşkar sabitlərini də dəyişdim. Doğru olmasını istərdim … Buna görə də çəngəlimi istifadə etməyi məsləhət görürəm. Bununla bağlı hər hansı bir problemlə qarşılaşsanız, zəhmət olmasa orijinal anbarı sınayın, bəlkə kimsə üçün işləyir, amma mən onlardan deyiləm.
git klonu https://github.com/Himura2la/Adafruit_Python_DHT…. Adafruit_Python_DHT
Kitabxana C dilində yazıldığı üçün tərtib edilməsini tələb edir, buna görə də build-essential və python-dev paketlərinə ehtiyacınız var.
sudo apt install build-essential python-dev -ysudo python setup.py install
Paketlər quraşdırılarkən, şəkildə göstərildiyi kimi DHT22 -ni bağlayın.
Və sınayın:
cd ~ python -c "Adafruit_DHT'yi d olaraq idxal edin; d.read_retry çap edin (d. DHT22, 4)"
(39.20000076293945, 22.600000381469727) kimi bir şey görürsənsə, bilməlisən ki, bu, Selsi üzrə faizlərdəki rütubət və temperaturdur.
İndi hər şeyi birlikdə yığaq!
Addım 5: Sensor Oxumalarını Buluda Göndərin
Minimal.py -ni əsas olaraq istifadə edəcəyəm və ona DHT22 qarşılıqlı əlaqəsini əlavə edəcəyəm.
cd cloud4rpi-raspberrypi-python
cp minimal.py ~/cloud_dht22.py cp rpi.py ~/rpi.py cd vi cloud_dht22.py
DHT22 həm istiliyi, həm də rütubəti tək bir zənglə geri qaytardığından, onları dünya miqyasında saxlayıram və aralarındakı gecikmənin 10 saniyədən çox olduğunu nəzərə alaraq istəkdə yalnız bir dəfə yeniləyirəm. DHT22 məlumatlarını əldə edən aşağıdakı kodu nəzərdən keçirin:
Adafruit_DHT idxal edin
temp, hum = None, None 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 () geri dönmə (temp, 2) temp başqa deyilsə yox Başqa heç bir yox
Mövcud idxaldan sonra bu kodu daxil edin və dəyişənlər hissəsini yeni funksiyalardan istifadə etmək üçün redaktə edin:
dəyişənlər = {
'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 Nem': {'type': 'numeric', 'bind': get_h}, 'CPU Temp': {'type ':' sayısal ',' bağla ': cpu_temp}}
Məlumat ötürülməsinə başlamaq üçün qırmızı düyməni basın:
python bulud_dht22.py
Sonra cihaz səhifəsini yoxlaya bilərsiniz.
Olduğu kimi tərk edə bilərsiniz, amma hər şey üçün bir xidmətə sahib olmağı üstün tuturam. Bu, skriptin daim işlədiyini təmin edir. Tam avtomatlaşdırılmış skriptlə bir xidmət yaratmaq:
wget -O https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python/blob/master/service_install.sh | sudo bash -s cloud_dht22.py
Xidmətə başlamaq:
sudo xidməti cloud4rpi işə salın
Və yoxlayır:
pi@raspberrypi: ~ $ sudo xidməti cloud4rpi status -l
● cloud4rpi.service-Cloud4RPi daemon Yükləndi: yükləndi (/lib/systemd/system/cloud4rpi.service; aktiv) Aktiv: aktivdir (çalışır) Çərşənbə 2017-05-17 20:22:48 UTC; 1 dəqiqə əvvəl Əsas PID: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560/usr/bin/python /home/pi/cloud_dht22.pyMay 17 May 20:22:51 raspberrypi python [560]: Yayın nəşri -hub/mesajlar: {'type': 'config', 'ts': '2017-05-17T20… y'}]} 17 May 20:22:53 raspberrypi python [560]: iot-hub/mesajların dərc edilməsi: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17 May 20:22:53 raspberrypi python [560]: iot-hub/mesajların dərc edilməsi: {'type': 'sistem', 'ts': '2017-05-17T20….4'}}
Hər şey gözlənildiyi kimi işləyirsə, məlumatları idarə etmək üçün Cloud4RPi platformasının imkanlarından istifadə edə bilərik.
Addım 6: Qrafiklər və Siqnallar
Əvvəlcə dəyişənlərin necə dəyişdiyini görmək üçün plan quraq. Bu, yeni bir İdarəetmə Paneli əlavə etmək və lazımi diaqramları daxil etməklə edilə bilər.
Burada edə biləcəyimiz başqa bir şey bir Xəbərdarlıq qurmaqdır. Bu xüsusiyyət bir dəyişən üçün təhlükəsiz aralığı konfiqurasiya etməyə imkan verir. Aralığı aşan kimi bir e -poçt bildirişi göndərir. İdarəetmə Paneli düzəliş səhifəsində, Xəbərdarlıqlara keçə və birini qura bilərsiniz.
Bundan dərhal sonra heç bir səbəb olmadan otağımdakı rütubət sürətlə azalmağa başladı və tezliklə həyəcan siqnalı gəldi.
Python -u icra edə bilən hər hansı bir aparatla Cloud4RPi -dən pulsuz istifadə edə bilərsiniz. Mənim üçün indi hava nəmləndiricisini nə vaxt açacağımı bilirəm və hətta Cloud4RPi vasitəsi ilə uzaqdan idarəetmə rölesinə qoşa bilərəm. İstiyə hazıram! Xoş gəldiniz, Yaz!
Tövsiyə:
NODE MCU VƏ BLYNK istifadə edərək temperatur və rütubətin monitorinqi: 5 addım
NODE MCU VƏ BLYNK-dən istifadə edərək temperatur və rütubətin monitorinqi: Salam uşaqlar Bu təlimatda Node MCU və BLYNK tətbiqindən istifadə edərək DHT11-Temperatur və Rütubət sensoru ilə atmosferin temperaturu və rütubətini necə əldə edəcəyimizi öyrənək
ESP8266 və AskSensors IoT Platformasından istifadə edərək DHT Temperatur və Rütubətin İzlənməsi: 8 Addım
ESP8266 və AskSensors IoT Platformasından istifadə edərək DHT Temperatur və Nəmlik Monitorinqi: Əvvəlki təlimatda, ESP8266 nodeMCU və AskSensors IoT platformasına başlamaq üçün addım -addım təlimat təqdim etdim. MCU düyünə. DHT11, tez -tez istifadə olunan bir temperatur və nəmdir
Blynk istifadə edərək temperatur və rütubətin monitorinqi: 6 addım
Blynk istifadə edərək temperatur və rütubətin monitorinqi: Bu dərsdə DHT11 istifadə edərək temperatur və rütubətin monitorinqi aparılacaq və bu təlimat üçün lazım olan Blynk komponentlərindən istifadə edərək məlumatları buludlara göndərəcəyik: Arduino UnoDHT11 Temperatur və Nəmlik Sensorları ESP8266-01 WiFi Modulu
SHT25 və Raspberry Pi istifadə edərək temperatur və rütubətin monitorinqi: 5 addım
SHT25 və Raspberry Pi ilə İstilik və Rütubətin İzlənməsi: Bu yaxınlarda temperatur və rütubət monitorinqi tələb edən müxtəlif layihələr üzərində çalışdıq və sonra bu iki parametrin bir sistemin iş səmərəliliyinin qiymətləndirilməsində əsas rol oynadığını anladıq. Hər ikisi induksiyada
HDC1000 və Raspberry Pi istifadə edərək temperatur və rütubətin ölçülməsi: 4 addım
HDC1000 və Raspberry Pi istifadə edərək temperatur və rütubətin ölçülməsi: HDC1000, çox aşağı gücdə əla ölçmə dəqiqliyi təmin edən inteqrasiya edilmiş temperatur sensoru olan rəqəmsal rütubət sensoru. Cihaz rütubəti yeni bir kapasitiv sensora əsaslanaraq ölçür. Rütubət və temperatur sensörləri