Mündəricat:

Raspberry Pi istifadə edərək temperatur və rütubətin monitorinqi: 6 addım (şəkillərlə)
Raspberry Pi istifadə edərək temperatur və rütubətin monitorinqi: 6 addım (şəkillərlə)

Video: Raspberry Pi istifadə edərək temperatur və rütubətin monitorinqi: 6 addım (şəkillərlə)

Video: Raspberry Pi istifadə edərək temperatur və rütubətin monitorinqi: 6 addım (şəkillərlə)
Video: Мини ПК на Intel N100 - AC8-N, мощная безвентиляторная платформа, установка Home Assistant OS 2024, Iyul
Anonim
Raspberry Pi istifadə edərək temperatur və rütubətin monitorinqi
Raspberry Pi istifadə edərək temperatur və rütubətin monitorinqi
Raspberry Pi istifadə edərək temperatur və rütubətin monitorinqi
Raspberry Pi istifadə edərək temperatur və rütubətin monitorinqi

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ı

Avadanlıqların Hazırlanması
Avadanlıqların Hazırlanması
Avadanlıqların Hazırlanması
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 aktiv edilir
SSH aktiv edilir
SSH aktiv edilir
SSH aktiv edilir
SSH aktiv edilir
SSH aktiv edilir

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

Cloud4RPi quraşdırılır
Cloud4RPi quraşdırılır

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

Sensorun bağlanması
Sensorun bağlanması

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

Sensor Oxumalarını Buluda Göndərmək
Sensor Oxumalarını Buluda Göndərmək

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

Qrafiklər və Siqnallar
Qrafiklər və Siqnallar
Qrafiklər və Siqnallar
Qrafiklər və Siqnallar
Qrafiklər və Siqnallar
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ə: