Kelembapan dan Suhu adalah parameter yang sangat umum untuk mengukur di banyak tempat seperti ladang, rumah hijau, perubatan, rumah industri dan pejabat. Kami telah membahas Pengukuran Kelembapan dan Suhu menggunakan Arduino dan memaparkan data di LCD.
Dalam projek IoT ini kita akan Memantau Kelembapan dan Suhu melalui internet menggunakan ThingSpeak di mana kita akan menunjukkan data Kelembapan & Suhu semasa melalui Internet menggunakan pelayan ThingSpeak. Ia dicapai dengan komunikasi data antara Arduino, DHT11 Sensor Module, ESP8266 WIFI module dan LCD. Termometer skala Celsius dan meter kelembapan skala peratusan memaparkan suhu dan kelembapan persekitaran melalui paparan LCD dan juga menghantarnya ke pelayan ThingSpeak untuk pemantauan langsung dari mana saja di dunia.
Penyediaan Bekerja dan ThingSpeak:
Projek berasaskan IoT ini mempunyai empat bahagian, pertama Sensor Kelembapan dan Suhu DHT11 merasakan Data Kelembapan dan Suhu . Kedua Arduino Uno mengekstrak data sensor DHT11 sebagai bilangan yang sesuai dalam skala peratusan dan Celsius, dan mengirimkannya ke Modul Wi-Fi. Modul Wi-Fi Ketiga ESP8266 menghantar data ke ThingSpeak's Sever. Dan akhirnya ThingSpeak menganalisis data dan menunjukkannya dalam bentuk Grafik. LCD pilihan juga digunakan untuk menampilkan Suhu dan Kelembapan.
ThingSpeak menyediakan alat yang sangat baik untuk projek berasaskan IoT untuk Arduino. Dengan menggunakan laman ThingSpeak, kami dapat memantau data kami melalui Internet dari mana saja, dan kami juga dapat mengendalikan sistem kami melalui Internet, menggunakan Saluran dan laman web yang disediakan oleh ThingSpeak. ThingSpeak 'Mengumpulkan' data dari sensor, 'Menganalisis dan Memvisualisasikan ' data dan 'Bertindak' dengan mencetuskan reaksi. Di sini kami menerangkan mengenai cara mengirim Data ke pelayan ThingSpeak dengan menggunakan Modul WIFI ESP8266:
1. Pertama sekali, pengguna perlu Membuat Akaun di ThingSpeak.com, kemudian Log masuk dan klik Bermula.
2. Sekarang pergi ke menu 'Saluran' dan klik pada pilihan Saluran Baru di halaman yang sama untuk proses selanjutnya.
3. Sekarang anda akan melihat borang untuk membuat saluran, isikan Nama dan Keterangan mengikut pilihan anda. Kemudian isikan 'Kelembapan' dan 'Suhu' di label Medan 1 dan Medan 2, tandakan kotak pilihan untuk kedua-dua Medan. Tandakan juga kotak pilihan untuk pilihan 'Buat Umum' di bawah dalam borang dan akhirnya Simpan Saluran. Kini saluran baru anda telah dibuat.
4. Sekarang klik pada tab 'Kekunci API' dan simpan kekunci API Tulis dan Baca, di sini kita hanya menggunakan kekunci Tulis. Anda perlu menyalin kunci ini di char * api_key dalam Kod.
5. Selepas itu, klik pada 'Import Data / Export' dan salin Update Channel Feed GET Request URL, iaitu:
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 hantar data menggunakan suapan data atau kemas kini alamat permintaan.
Sebelum mengirim data, pengguna perlu mengedit rentetan pertanyaan ini atau postUrl dengan medan data suhu dan kelembapan, seperti yang ditunjukkan di bawah. Di sini kita telah menambahkan kedua parameter dalam string yang perlu kita kirimkan dengan menggunakan permintaan GET ke pelayan, setelah itu kita telah menggunakan httpGet untuk mengirim data ke pelayan. Lihat Kod lengkap di Bawah.
Sprintf (postUrl, "kemas kini? Api_key =% s & field1 =% s & field2 =% s", api_key, humidStr, tempStr); httpGet ("api.thingspeak.com", postUrl, 80);
Seluruh proses ditunjukkan di bahagian Video, di akhir Artikel ini.
Pengerjaan projek ini berdasarkan komunikasi bersiri wayar tunggal untuk mengambil data dari DHT11. Arduino pertama menghantar isyarat permulaan ke modul DHT dan kemudian DHT memberikan isyarat tindak balas dengan mengandungi data. Arduino mengumpulkan dan mengekstrak data dalam dua bahagian pertama adalah kelembapan dan kedua adalah suhu dan kemudian menghantarnya ke pelayan LCD 16x2 dan ThingSpeak. ThingSpeak memaparkan Data dalam bentuk Grafik seperti di bawah:
Anda boleh mengetahui lebih lanjut mengenai Sensor DHT11 dan Interfacingnya dengan Arduino di sini.
Penerangan Litar:
Sambungan untuk Projek Pemantauan Suhu dan Kelembapan ThingSpeak ini sangat mudah. Di sini Liquid Crystal Display digunakan untuk menampilkan Suhu dan Kelembapan, yang disambungkan secara langsung ke Arduino dalam mod 4-bit. Pin LCD iaitu RS, EN, D4, D5, D6 dan D7 disambungkan ke pin digital Arduino nombor 14, 15, 16, 17, 18 dan 19. LCD ini adalah pilihan.
Modul Sensor DHT11 disambungkan ke pin digital 12 dari Arduino. Modul Wi-Fi pin Vcc dan GND ESP8266 disambungkan terus ke 3.3V dan GND Arduino dan CH_PD juga disambungkan dengan 3.3V. Pin Tx dan Rx ESP8266 disambungkan terus ke pin 2 dan 3 Arduino. Perisian Serial Perpustakaan juga digunakan di sini untuk membenarkan komunikasi bersiri pada pin 2 dan 3 Arduino. Kami telah membahas Interfacing modul Wi-Fi ESP8266 ke Arduino secara terperinci.
Bahagian Pengaturcaraan:
Pengaturcaraan bahagian projek ini memainkan peranan yang sangat penting untuk melaksanakan semua operasi. Pertama sekali kami menyertakan perpustakaan yang diperlukan dan memulakan pemboleh ubah.
#include "dht.h" // Termasuk perpustakaan untuk dht #include
Selepas itu masukkan kunci API Tulis anda dan ambil beberapa rentetan.
char * api_key = "SIWOYBX26OXQ1WMS"; // Masukkan kunci Tulis API anda dari ThingSpeak static char postUrl; int humi, tem; batal httpGet (String ip, String path, int port = 80);
Dalam fungsi gelung void () kita membaca suhu dan kelembapan dan kemudian menunjukkan bacaan tersebut di LCD.
Fungsi void send2server () digunakan untuk menghantar data ke pelayan. Fungsi Send2server adalah rutin perkhidmatan mengganggu pemasa, memanggil setiap 20 saat. Apabila kita memanggil fungsi kemas kini, rutin perkhidmatan mengganggu pemasa dipanggil.
batal send2server () {char tempStr; char humidStr; dtostrf (tem, 5, 3, tempStr); dtostrf (humi, 5, 3, humidStr); sprintf (postUrl, "kemas kini? api_key =% s & field1 =% s & field2 =% s", api_key, humidStr, tempStr); httpGet ("api.thingspeak.com", postUrl, 80); }