Daftar Isi:

Kelembaban di Awan: 5 Langkah
Kelembaban di Awan: 5 Langkah

Video: Kelembaban di Awan: 5 Langkah

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

Musim panas akan datang, dan mereka yang tidak memiliki AC harus bersiap untuk mengontrol suasana di dalam ruangan secara manual. Dalam posting ini, saya menjelaskan cara modern untuk mengukur parameter terpenting untuk kenyamanan manusia: suhu dan kelembaban. Data yang dikumpulkan ini dikirim ke cloud dan diproses di sana.

Perlengkapan

Saya menggunakan papan Raspberry Pi dan sensor DHT22. Anda dapat melakukan hal yang sama di komputer mana pun yang memiliki Internet, GPIO, dan Python. Sensor DHT11 yang lebih murah juga berfungsi dengan baik.

Langkah 1: Mempersiapkan Perangkat Keras

Mempersiapkan Perangkat Keras
Mempersiapkan Perangkat Keras
Mempersiapkan Perangkat Keras
Mempersiapkan Perangkat Keras
Mempersiapkan Perangkat Keras
Mempersiapkan Perangkat Keras
Mempersiapkan Perangkat Keras
Mempersiapkan Perangkat Keras

Mari kita mulai dari awal, karena saya tidak menggunakan Raspberry Pi untuk waktu yang cukup lama.

Kita akan butuh:

  • Papan Raspberry Pi (atau platform berorientasi IoT lainnya).
  • Kartu SD atau microSD (tergantung platform).
  • 5V/1A melalui kabel micro-USB. LAN, yang menyediakan koneksi Internet.
  • Tampilan HDMI, tampilan RCA, atau port UART (untuk mengaktifkan SSH).

Langkah pertama adalah mengunduh Raspbian. Saya telah memilih versi Lite, karena saya akan menggunakan SSH daripada tampilan.

Banyak hal telah berubah sejak terakhir kali saya melakukannya: sekarang ada perangkat lunak pembakar hebat bernama Etcher, yang bekerja dengan sempurna, dan memiliki desain yang menakjubkan.

Setelah pembakaran gambar selesai, saya memasukkan kartu SD ke Pi saya, menyambungkan LAN dan kabel daya, dan setelah beberapa saat, router saya mendaftarkan perangkat baru.

Besar! Mari kita lanjutkan dan SSH ke dalamnya.

Keamanan baik-baik saja, saya menyukainya, tetapi ini membuat segalanya sedikit lebih sulit. Saya akan menggunakan adaptor UART-USB untuk mengakses shell dan mengaktifkan SSH…

Menggunakan tampilan alih-alih UART membuatnya lebih mudah.

Setelah reboot, saya akhirnya masuk.

Hal pertama yang pertama, mari perbarui:

sudo apt update && sudo apt upgrade -y

Sekarang mari kita hubungkan perangkat baru ini ke Cloud.

Langkah 2: Menginstal Cloud4RPi

Menginstal Cloud4RPi
Menginstal Cloud4RPi

Saya memutuskan untuk mencoba platform cloud yang disebut Cloud4RPi, yang dirancang untuk IoT.

Menurut dokumen, kami membutuhkan paket-paket berikut untuk menjalankannya:

sudo apt install git python3 python3-pip -y

Pustaka klien dapat diinstal dalam satu perintah:

sudo pip3 instal cloud4rpi

Sekarang kita membutuhkan beberapa kode sampel.

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

Skrip yang dapat dieksekusi adalah control.py.

Kami membutuhkan token, yang memungkinkan Cloud4RPi menautkan perangkat dengan akun. Untuk mendapatkannya, buat akun di cloud4rpi.io dan tekan tombol Perangkat Baru di halaman ini. Ganti string _YOUR_DEVICE_TOKEN_ di file control.py dengan token perangkat Anda dan simpan file tersebut. Sekarang kita siap untuk peluncuran pertama.

sudo python3 control.py

Buka halaman perangkat dan periksa apakah ada data.

Sekarang mari kita beralih ke data dunia nyata.

Langkah 3: Menghubungkan Sensor

Menghubungkan Sensor
Menghubungkan Sensor

Kita akan butuh:

  • Sensor kelembaban DHT22 atau DHT11
  • Resistor pull-up (5-10 KΩ)
  • Kabel

Sensor DHT22 mengukur suhu dan kelembaban secara bersamaan. Protokol komunikasi tidak standar, jadi kita tidak perlu mengaktifkannya di raspi-config - pin GPIO sederhana sudah lebih dari cukup.

Untuk memperoleh data, saya akan menggunakan perpustakaan Adafruit yang bagus untuk sensor DHT, tetapi mungkin tidak berfungsi apa adanya. Saya pernah menemukan penundaan konstan yang aneh dalam kode, yang tidak berfungsi untuk perangkat keras saya, dan setelah dua tahun permintaan tarik saya masih tertunda. Saya juga telah mengubah konstanta deteksi papan karena Raspberry Pi 1 saya dengan BCM2835 secara mengejutkan terdeteksi sebagai Raspberry Pi 3. Saya berharap itu benar… Jadi, saya sarankan menggunakan garpu saya. Jika Anda mengalami masalah dengan itu, silakan coba repositori asli, mungkin itu berfungsi untuk seseorang, tetapi saya bukan salah satunya.

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

Karena perpustakaan ditulis dalam C, itu memerlukan kompilasi, jadi Anda memerlukan paket build-essential dan python-dev.

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

Saat paket sedang diinstal, sambungkan DHT22 seperti yang ditunjukkan pada gambar.

Dan mengujinya:

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

Jika Anda melihat sesuatu seperti (39.200000076293945, 22.600000381469727), Anda harus tahu bahwa ini adalah kelembapan dalam persen dan suhu dalam Celcius.

Sekarang, mari kita kumpulkan semuanya bersama-sama!

Langkah 4: Mengirim Pembacaan Sensor ke Cloud

Mengirim Pembacaan Sensor ke Cloud
Mengirim Pembacaan Sensor ke Cloud
Mengirim Pembacaan Sensor ke Cloud
Mengirim Pembacaan Sensor ke Cloud

Saya akan menggunakan control.py sebagai basis 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

Hapus kode sampel seperti pada gambar di atas.

Karena DHT22 mengembalikan suhu dan kelembaban dalam satu panggilan, saya akan menyimpannya secara global dan memperbarui hanya sekali dalam permintaan, dengan asumsi penundaan di antara keduanya lebih dari 10 detik. Pertimbangkan kode berikut, yang memperoleh data DHT22:

impor Adafruit_DHT

suhu, hum = Tidak ada, Tidak ada

last_update = waktu.waktu() - 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() mengembalikan putaran(temp, 2) jika suhu tidak Tidak ada lagi Tidak ada def get_h(): update_data() kembali putaran(berdengung, 2) jika tidak ada yang lain Tidak ada

Masukkan kode ini setelah impor yang ada dan edit bagian variabel sehingga menggunakan fungsi baru:

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

Jika Anda menemukan manipulasi yang membingungkan, ambil versi final file ini. Tekan tombol merah untuk memulai transfer data:

Kemudian Anda dapat memeriksa halaman perangkat.

python3 cloud_dht22.py

Kemudian Anda dapat memeriksa halaman perangkat.

Anda dapat membiarkannya apa adanya, tetapi saya lebih suka memiliki layanan untuk semuanya. Ini memastikan bahwa skrip selalu berjalan. Membuat layanan dengan skrip otomatis penuh yang sudah Anda miliki di direktori cloud4rpi-raspberrypi-python:

service_install.sh cloud_dht22.py

Memulai layanan:

layanan sudo cloud4rpi mulai

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 Rabu-17-05-17 20:22:48 UTC; 1 menit yang lalu PID Utama: 560 (python) CGroup: /system.slice/cloud4rpi.service 560, /usr/bin/python /home/pi/cloud_dht22.py

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

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

Jika semuanya berjalan seperti yang diharapkan, kita dapat melanjutkan dan menggunakan kemampuan platform Cloud4RPi untuk memanipulasi data.

Langkah 5: Grafik dan Alarm

Grafik dan Alarm
Grafik dan Alarm
Grafik dan Alarm
Grafik dan Alarm
Grafik dan Alarm
Grafik dan Alarm

Pertama-tama, mari kita plot variabel untuk melihat bagaimana mereka berubah. Ini dapat dilakukan dengan menambahkan Panel Kontrol baru dan meletakkan grafik yang diperlukan di dalamnya.

Hal lain yang bisa kita lakukan di sini adalah mengatur Alert. Fitur ini memungkinkan Anda untuk mengonfigurasi rentang aman untuk suatu variabel. Segera setelah rentang terlampaui, ia mengirimkan pemberitahuan email. Pada halaman pengeditan Panel Kontrol, Anda dapat beralih ke Peringatan dan mengaturnya.

Tepat setelah itu, kelembaban di kamar saya mulai berkurang dengan cepat tanpa alasan yang jelas, dan alarm segera berbunyi.

Anda dapat menggunakan Cloud4RPi secara gratis dengan perangkat keras apa pun yang dapat menjalankan Python. Bagi saya, sekarang saya selalu tahu kapan harus menyalakan pelembab udara, dan saya bahkan dapat menghubungkannya ke relai untuk kendali jarak jauh melalui Cloud4RPi. Saya siap untuk panas! Selamat datang musim panas!

Dengan Cloud4RPi, Anda dapat mengontrol Raspberry Pi dan perangkat IoT lainnya dari jarak jauh secara real time. Kunjungi situs kami dan sambungkan perangkat tanpa batas secara gratis.

Direkomendasikan: