İçindekiler:

Raspberry Pi İç Mekan İklim İzleme ve Kontrol Sistemi: 6 Adım
Raspberry Pi İç Mekan İklim İzleme ve Kontrol Sistemi: 6 Adım

Video: Raspberry Pi İç Mekan İklim İzleme ve Kontrol Sistemi: 6 Adım

Video: Raspberry Pi İç Mekan İklim İzleme ve Kontrol Sistemi: 6 Adım
Video: 4. OTURUM - AKILLI ŞEHİR TEKNOLOJİLERİ 2024, Kasım
Anonim
Raspberry Pi İç Mekan İklim İzleme ve Kontrol Sistemi
Raspberry Pi İç Mekan İklim İzleme ve Kontrol Sistemi
Raspberry Pi İç Mekan İklim İzleme ve Kontrol Sistemi
Raspberry Pi İç Mekan İklim İzleme ve Kontrol Sistemi

İnsanlar evlerinde rahat olmak isterler. Bulunduğumuz bölgenin iklimi bize uymayabileceğinden, sağlıklı bir iç ortam sağlamak için birçok cihaz kullanıyoruz: ısıtıcı, hava soğutucu, nemlendirici, nem giderici, temizleyici vb. çevreyi algılama ve kendilerini kontrol etme modu. Yine de:

  • Birçoğu overpriced/paraya değmez.
  • Elektrik devrelerinin kırılması daha kolaydır ve geleneksel mekanik parçalara göre değiştirilmesi daha zordur.
  • Cihazlar, üreticinin uygulaması tarafından yönetilmelidir. Evinizde birkaç akıllı cihaz olması yaygındır ve her birinin kendi uygulaması vardır. Çözümleri, uygulamayı "merkezi" bir denetleyiciye sahip olmamız için Alexa, Google Asistan ve IFTTT gibi platformlara entegre etmektir.
  • En önemlisi, üreticilerin verilerimize sahip olması ve Google/Amazon/IFTTT/etc'nin verilerimize sahip olması. Biz yapmıyoruz. Mahremiyeti önemsemeyebilirsiniz, ancak bazen hepimiz, örneğin pencereleri hangi saatte açacağımıza karar vermek için yatak odanızın nem düzenine bakmak isteyebiliriz.

Bu eğitimde, nispeten düşük maliyetli bir Raspberry Pi tabanlı İç Mekan İklim Kontrol Cihazının prototipini oluşturuyorum. RPi, çevre birimleriyle SPI/I2C/USB arabirimleri aracılığıyla iletişim kurar:

  • Sıcaklık, nem ve hava basıncını toplamak için bir atmosferik sensör kullanılır.
  • Yüksek hassasiyetli Hava Kalitesi sensörü, Hava Kalitesi İndeksini (AQI) hesaplamak için kullanılan atmosferik partikül madde (PM2.5 ve PM10) verilerini sağlar.

Kontrolör, alınan verileri işler ve desteklenen WiFi Smart fişlerini kontrol eden IFTTT Webhook otomasyon hizmetine istekler göndererek cihaz eylemlerini tetikler.

Prototip, diğer sensörleri, cihazları ve otomasyon hizmetlerini kolayca ekleyebilecek şekilde oluşturulmuştur.

Adım 1: Donanım

Donanım
Donanım
Donanım
Donanım
Donanım
Donanım

Bunu oluşturmak için önerilen donanım:

  1. WiFi ile bir Ahududu Pi (herhangi bir sürüm). Bunu RPi B+ kullanarak yapıyorum. RPi ZeroW gayet iyi iş görür ve yaklaşık 15$'a mal olur
  2. Sıcaklık, nem ve hava basıncı için bir BME280 sensörü ~5$
  3. Nova SDS011 Yüksek Hassasiyetli Lazer PM2.5/PM10 hava Kalitesi Algılama Sensör Modülü ~25$
  4. Bir LED/LCD ekran. SSD1305 2.23 inç OLED ekran kullandım ~15$
  5. Bazı WiFi/ZigBee/Z-Wave Akıllı Yuvalar. her biri 10-20$
  6. Mekanik anahtarlı hava temizleyici, nemlendirici, nem giderici, ısıtıcı, soğutucu vb. Örneğin, bu öğreticiyi yapmak için ucuz bir hava temizleyici kullandım

Yukarıdaki toplam maliyet <100$, diyelim ki kolayca 200$'a mal olabilecek bir akıllı arıtıcıdan çok daha az.

2. Adım: Raspbery Pi'yi Kablolama

Raspbery Pi'yi Kablolama
Raspbery Pi'yi Kablolama

Devre şeması, RPi'nin I2C arayüzü kullanılarak BME280 sensörü ve SPI arayüzü kullanılarak OLED ekran HAT ile nasıl kablolanacağını gösterir.

Waveshare OLED HAT, GPIO'nun üstüne takılabilir, ancak onu diğer çevre birimleriyle paylaşmak için bir GPIO ayırıcıya ihtiyacınız vardır. Arkadaki dirençleri lehimleyerek I2C kullanacak şekilde yapılandırılabilir.

SSD1305 OLED HAT hakkında daha fazla bilgiyi burada bulabilirsiniz.

Hem I2C hem de SPI arabirimlerinin RPi'de aşağıdakilerle etkinleştirilmesi gerekir:

sudo raspi yapılandırması

Nova SDS011 Toz sensörü, USB bağlantı noktası (bir Seri-USB adaptörü ile) aracılığıyla RPi'ye bağlanır.

Adım 3: Sensörlerden Veri Toplama

Oldukça basit görünen atmosferik veriler, python betiğinden BME280 sensöründen toplanır.

21-Kasım-20 19:19:25 - BİLGİ - telafi edilmiş_okuma(id=6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, zaman damgası=2020-11-21 19:19:25.604317, sıcaklık=20.956 °C, basınç=1019.08 hPa, nem=49.23 % rH)

Toz sensörü verilerinin biraz daha işlenmesi gerekiyor. Sensör modülü, partikül maddeyi algılamak için bazı hava örneklerini emer, bu nedenle güvenilir sonuçlar elde etmek için bir süre (30sn) çalışması gerekir. Gözlemlerime göre, sadece son 3 örneğin ortalamasını dikkate alıyorum. İşlem bu komut dosyasında mevcuttur.

21-Kasım-20 19:21:07 - HATA AYIKLAMA - 0. PM2.5: 2,8, PM10: 5,9

21-Kasım-20 19:21:09 - HATA AYIKLAMA - 1. PM2.5: 2,9, PM10: 6,0 21-Kasım-20 19:21:11 - HATA AYIKLAMA - 2. PM2,5: 2,9, PM10: 6,0 21- 20 Kasım 19:21:13 - DEBUG - 3. PM2.5: 2,9, PM10: 6,3 21-Kasım-20 19:21:15 - DEBUG - 4. PM2,5: 3,0, PM10: 6,2 21-Kas- 20 19:21:17 - HATA AYIKLAMA - 5. PM2,5: 2,9, PM10: 6,4 21-Kasım-20 19:21:19 - DEBUG - 6. PM2,5: 3.0, PM10: 6,6 21-Kas-20 19:21:21 - HATA AYIKLAMA - 7. PM2.5: 3.0, PM10: 6.8 21-Kasım-20 19:21:23 - DEBUG - 8. PM2.5: 3.1, PM10: 7.0 21-Kasım-20 19:21:25 - HATA AYIKLAMA - 9. PM2.5: 3,2, PM10: 7,0 21-Kasım-20 19:21:28 - HATA AYIKLAMA - 10. PM2,5: 3,2, PM10: 7,1 21-Kasım-20 19:21:30 - HATA AYIKLAMA - 11. PM2.5: 3.2, PM10: 6.9 21-Kasım-20 19:21:32 - HATA AYIKLAMA - 12. PM2.5: 3.3, PM10: 7.0 21-Kasım-20 19:21:34 - HATA AYIKLAMA - 13. PM2.5: 3.3, PM10: 7.1 21-Kasım-20 19:21:36 - HATA AYIKLAMA - 14. PM2.5: 3.3, PM10: 7.1

Toz sensörü yalnızca PM2.5 ve PM10 indeksi sağlar. AQI'yi hesaplamak için python-aqi modülüne ihtiyacımız var:

aqi_index = aqi.to_aqi([(aqi. POLLUTANT_PM25, toz_verileri[0]), (aqi. POLLUTANT_PM10, toz_verileri[1])])

Veri toplama, görüntüleme ve cihaz kontrolü eşzamanlı ve eşzamansız olarak yürütülür. Veriler yerel bir veritabanına kaydedilir. Ortam çok hızlı değişmiyorsa, bunları sık sık çalıştırmamız gerekmez. Benim için 15 dk interval süresi yeterli. Ayrıca, toz sensörü modülü içinde toz biriktirir, bu nedenle temizlik görevinden kaçınmak için aşırı kullanmamalıyız.

4. Adım: Ev Otomasyon Hizmetini Ayarlama

Ev Otomasyon Hizmetini Ayarlama
Ev Otomasyon Hizmetini Ayarlama
Ev Otomasyon Hizmetini Ayarlama
Ev Otomasyon Hizmetini Ayarlama

Dışarıda birçok Ev otomasyon platformu var ve sahip olduğunuz akıllı priz tarafından desteklenen platformu kurmanız gerekiyor. Gizlilikle ilgileniyorsanız, kendi sisteminizi kurmalısınız. Aksi takdirde, çoğu WiFi akıllı soketi tarafından desteklenen popüler platformları kullanabilirsiniz: Google Assistant, Alexa veya IFTTT. Etkileşim için bir API içeren soket platformunu seçmeye çalışın (Webhook bu amaç için mükemmeldir)

Bu eğitimde IFTTT kullanıyorum çünkü yeni başlayanlar için bile kullanımı çok kolay. Ancak şunu unutmayın: 1. IFTTT'yi desteklemeyen birçok akıllı soket var ve 2. Bunu yazdığım sırada IFTTT sadece 3 adet applet (otomasyon görevi) ücretsiz olarak oluşturmanıza izin veriyor, bu sadece 1 adet için yeterli. cihaz.

Bu adımlar:

1. Webhook hizmetini kullanarak cihazı açmak ve kapatmak için IFTTT'de iki uygulama oluşturun. Ayrıntılar burada bulunabilir.

2. API anahtarını kopyalayın ve python betiğine kopyalayın. Güvenlik nedeniyle ayrı bir dosyada tutmanızı öneririm.

3. Ana komut dosyasında kontrol mantığını/parametrelerini tanımlayın.

Adım 5: Sonuçlar

Sonuçlar
Sonuçlar
Sonuçlar
Sonuçlar
Sonuçlar
Sonuçlar
Sonuçlar
Sonuçlar

Tamam, şimdi sistemi test ediyoruz.

OLED ekran mevcut Sıcaklık, Nem ve hesaplanan Hava Kalitesi İndeksini (AQI) gösterir. Ayrıca son 12 saatteki minimum ve maksimum değeri gösterir.

AQI'nin birkaç gün içindeki zaman serisi verileri ilginç bir şey gösteriyor. AQI modelindeki dalgalanmalara dikkat edin? Günde iki kez oldu, küçük zirve 12:00 civarında ve yüksek zirve 19:00 civarında. Tahmin etmişsinizdir, o zaman yemek pişiriyorduk, etrafa çok fazla parçacıklı madde yayıyorduk. Günlük aktivitemizin iç ortamı nasıl etkilediğini görmek ilginç.

Ayrıca, rakamdaki son dalgalanma öncekilerden çok daha kısa sürdü. işte o zaman sisteme hava temizleyiciyi ekliyoruz. RPi iklim kontrolörü, AQI>50 olduğunda PURIFIER_ON ve AQI<20 olduğunda PURIFIER_OFF isteği gönderir. IFTTT Web kancası tetikleyicisini o sırada görebilirsiniz.

6. Adım: Sonuç

Bu kadar!

Toplanan veriler ayrıca hava ısıtıcılarını, soğutucuları, (de) nemlendiricileri vb. kontrol etmek için de kullanılabilir. Sadece daha fazla akıllı priz satın almanız yeterlidir ve her eski cihaz "akıllı" hale gelecektir.

Birçok cihazı kontrol etmek istiyorsanız, hangi ev otomasyon hizmetini kullanmak istediğinizi dikkatlice düşünmeniz gerekebilir. Açık kaynaklı bir ev otomasyon platformu kurmanızı şiddetle tavsiye ederim, ancak çok karmaşıksa, Google Asistan ve IFTTT Webhook veya Zigbee akıllı prizler gibi daha basit çözümler var.

Bu prototipin tam uygulaması Github deposunda bulunabilir:

github.com/vuva/IndoorClimateControl

İyi eğlenceler !!!

Önerilen: