Mündəricat:

Buludda rütubət: 5 addım
Buludda rütubət: 5 addım

Video: Buludda rütubət: 5 addım

Video: Buludda rütubət: 5 addım
Video: “ÜREYİM İSTƏSƏ VEREREM BUNDAN KİMƏ NƏ?!” - 18+ QIRĞIN DEBAT 2024, Iyul
Anonim
Buludda rütubət
Buludda rütubət

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.

Təchizat

Raspberry Pi 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ı
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).
  • İnternet bağlantısı təmin edən micro-USB. LAN kabel vasitəsilə 5V/1A.
  • 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.

Sonuncu 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.

Əla! Gəlin və buna SSH daxil olaq.

Təhlükəsizlik qaydasındadır, bəyəndim, amma bu işləri bir az da çətinləşdirir. Qabığa daxil olmaq və SSH-ni aktivləşdirmək üçün UART-USB adapterindən istifadə edəcəyəm …

UART əvəzinə bir ekran istifadə etmək işi çox asanlaşdırır.

Yenidən başladıqdan sonra nəhayət içəri girirəm.

Əvvəlcə ilk şeyləri yeniləyək:

sudo apt update && sudo apt upgrade -y

İndi bu təzə cihazı Buluda bağlayaq.

Addım 2: 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 python3 python3 -pip -y

Müştəri kitabxanası tək bir əmrlə quraşdırıla bilər:

sudo pip3 cloud4rpi quraşdırın

İndi bir nümunə koduna ehtiyacımız var.

git klonu https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python

İcra olunan skript control.py -dir.

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. Control.py faylındakı _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.

sudo python3 control.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 3: 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.gitcd 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 4: Sensor Oxumalarını Buluda Göndərin

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

Control.py -ni əsas olaraq istifadə edəcəm və ona DHT22 qarşılıqlı əlaqəsini əlavə edəcəyəm.

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

Nümunə kodunu yuxarıdakı şəkildəki kimi silin.

DHT22 həm istiliyi, həm də rütubəti tək bir zənglə geri qaytardığından, onları dünya miqyasında saxlayacağam və aralarındakı gecikmənin 10 saniyədən çox olduğunu nəzərə alaraq, bir istəkdə yalnız bir dəfə yeniləyəcəyəm. DHT22 məlumatlarını əldə edən aşağıdakı kodu nəzərdən keçirin:

Adafruit_DHT idxal edin

temp, hum = Yox, yox

last_update = time.time () - 20

def update_data ():

qlobal 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 () dönmə dövrü (temp, 2) temp başqa deyilsə heç bir şey yoxdur get_h (): update_data () dönmə dövrü (uğultu, 2) başqa heç bir şey deyilsə

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 Rütubət': {'type': 'numeric', 'bind': get_h}, 'CPU Temp': {'type': 'numeric', 'bind': cpu_temp}}

Manipulyasiyaların qarışıq olduğunu görürsünüzsə, bu faylın son versiyasını götürün. Məlumat ötürülməsinə başlamaq üçün qırmızı düyməni basın:

Sonra cihaz səhifəsini yoxlaya bilərsiniz.

python3 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. Artıq cloud4rpi-raspberrypi-python qovluğunda olan tam avtomatlaşdırılmış skriptlə bir xidmət yaratmaq:

service_install.sh 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; aktivdir) Aktiv: aktivdir (çalışır) Çər 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.py

17 May 20:22:51 raspberrypi python [560]: iot-hub/mesajların dərc edilməsi: {'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': 'system', '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 5: 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!

Cloud4RPi ilə, Raspberry Pi və digər IoT cihazlarınızı uzaqdan real vaxtda idarə edə bilərsiniz. Saytımızı ziyarət edin və limitsiz cihazları pulsuz olaraq qoşun.

Tövsiyə: