Isi kandungan:

Kelembapan di Awan: 5 Langkah
Kelembapan di Awan: 5 Langkah

Video: Kelembapan di Awan: 5 Langkah

Video: Kelembapan di Awan: 5 Langkah
Video: KELEMBAPAN UDARA DAN CURAH HUJAN (UNSUR CUACA) #iklim #cuaca #atmosfer #geografi 2024, Julai
Anonim
Kelembapan di Awan
Kelembapan di Awan

Musim panas akan tiba, dan mereka yang tidak mempunyai penghawa dingin harus bersedia untuk mengawal suasana di dalam rumah secara manual. Dalam catatan ini, saya menerangkan cara moden untuk mengukur parameter terpenting untuk keselesaan manusia: suhu dan kelembapan. Data yang dikumpulkan ini dihantar ke awan dan diproses di sana.

Bekalan

Saya menggunakan papan Raspberry Pi dan sensor DHT22. Anda boleh melakukan perkara yang sama di mana-mana komputer yang mempunyai Internet, GPIO, dan Python. Sensor DHT11 yang lebih murah juga berfungsi dengan baik.

Langkah 1: Menyiapkan Perkakasan

Menyiapkan Perkakasan
Menyiapkan Perkakasan
Menyiapkan Perkakasan
Menyiapkan Perkakasan
Menyiapkan Perkakasan
Menyiapkan Perkakasan
Menyiapkan Perkakasan
Menyiapkan Perkakasan

Mari kita mulakan sejak awal, kerana saya sudah lama tidak menggunakan Raspberry Pi saya.

Kami memerlukan:

  • Papan Raspberry Pi (atau platform berorientasikan IoT lain).
  • Kad SD atau microSD (bergantung pada platform).
  • 5V / 1A melalui kabel micro-USB. LAN, yang menyediakan sambungan Internet.
  • Paparan HDMI, paparan RCA, atau port UART (untuk mengaktifkan SSH).

Langkah pertama ialah memuat turun Raspbian. Saya telah memilih versi Lite, kerana saya akan menggunakan SSH dan bukannya paparan.

Perkara telah berubah sejak kali terakhir saya melakukannya: sekarang ada perisian pembakar yang hebat yang disebut Etcher, yang berfungsi dengan sempurna, dan mempunyai reka bentuk yang menakjubkan.

Setelah pembakaran gambar selesai, saya memasukkan kad SD ke dalam Pi saya, menyambungkan LAN dan kabel kuasa, dan setelah beberapa ketika, penghala saya mendaftarkan peranti baru.

Hebat! Mari kita teruskan dan SSH ke dalamnya.

Keselamatan tidak apa-apa, saya suka, tetapi ini menjadikan keadaan menjadi lebih sukar. Saya akan menggunakan penyesuai UART-USB untuk mengakses shell dan mengaktifkan SSH…

Menggunakan paparan dan bukannya UART menjadikannya lebih mudah.

Selepas reboot, akhirnya saya masuk.

Perkara pertama yang pertama, mari kita kemas kini:

sudo apt update & sudo apt upgrade -y

Sekarang mari kita sambungkan peranti baru ini ke Cloud.

Langkah 2: Memasang Cloud4RPi

Memasang Cloud4RPi
Memasang Cloud4RPi

Saya memutuskan untuk mencuba platform awan bernama Cloud4RPi, yang direka untuk IoT.

Menurut dokumen, kami memerlukan pakej berikut untuk menjalankannya:

sudo apt pasang git python3 python3-pip -y

Perpustakaan pelanggan boleh dipasang dalam satu arahan:

sudo pip3 pasang cloud4rpi

Sekarang kita memerlukan beberapa contoh kod.

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

Skrip yang boleh dilaksanakan adalah control.py.

Kami memerlukan token, yang membolehkan Cloud4RPi menghubungkan peranti dengan akaun. Untuk mendapatkannya, buat akaun di cloud4rpi.io dan tekan butang Peranti Baru di halaman ini. Ganti rentetan _YOUR_DEVICE_TOKEN_ dalam fail control.py dengan token peranti anda dan simpan fail tersebut. Sekarang kami sudah bersedia untuk pelancaran pertama.

sudo python3 control.py

Buka halaman peranti dan periksa bahawa data ada.

Sekarang mari kita beralih ke data dunia nyata.

Langkah 3: Menyambungkan Sensor

Menyambungkan Sensor
Menyambungkan Sensor

Kami memerlukan:

  • Sensor kelembapan DHT22 atau DHT11
  • Perintang tarik (5-10 KΩ)
  • Wayar

Sensor DHT22 mengukur suhu dan kelembapan secara serentak. Protokol komunikasi tidak standard, jadi kami tidak perlu mengaktifkannya dalam raspi-config - pin GPIO sederhana lebih daripada cukup.

Untuk memperoleh data, saya akan menggunakan perpustakaan hebat Adafruit untuk sensor DHT, tetapi mungkin tidak berfungsi seperti sedia kala. Saya pernah menemui kelewatan berterusan dalam kod, yang tidak berfungsi untuk perkakasan saya, dan setelah dua tahun permintaan penarik saya masih belum selesai. Saya juga telah menukar pemalar pengesanan papan kerana Raspberry Pi 1 saya dengan BCM2835 secara mengejutkan dikesan sebagai Raspberry Pi 3. Saya harap ia benar … Oleh itu, saya cadangkan menggunakan garpu saya. Sekiranya anda mengalami masalah dengannya, cubalah repositori asal, mungkin ia berfungsi untuk seseorang, tetapi saya bukan salah satu dari mereka.

git klon https://github.com/Himura2la/Adafruit_Python_DHT.gitcd Adafruit_Python_DHT

Oleh kerana perpustakaan ditulis dalam C, ia memerlukan penyusunan, jadi anda memerlukan pakej build-esensial dan python-dev.

sudo apt install build-essential python-dev -ysudo python setup.py pasang

Semasa pakej dipasang, sambungkan DHT22 seperti yang ditunjukkan dalam gambar.

Dan mengujinya:

cd ~ python -c "import Adafruit_DHT sebagai d; print d.read_retry (d. DHT22, 4)"

Sekiranya anda melihat sesuatu seperti (39.20000076293945, 22.600000381469727), anda harus tahu bahawa ini adalah kelembapan dalam sen dan suhu dalam Celsius.

Sekarang, mari kita mengumpulkan semuanya!

Langkah 4: Menghantar Bacaan Sensor ke Cloud

Menghantar Bacaan Sensor ke Cloud
Menghantar Bacaan Sensor ke Cloud
Menghantar Bacaan Sensor ke Cloud
Menghantar Bacaan Sensor ke Cloud

Saya akan menggunakan control.py sebagai asas dan menambahkan interaksi DHT22 ke dalamnya.

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

Keluarkan contoh kod seperti dalam gambar di atas.

Oleh kerana DHT22 mengembalikan suhu dan kelembapan dalam satu panggilan, saya akan menyimpannya secara global dan mengemas kini hanya sekali dalam permintaan, dengan anggapan kelewatan di antara mereka melebihi 10 saat. Pertimbangkan kod berikut, yang memperoleh data DHT22:

import Adafruit_DHT

temp, hum = Tiada, Tiada

last_update = time.time () - 20

def update_data ():

tarikh terakhir global, 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 () pusingan kembali (temp, 2) jika suhu tidak ada yang lain Tidak ada def get_h (): update_data () pulangan pusingan (hum, 2) jika hum tidak ada yang lain Tiada

Masukkan kod ini setelah import yang ada dan edit bahagian pemboleh ubah sehingga menggunakan fungsi baru:

pemboleh ubah = {'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 Humidity': {'type': 'numeric', 'bind': get_h}, 'CPU Temp': {'type': 'numeric', 'bind': cpu_temp}}

Sekiranya anda mendapati manipulasi mengelirukan, ambil versi akhir fail ini. Tekan butang merah untuk memulakan pemindahan data:

Kemudian anda boleh menyemak halaman peranti.

python3 cloud_dht22.py

Kemudian anda boleh menyemak halaman peranti.

Anda boleh membiarkannya seperti sedia ada, tetapi saya lebih suka mempunyai perkhidmatan untuk semuanya. Ini memastikan bahawa skrip sentiasa berjalan. Membuat perkhidmatan dengan skrip automatik sepenuhnya yang sudah anda miliki di direktori cloud4rpi-raspberrypi-python:

service_install.sh cloud_dht22.py

Memulakan perkhidmatan:

perkhidmatan sudo cloud4rpi bermula

Dan memeriksanya:

pi @ raspberrypi: ~ $ sudo service status cloud4rpi -l ● cloud4rpi.service - Cloud4RPi daemon Dimuat: dimuat (/lib/systemd/system/cloud4rpi.service; diaktifkan) Aktif: aktif (berjalan) sejak Rab 2017-05-17 20: 22: 48 UTC; 1 minit yang lalu Main PID: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560 / usr / bin / python /home/pi/cloud_dht22.py

17 Mei 20:22:51 raspberrypi python [560]: Penerbitan iot-hub / message: {'type': 'config', 'ts': '2017-05-17T20… y'}]}

17 Mei 20:22:53 raspberrypi python [560]: Penerbitan iot-hub / message: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17 Mei 20: 22:53 raspberrypi python [560]: Penerbitan iot-hub / message: {'type': 'system', 'ts': '2017-05-17T20….4'}}

Sekiranya semuanya berfungsi seperti yang diharapkan, kita boleh terus menggunakan dan menggunakan kemampuan platform Cloud4RPi untuk memanipulasi data.

Langkah 5: Carta dan Penggera

Carta dan Penggera
Carta dan Penggera
Carta dan Penggera
Carta dan Penggera
Carta dan Penggera
Carta dan Penggera

Pertama sekali, mari kita plot pemboleh ubah untuk melihat bagaimana perubahannya. Ini dapat dilakukan dengan menambahkan Panel Kawalan baru dan meletakkan carta yang diperlukan di dalamnya.

Perkara lain yang boleh kita lakukan di sini ialah menetapkan Makluman. Ciri ini membolehkan anda mengkonfigurasi julat selamat untuk pemboleh ubah. Sebaik sahaja rentang dilampaui, ia akan mengirimkan pemberitahuan e-mel. Pada halaman pengeditan Panel Kawalan, anda boleh beralih ke Makluman dan menetapkannya.

Sejurus selepas itu, kelembapan di bilik saya mulai berkurang dengan cepat tanpa sebab yang jelas, dan penggera segera menyusul.

Anda boleh menggunakan Cloud4RPi secara percuma dengan mana-mana perkakasan yang dapat melaksanakan Python. Bagi saya, sekarang saya selalu tahu kapan menghidupkan pelembap udara, dan saya juga boleh menyambungkannya ke geganti untuk kawalan jauh melalui Cloud4RPi. Saya bersedia untuk panas! Selamat datang musim panas!

Dengan Cloud4RPi, anda dapat mengawal Raspberry Pi dan peranti IoT anda yang lain dari jauh dalam masa nyata. Lawati laman web kami dan sambungkan peranti tanpa had secara percuma.

Disyorkan: