Kelembaban dan Suhu adalah parameter yang sangat umum untuk pengukuran di banyak tempat seperti pertanian, rumah kaca, medis, industri rumah dan kantor. Kami telah membahas Pengukuran Kelembaban dan Suhu menggunakan Arduino dan menampilkan datanya pada LCD.
Dalam proyek IoT ini kita akan Memantau Kelembaban dan Suhu melalui internet menggunakan ThingSpeak di mana kita akan menampilkan data Kelembaban & Suhu saat ini melalui Internet menggunakan server ThingSpeak. Hal ini dilakukan dengan komunikasi data antara Arduino, Modul Sensor DHT11, modul WIFI ESP8266 dan LCD. Termometer skala Celcius dan pengukur kelembaban skala persentase menampilkan suhu dan kelembaban sekitar melalui layar LCD dan juga mengirimkannya ke server ThingSpeak untuk pemantauan langsung dari mana saja di dunia.
Bekerja dan Pengaturan ThingSpeak:
Proyek berbasis IoT ini memiliki empat bagian, pertama Sensor Kelembaban dan Suhu DHT11 mendeteksi Data Kelembaban dan Suhu . Kedua, Arduino Uno mengekstrak data sensor DHT11 sebagai angka yang sesuai dalam persentase dan skala Celcius, dan mengirimkannya ke Modul Wi-Fi. Ketiga Modul Wi-Fi ESP8266 mengirimkan data ke Sever ThingSpeak. Dan akhirnya ThingSpeak menganalisis data tersebut dan menampilkannya dalam bentuk Grafik. LCD opsional juga digunakan untuk menampilkan Temperatur dan Kelembaban.
ThingSpeak menyediakan alat yang sangat bagus untuk proyek berbasis IoT untuk Arduino. Dengan menggunakan situs ThingSpeak, kami dapat memantau data kami melalui Internet dari mana saja, dan kami juga dapat mengontrol sistem kami melalui Internet, menggunakan Saluran dan halaman web yang disediakan oleh ThingSpeak. ThingSpeak 'Mengumpulkan' data dari sensor, 'Menganalisis dan Memvisualisasikan' data dan 'Tindakan' dengan memicu reaksi. Berikut kami menjelaskan tentang Cara mengirim Data ke server ThingSpeak dengan menggunakan Modul WIFI ESP8266:
1. Pertama-tama, pengguna perlu Membuat Akun di ThingSpeak.com, lalu Masuk dan klik Memulai.
2. Sekarang masuk ke menu 'Channels' dan klik pada opsi New Channel di halaman yang sama untuk proses lebih lanjut.
3. Sekarang Anda akan melihat formulir untuk membuat saluran, isi Nama dan Deskripsi sesuai pilihan Anda. Kemudian isi label 'Kelembaban' dan 'Suhu' di Bidang 1 dan Bidang 2, centang kotak untuk kedua Bidang. Juga centang kotak untuk opsi 'Jadikan Publik' di bawah dalam formulir dan terakhir Simpan Saluran. Sekarang saluran baru Anda telah dibuat.
4. Sekarang klik pada tab 'API keys' dan simpan tombol Write dan Read API, di sini kita hanya menggunakan tombol Write. Anda perlu menyalin kunci ini di char * api_key di dalam Kode.
5. Setelah itu, klik 'Impor / Ekspor Data' dan salin URL Permintaan GET Umpan Saluran, yaitu:
api.thingspeak.com/update?api_key=SIWOYBX26OXQ1WMS&field1=0
6. Sekarang pengguna perlu membuka "api.thingspeak.com" menggunakan fungsi httpGet dengan postUrl sebagai "update? Api_key = SIWOYBX26OXQ1WMS & field1 = 0" dan kemudian mengirim data menggunakan umpan data atau memperbarui alamat permintaan.
Sebelum mengirim data, pengguna perlu mengedit string kueri atau postUrl ini dengan bidang data suhu dan kelembaban, seperti yang ditunjukkan di bawah ini. Di sini kami telah menambahkan kedua parameter dalam string yang perlu kami kirim melalui menggunakan permintaan GET ke server, setelah itu kami menggunakan httpGet untuk mengirim data ke server. Periksa Kode Lengkap Di Bawah Ini.
Sprintf (postUrl, "update? Api_key =% s & field1 =% s & field2 =% s", api_key, humidStr, tempStr); httpGet ("api.thingspeak.com", postUrl, 80);
Seluruh proses didemonstrasikan di bagian Video, di akhir Artikel ini.
Pekerjaan proyek ini didasarkan pada komunikasi serial kawat tunggal untuk mengambil data dari DHT11. Arduino pertama mengirimkan sinyal start ke modul DHT dan kemudian DHT memberikan sinyal respon dengan berisi data. Arduino mengumpulkan dan mengekstrak data dalam dua bagian pertama adalah kelembaban dan kedua adalah suhu dan kemudian mengirimkannya ke LCD 16x2 dan server ThingSpeak. ThingSpeak menampilkan Data dalam bentuk Graph seperti di bawah ini:
Anda dapat mempelajari lebih lanjut tentang Sensor DHT11 dan Antarmuka dengan Arduino di sini.
Deskripsi Sirkuit:
Koneksi untuk Proyek Pemantauan Suhu dan Kelembaban ThingSpeak ini sangat sederhana. Di sini Liquid Crystal Display digunakan untuk menampilkan Suhu dan Kelembaban, yang langsung terhubung ke Arduino dalam mode 4-bit. Pin LCD RS, EN, D4, D5, D6 dan D7 dihubungkan dengan pin digital Arduino nomor 14, 15, 16, 17, 18 dan 19. LCD ini bersifat opsional.
Modul Sensor DHT11 terhubung ke pin digital 12 Arduino. Modul Wi-Fi Vcc dan pin GND ESP8266 terhubung langsung ke 3.3V dan GND dari Arduino dan CH_PD juga terhubung dengan 3.3V. Pin Tx dan Rx ESP8266 terhubung langsung ke pin 2 dan 3 Arduino. Software Serial Library juga digunakan di sini untuk memungkinkan komunikasi serial pada pin 2 dan 3 Arduino. Kami telah membahas modul Wi-Fi Antarmuka ESP8266 ke Arduino secara rinci.
Bagian Pemrograman:
Bagian pemrograman dari proyek ini memainkan peran yang sangat penting untuk melakukan semua operasi. Pertama-tama kami menyertakan pustaka yang diperlukan dan menginisialisasi variabel.
#include "dht.h" // Termasuk pustaka untuk dht #include
Setelah itu masukkan kunci Write API Anda dan ambil beberapa string.
char * api_key = "SIWOYBX26OXQ1WMS"; // Masukkan kunci Write API Anda dari ThingSpeak static char postUrl; int humi, tem; void httpGet (String ip, jalur String, int port = 80);
Dalam fungsi void loop () kita membaca suhu dan kelembaban dan kemudian menunjukkan pembacaan tersebut di LCD.
void send2server () berfungsi untuk mengirim data ke server. Fungsi Send2server adalah rutinitas layanan interupsi timer, memanggil setiap 20 detik. Ketika kita memanggil fungsi pembaruan, rutinitas layanan interupsi pengatur waktu dipanggil.
void send2server () {char tempStr; char humidStr; dtostrf (tem, 5, 3, tempStr); dtostrf (humi, 5, 3, humidStr); sprintf (postUrl, "update? api_key =% s & field1 =% s & field2 =% s", api_key, humidStr, tempStr); httpGet ("api.thingspeak.com", postUrl, 80); }