- Komponen Diperlukan
- Diagram Sirkuit
- DHT11 Sensor Suhu dan Kelembaban
- Pemrograman NodeMCU ESP8266 Live Temperature and Humidity Monitoring
Mikrokontroler memiliki memori internal kecil yang tidak cukup untuk menyimpan data yang dihasilkan sensor dalam waktu lama, baik Anda harus menggunakan beberapa perangkat memori eksternal atau dapat menyimpan data di beberapa cloud menggunakan internet. Selain itu, terkadang menjadi sulit untuk mengatur ketika sensor dipasang di beberapa lokasi kondisi ekstrim dimana manusia tidak dapat menjangkau atau sulit untuk sering berkunjung ke sana. Untuk memperbaiki masalah semacam ini, kami selalu mencari cara di mana kami ingin memantau data sensor secara real time dari mana saja tanpa kehadiran fisik di tempat itu.
Basis data waktu nyata dapat digunakan dalam skenario ini dimana kita hanya perlu menghubungkan beberapa pengontrol yang dapat dihubungkan ke internet dan dapat bertukar data dengan server cloud. Data server dapat berguna dalam memantau perilaku sistem waktu nyata, analitik basis data, analisis dan pemrosesan statistik, dan interpretasi untuk kasus penggunaan di masa mendatang. Ada banyak Platform Perangkat Keras IoT dan platform Cloud yang tersedia untuk memenuhi tujuan ini. Jika Anda menemukan kesulitan dalam menemukan Platform yang tepat untuk aplikasi IoT Anda, ikuti tautannya.
Sebelumnya kami sudah membahas ThingSpeak, Adafruit IO dan banyak perangkat lunak IoT lainnya. Hari ini kita akan membangun proyek serupa di mana kita akan menggunakan suhu & kelembaban sensor DHT11 dan NodeMCU ESP8266 Modul untuk login suhu dan kelembaban secara real time pada database server Google Firebase.
Kami akan membagi proyek menjadi dua bagian. Pertama, kita akan mulai dengan merakit komponen perangkat keras dan mengunggah firmware ke dalamnya. Dan kedua kita akan menggunakan Firebase untuk menyiapkan dengan NodeMCU untuk bertukar data waktu nyata. Jika Anda baru mengenal ESP8266 atau Firebase, ikuti tutorial kami sebelumnya tentang mengontrol LED menggunakan Firebase.
Komponen Diperlukan
- Modul NodeMCU ESP8266
- DHT11 Sensor Suhu dan Kelembaban
Diagram Sirkuit
DHT11 Sensor Suhu dan Kelembaban
Modul DHT11 memiliki fitur kelembaban dan suhu kompleks dengan keluaran sinyal digital terkalibrasi berarti modul sensor DHT11 adalah modul gabungan untuk merasakan kelembaban dan suhu yang memberikan sinyal keluaran digital terkalibrasi. DHT11 memberi kami nilai kelembaban dan suhu yang sangat tepat dan memastikan keandalan yang tinggi dan stabilitas jangka panjang. Sensor ini memiliki komponen pengukur kelembaban tipe resistif dan komponen pengukur suhu tipe NTC dengan mikrokontroler 8-bit inbuilt yang memiliki respon cepat dan hemat biaya serta tersedia dalam paket baris tunggal 4-pin.
Kami sebelumnya menggunakan ESP12E untuk memperbarui pembacaan DHT11 di server web, selain itu Anda dapat memeriksa semua proyek berbasis DHT11 di mana kami telah menggunakan DHT11 untuk berinteraksi dengan banyak mikrokontroler lain seperti Arduino, PIC, Raspberry, dan stasiun cuaca bawaan yang menggunakannya.
Pemrograman NodeMCU ESP8266 Live Temperature and Humidity Monitoring
Program lengkap dengan Video kerja diberikan di akhir. Di sini kami menjelaskan beberapa bagian penting dari kode.
Pertama, sertakan pustaka untuk menggunakan ESP8266 dan firebase.
#include
Unduh dan instal perpustakaan dengan mengikuti tautan di bawah ini:
github.com/FirebaseExtended/firebase-arduino/blob/master/src/Firebase.h
github.com/bblanchon/ArduinoJson
Saat kompilasi , jika Anda mendapatkan kesalahan bahwa perpustakaan ArduinoJson.h tidak diinstal, silakan instal menggunakan tautan yang diberikan di atas.
Kami akan memprogram NodeMCU untuk mengambil bacaan dari sensor DHT11 dan mendorongnya ke Firebase setiap interval 5 detik. Kami akan menetapkan jalur untuk mendorong data. Sekarang dua parameter yaitu. kelembaban dan suhu dikirim melalui jalur induk yang sama dan jalur turunan yang berbeda.
Kedua parameter ini sangat penting untuk berkomunikasi dengan firebase. Menyetel parameter ini akan mengaktifkan pertukaran data antara dan ESP8266 dan firebase. Untuk menemukan parameter ini untuk proyek Anda, ikuti tutorial kami sebelumnya di Penyiapan Firebase.
#define FIREBASE_HOST "your-project.firebaseio.com" // alamat nama proyek dari firebase id #define FIREBASE_AUTH "Uejx9ROxxxxxxxxxxxxxxxxxxxxxxxxfQDDkhN" // kunci rahasia yang dihasilkan dari firebase
Setelah berhasil menemukan kredensial, ganti saja kode di atas.
Masukkan SSID dan Kata Sandi Wi-Fi Anda untuk terhubung dengan jaringan Anda.
#define WIFI_SSID "network_name" // masukkan nama wifi rumah atau publik Anda #define WIFI_PASSWORD "password" // password wifi ssid
Tentukan pin data DHT di NodeMCU. Anda dapat menggunakan pin GPIO Digital apa pun di NodeMCU.
# Tentukan DHTPIN D4
Perpustakaan DHT dibuat untuk semua varian DHT dan dilengkapi dengan opsi sensor DHT mana yang ingin Anda gunakan misalnya DHT11 atau DHT22. Cukup pilih sensor DHT yang tepat dan lanjutkan.
#define DHTTYPE DHT11 // pilih tipe dht sebagai DHT 11 atau DHT22 DHT dht (DHTPIN, DHTTYPE);
Hubungkan ke jaringan Wi-Fi yang dipilih dan juga hubungkan ke server database firebase.
WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH);
Mulailah membaca di pin D4 NodeMCU.
dht.begin ();
Ambil pembacaan kelembaban dan suhu dari sensor DHT dan simpan sebagai nilai float.
float h = dht.readHumidity (); // Membaca suhu atau kelembapan membutuhkan waktu sekitar 250 milidetik! float t = dht.readTemperature (); // Baca suhu sebagai Celcius (default)
Cukup periksa apakah sensor DHT terhubung dengan benar atau tidak rusak dan pengontrol dapat membaca bacaan darinya. Jika pembacaan tidak muncul maka kemungkinan sensor rusak, cukup tampilkan pesan kesalahan dan kembali untuk memeriksa lagi tanpa melanjutkan.
if (isnan (h) - isnan (t)) {// Periksa apakah ada pembacaan yang gagal dan keluar lebih awal (untuk mencoba lagi). Serial.println (F ("Gagal membaca dari sensor DHT!")); kembali; }
Cetak data sensor di monitor serial untuk debugging dan simpan nilai suhu dan kelembaban dalam bentuk string untuk dikirim ke firebase. Perhatikan juga bahwa waktu tunda minimum yang diperlukan antara dua pembacaan dari sensor DHT11 adalah 2 detik, jadi selalu gunakan penundaan lebih dari 2 detik. Untuk mengetahui lebih banyak tentang DHT11, Anda dapat melihat lembar data resmi.
Serial.print ("Kelembaban:"); Cetak serial (h); String fireHumid = String (h) + String ("%"); // ubah kelembaban integer menjadi string kelembaban Serial.print ("% Temperature:"); Cetak serial (t); Serial.println ("° C"); String fireTemp = String (t) + String ("° C"); penundaan (4000);
Terakhir, kirim data suhu dan kelembapan ke firebase di jalur "proyek-anda.firebaseio.com/DHT11/Humidity/".
Firebase.pushString ("/ DHT11 / Humidity", fireHumid); // setel jalur dan kirim bacaan Firebase.pushString ("/ DHT11 / Temperature", fireTemp); // setel jalur dan kirim bacaan
Anda dapat melihat semua data di akun firebase Anda. Cukup buka bagian " Database " di " Proyek Anda " di " Konsol saya " Di Firebase.
Untuk menyiapkan Firebase untuk mengirim dan memantau data, Anda dapat merujuk tutorial kami sebelumnya.
Kode lengkap dan Video untuk pemantauan suhu dan Kelembaban berbasis IoT ini diberikan di bawah ini.