Isi kandungan:
- Langkah 1: Menyiapkan Perkakasan
- Langkah 2: Mengaktifkan SSH
- Langkah 3: Memasang Cloud4RPi
- Langkah 4: Menyambungkan Sensor
- Langkah 5: Menghantar Bacaan Sensor ke Cloud
- Langkah 6: Carta dan Penggera
Video: Pemantauan Suhu dan Kelembapan Menggunakan Raspberry Pi: 6 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
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.
Saya menggunakan papan Raspberry Pi 1 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
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 mikro-USB.
- Kabel 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.
Langkah 2: Mengaktifkan SSH
SSH dilumpuhkan secara lalai. Saya boleh menggunakan penukar UART-USB atau hanya menyambungkan paparan untuk mengakses shell dan mengaktifkan SSH.
Selepas reboot, saya akhirnya masuk. Pertama-tama, mari kita kemas kini:
sudo apt update & sudo apt upgrade -y
Sekarang mari kita sambungkan peranti baru ini ke Cloud.
Langkah 3: Memasang Cloud4RPi
Saya memutuskan untuk mencuba platform awan bernama Cloud4RPi, yang direka untuk IoT.
Menurut dokumen, kami memerlukan pakej berikut untuk menjalankannya:
sudo apt install git python python-pip -y
Perpustakaan pelanggan boleh dipasang dalam satu arahan:
sudo pip pasang cloud4rpi
Sekarang kita memerlukan beberapa contoh kod untuk memastikannya berfungsi.
git clone https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python git clone https://gist.github.com/f8327a1ef09ceb1ef142fa68701270de.git e && mv e / minimal.py minimal.py && rmdir -re
Saya memutuskan untuk menjalankan minimal.py, tetapi saya tidak menyukai data palsu. Nasib baik, saya melihat kaedah mudah untuk menjadikan data diagnostik menjadi nyata dalam contoh ini. Tambahkan satu lagi import ke bahagian import:
dari rpi import *
Kemudian padamkan fungsi ini yang menyediakan data palsu (rpi.py menentukannya sekarang):
def cpu_temp ():
kembali 70 def ip_address (): return '8.8.8.8' def host_name (): return 'hostname' def os_name (): kembali 'osx'
Sekarang kita 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 minimal.py dengan token peranti anda dan simpan fail tersebut. Sekarang kami sudah bersedia untuk pelancaran pertama.
python minimum.py
Buka halaman peranti dan periksa bahawa data ada.
Sekarang mari kita beralih ke data dunia nyata.
Langkah 4: 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…. 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 5: Menghantar Bacaan Sensor ke Cloud
Saya akan menggunakan minimal.py sebagai asas dan menambahkan interaksi DHT22 ke dalamnya.
cd cloud4rpi-raspberrypi-python
cp minimum.py ~ / cloud_dht22.py cp rpi.py ~ / rpi.py cd vi cloud_dht22.py
Oleh kerana DHT22 mengembalikan suhu dan kelembapan dalam satu panggilan, saya 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 = None, None last_update = time.time () - 20 def update_data (): last_update 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 () return pusingan (temp, 2) jika temp tidak ada Tiada yang lain
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}}
Tekan butang merah untuk memulakan pemindahan data:
python 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:
wget -O https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python/blob/master/service_install.sh | sudo bash -s cloud_dht22.py
Memulakan perkhidmatan:
perkhidmatan sudo cloud4rpi bermula
Dan memeriksanya:
pi @ raspberrypi: ~ $ perkhidmatan sudo 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.pyMay 17 20:22:51 raspberrypi python [560]: Penerbitan iot -hub / mesej: {'type': 'config', 'ts': '2017-05-17T20… y'}]} 17 Mei 20:22:53 raspberrypi python [560]: Penerbitan iot-hub / mesej: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17 Mei 20:22:53 raspberrypi python [560]: Penerbitan iot-hub / mesej: {'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 6: 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!
Disyorkan:
Pemantauan Suhu dan Kelembapan Menggunakan MCU NODE DAN BLYNK: 5 Langkah
Pemantauan Suhu dan Kelembapan Menggunakan NODE MCU DAN BLYNK: Hai GuysDalam arahan ini mari kita belajar bagaimana mendapatkan suhu dan kelembapan atmosfera menggunakan sensor DHT11-Suhu dan Kelembapan menggunakan aplikasi Node MCU dan BLYNK
Pemantauan Suhu dan Kelembapan DHT Menggunakan ESP8266 dan Platform AskSensors IoT: 8 Langkah
Pemantauan Suhu dan Kelembapan DHT Menggunakan ESP8266 dan Platform AskSensors IoT: Dalam arahan sebelumnya, saya menunjukkan panduan langkah demi langkah untuk memulakan dengan nodeMCU ESP8266 dan platform IoS AskSensors. Dalam tutorial ini, saya menyambungkan sensor DHT11 ke nod MCU. DHT11 adalah Suhu dan humidi yang biasa digunakan
Pemantauan Suhu dan Kelembapan Menggunakan SHT25 dan Arduino Nano: 5 Langkah
Pemantauan Suhu dan Kelembapan Menggunakan SHT25 dan Arduino Nano: Kami baru-baru ini mengusahakan pelbagai projek yang memerlukan pemantauan suhu dan kelembapan dan kemudian kami menyedari bahawa kedua-dua parameter ini sebenarnya memainkan peranan penting dalam membuat anggaran kecekapan kerja sistem. Kedua-duanya di indus
Pemantauan Suhu dan Kelembapan Menggunakan SHT25 dan Raspberry Pi: 5 Langkah
Pemantauan Suhu dan Kelembapan Menggunakan SHT25 dan Raspberry Pi: Kami baru-baru ini mengusahakan pelbagai projek yang memerlukan pemantauan suhu dan kelembapan dan kemudian kami menyedari bahawa kedua-dua parameter ini sebenarnya memainkan peranan penting dalam membuat anggaran kecekapan kerja sistem. Kedua-duanya di indus
Pemantauan Suhu dan Kelembapan Menggunakan SHT25 dan Foton Zarah: 5 Langkah
Pemantauan Suhu dan Kelembapan Menggunakan SHT25 dan Foton Partikel: Baru-baru ini kami telah mengerjakan pelbagai projek yang memerlukan pemantauan suhu dan kelembapan dan kemudian kami menyedari bahawa kedua-dua parameter ini sebenarnya memainkan peranan penting dalam membuat anggaran kecekapan kerja sistem. Kedua-duanya di indus