Daftar Isi:

Sistem Pemantauan dan Pengendalian Iklim Dalam Ruangan Raspberry Pi: 6 Langkah
Sistem Pemantauan dan Pengendalian Iklim Dalam Ruangan Raspberry Pi: 6 Langkah

Video: Sistem Pemantauan dan Pengendalian Iklim Dalam Ruangan Raspberry Pi: 6 Langkah

Video: Sistem Pemantauan dan Pengendalian Iklim Dalam Ruangan Raspberry Pi: 6 Langkah
Video: Sistem Monitoring Kualitas Udara Di Dalam Ruangan Menggunakan Raspberry Pi dan Telegram 2024, November
Anonim
Sistem Pemantauan dan Pengendalian Iklim Dalam Ruangan Raspberry Pi
Sistem Pemantauan dan Pengendalian Iklim Dalam Ruangan Raspberry Pi
Sistem Pemantauan dan Pengendalian Iklim Dalam Ruangan Raspberry Pi
Sistem Pemantauan dan Pengendalian Iklim Dalam Ruangan Raspberry Pi

Orang ingin merasa nyaman di dalam rumahnya. Karena iklim di daerah kami mungkin tidak cocok untuk diri kami sendiri, kami menggunakan banyak peralatan untuk menjaga lingkungan dalam ruangan yang sehat: pemanas, pendingin udara, pelembab udara, dehumidifier, pembersih, dll. Saat ini, banyak ditemukan beberapa perangkat yang dilengkapi dengan auto- mode untuk merasakan lingkungan dan mengendalikan diri. Namun:

  • Banyak dari mereka terlalu mahal/tidak bernilai uang.
  • Sirkuit listriknya lebih mudah diputus dan lebih sulit diganti daripada suku cadang mekanis konvensional
  • Peralatan harus dikelola oleh aplikasi pabrikan. Sudah umum untuk memiliki beberapa peralatan pintar di rumah Anda dan masing-masing memiliki aplikasinya sendiri. Solusi mereka adalah mengintegrasikan aplikasi ke dalam platform seperti Alexa, Google Assistant, dan IFTTT sehingga kami memiliki pengontrol "terpusat"
  • Yang terpenting, produsen memiliki data kami, dan Google/Amazon/IFTTT/etc memiliki data kami. Kami tidak. Anda mungkin tidak peduli dengan privasi, tetapi terkadang kita semua mungkin ingin melihat pola kelembaban kamar tidur Anda, misalnya, untuk memutuskan jam berapa membuka jendela.

Dalam tutorial ini, saya membuat prototipe Pengontrol Iklim Dalam Ruangan berbasis Raspberry Pi yang relatif murah. RPi berkomunikasi dengan periferal melalui antarmuka SPI/I2C/USB:

  • Sensor atmosfer digunakan untuk mengumpulkan suhu, kelembaban, dan tekanan udara.
  • Sensor Kualitas Udara presisi tinggi menyediakan data partikel atmosfer (PM2.5 dan PM10) yang digunakan untuk menghitung Indeks Kualitas Udara (AQI)

Pengontrol memproses data yang diperoleh dan memicu tindakan perangkat dengan mengirimkan permintaan ke layanan otomatisasi IFTTT Webhook yang mengontrol colokan Smart WiFi yang didukung.

Prototipe dibangun sedemikian rupa sehingga seseorang dapat dengan mudah menambahkan sensor, peralatan, dan layanan otomatisasi lainnya.

Langkah 1: Perangkat Keras

Perangkat keras
Perangkat keras
Perangkat keras
Perangkat keras
Perangkat keras
Perangkat keras

Perangkat keras yang disarankan untuk membangun ini:

  1. Raspberry Pi (versi apa saja) dengan WiFi. Saya membangun ini menggunakan RPi B+. RPi ZeroW akan baik-baik saja dan biaya ~15$
  2. Sensor BME280 untuk suhu, kelembaban, tekanan udara ~5$
  3. Modul Sensor Deteksi Kualitas Udara Nova SDS011 Laser Presisi Tinggi PM2.5/PM10 ~25$
  4. Layar LED/LCD. Saya menggunakan layar OLED SSD1305 2,23 inci ~15$
  5. Beberapa Soket Cerdas WiFi/ZigBee/Z-Wave. 10-20$ masing-masing
  6. Pembersih udara, pelembab udara, dehumidifier, pemanas, pendingin, dll. dengan sakelar mekanis. Misalnya, saya menggunakan pembersih udara murah untuk membuat tutorial ini

Total biaya di atas adalah <100$, jauh lebih sedikit daripada, katakanlah, pembersih pintar yang dapat dengan mudah berharga 200$.

Langkah 2: Menghubungkan Raspbery Pi

Menghubungkan Pi Raspbery
Menghubungkan Pi Raspbery

Diagram rangkaian menunjukkan cara menghubungkan RPi dengan sensor BME280 menggunakan antarmuka I2C dan layar OLED HAT menggunakan antarmuka SPI.

Waveshare OLED HAT dapat dipasang di atas GPIO, tetapi Anda memerlukan splitter GPIO untuk membaginya dengan periferal lain. Itu dapat dikonfigurasi untuk menggunakan I2C dengan menyolder resistor di bagian belakang.

Informasi lebih lanjut tentang SSD1305 OLED HAT dapat ditemukan di sini.

Antarmuka I2C dan SPI harus diaktifkan di RPi dengan:

sudo raspi-config

Sensor Debu Nova SDS011 terhubung ke RPi melalui port USB (dengan adaptor Serial-USB).

Langkah 3: Mengumpulkan Data Dari Sensor

Data atmosfer, yang terlihat cukup sederhana, dikumpulkan dari sensor BME280 dari skrip python.

21-Nov-20 19:19:25 - INFO - kompensasi_bacaan(id=6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, stempel waktu=2020-11-21 19:19:25.604317, suhu=20.956 °C, tekanan=1019.08 hPa, kelembaban=49.23 % rH)

Data sensor Debu membutuhkan sedikit lebih banyak pemrosesan. Modul sensor menyedot beberapa sampel udara untuk mendeteksi partikel, sehingga harus berjalan selama beberapa saat (30 detik) untuk mendapatkan hasil yang andal. Dari pengamatan saya, saya hanya mempertimbangkan rata-rata dari 3 sampel terakhir. Prosesnya tersedia dalam skrip ini.

21-Nov-20 19:21:07 - DEBUG - 0. PM2.5: 2.8, PM10: 5.9

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

Sensor debu hanya menyediakan indeks PM2.5 dan PM10. Untuk menghitung AQI kita memerlukan modul python-aqi:

indeks_aqi = aqi.to_aqi([(aqi. POLLUTANT_PM25, dust_data[0]), (aqi. POLLUTANT_PM10, dust_data[1])])

Pengumpulan data, tampilan, dan pengontrolan alat dilakukan secara bersamaan dan tidak sinkron. Data disimpan dalam database lokal. Kita tidak perlu sering menjalankannya jika lingkungan tidak berubah terlalu cepat. Bagi saya, interval waktu 15 menit sudah cukup. Selain itu, modul sensor debu mengumpulkan debu di dalamnya, jadi kami tidak boleh menggunakannya secara berlebihan untuk menghindari tugas pembersihan.

Langkah 4: Menyiapkan Layanan Otomatisasi Rumah

Menyiapkan Layanan Otomatisasi Rumah
Menyiapkan Layanan Otomatisasi Rumah
Menyiapkan Layanan Otomatisasi Rumah
Menyiapkan Layanan Otomatisasi Rumah

Ada banyak platform otomatisasi Rumah di luar sana dan harus menginstal platform yang didukung oleh soket pintar yang Anda miliki. Jika Anda menyangkut privasi, Anda harus mengatur sistem Anda sendiri. Jika tidak, Anda dapat menggunakan platform populer yang didukung oleh sebagian besar soket pintar WiFi: Google Assistant, Alexa, atau IFTTT. Cobalah untuk memilih platform soket dengan API untuk berinteraksi (Webhook sangat cocok untuk tujuan ini)

Saya menggunakan IFTTT dalam tutorial ini karena sangat mudah digunakan bahkan untuk pemula. Namun perlu diketahui bahwa: 1. ada banyak soket pintar yang tidak mendukung IFTTT, dan 2. Saat saya menulis ini, IFTTT hanya memungkinkan Anda membuat 3 applet (tugas otomatisasi) secara gratis, yang hanya cukup untuk 1 alat.

Ini adalah langkah-langkahnya:

1. Buat dua applet di IFTTT, untuk menghidupkan dan mematikan alat, menggunakan layanan Webhook. Detailnya dapat ditemukan di sini.

2. Salin kunci API dan salin ke skrip python. Saya sarankan menyimpannya di file terpisah untuk alasan keamanan.

3. Tentukan logika/parameter kontrol dalam skrip utama.

Langkah 5: Hasil

Hasil
Hasil
Hasil
Hasil
Hasil
Hasil
Hasil
Hasil

Oke, sekarang kita uji sistemnya.

Layar OLED menunjukkan Suhu, Kelembaban, dan Indeks Kualitas Udara (AQI) saat ini. Ini juga menampilkan nilai minimum dan maksimum dalam 12 jam terakhir.

Data time-series AQI dalam beberapa hari menunjukkan sesuatu yang menarik. Perhatikan lonjakan pola AQI? Itu terjadi dua kali sehari, puncak kecil sekitar pukul 12.00 dan puncak tinggi sekitar pukul 19.00. Nah, Anda dapat menebaknya, saat itulah kami memasak, menyebarkan banyak partikel. Sangat menarik untuk melihat bagaimana aktivitas kita sehari-hari mempengaruhi lingkungan dalam ruangan.

Juga, lonjakan terakhir dalam angka berlangsung jauh lebih pendek dari yang sebelumnya. saat itulah kami menambahkan pembersih udara ke dalam sistem. Pengontrol iklim RPi mengirimkan permintaan PURIFIER_ON saat AQI>50 dan PURIFIER_OFF saat AQI<20. Anda dapat melihat pemicu IFTTT Webhook pada saat itu.

Langkah 6: Kesimpulan

Itu dia!

Data yang dikumpulkan juga dapat digunakan untuk mengontrol pemanas udara, pendingin, (de) pelembab udara, dll. Anda hanya perlu membeli lebih banyak soket pintar dan setiap alat lama akan menjadi "pintar".

Jika Anda ingin mengontrol banyak peralatan, Anda mungkin perlu mempertimbangkan dengan cermat layanan otomatisasi rumah mana yang ingin Anda gunakan. Saya sangat menyarankan untuk menyiapkan platform otomatisasi rumah sumber terbuka, tetapi jika terlalu rumit, ada solusi yang lebih sederhana seperti Google Assistant dan IFTTT Webhook, atau menggunakan soket pintar Zigbee.

Implementasi penuh dari prototipe ini dapat ditemukan di repositori Github:

github.com/vuva/IndoorClimateControl

Selamat bersenang-senang !!!

Direkomendasikan: