Daftar Isi:
- Perlengkapan
- Langkah 1: Mempersiapkan Perangkat Keras
- Langkah 2: Menginstal Cloud4RPi
- Langkah 3: Menghubungkan Sensor
- Langkah 4: Mengirim Pembacaan Sensor ke Cloud
- Langkah 5: Grafik dan Alarm
Video: Kelembaban di Awan: 5 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
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
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
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
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
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
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:
Lampu Awan Suasana Hati: 5 Langkah
Mood Cloud Lamp: Esta lámpara de humor puede ayudarte a crear un ambiente agradable conforme a los colores que desees poner. Este tiene dos funciones en las cuales pueden ser de forma manual, en donde tu puedas jugar con los colores sesuai dengan semangat partiendo de
Awan LED Menggunakan Fadecandy, PI dan Strip LED: 4 Langkah (dengan Gambar)
Awan LED Menggunakan Fadecandy, PI dan Strip LED: Saya telah membuat beberapa awan LED untuk menciptakan suasana halus di rumah saya. Ini awalnya akan digunakan untuk festival yang telah dibatalkan karena pandemi saat ini. Saya telah menggunakan chip permen pudar untuk mencapai animasi yang halus dan saya telah
Mengotomatiskan Rumah Kaca Dengan LoRa! (Bagian 1) -- Sensor (Suhu, Kelembaban, Kelembaban Tanah): 5 Langkah
Mengotomatiskan Rumah Kaca Dengan LoRa! (Bagian 1) || Sensor (Suhu, Kelembaban, Kelembaban Tanah): Dalam proyek ini saya akan menunjukkan kepada Anda bagaimana saya mengotomatiskan rumah kaca. Itu berarti saya akan menunjukkan kepada Anda bagaimana saya membangun rumah kaca dan bagaimana saya menghubungkan listrik dan elektronik otomatisasi. Saya juga akan menunjukkan cara memprogram papan Arduino yang menggunakan L
Awan Buatan: 3 Langkah
Awan Buatan: Halo Semuanya, Hari ini saya akan membuat awan buatan berwarna pelangi
Monitor Kelembaban Nirkabel (ESP8266 + Sensor Kelembaban): 5 Langkah
Wireless Moisture Monitor (ESP8266 + Moisture Sensor): Saya membeli peterseli dalam pot, dan hampir sepanjang hari, tanahnya kering. Jadi saya memutuskan untuk membuat proyek ini, tentang merasakan kelembaban tanah dalam pot dengan peterseli, untuk memeriksa, kapan saya perlu menuangkan tanah dengan air. Menurut saya, sensor ini (sensor kelembaban kapasitif v1.2) bagus karena