Monitoring Suhu dan Kelembaban Menggunakan DHT11, NodeMCU, MQTT, Node-Red dan MySQL
[DRAFT]
Pada artikel kali ini, disini saya akan menyampaikan mengenai bagaimana memonitor suhu ruangan menggunakan DHT11, NodeMCU, NodeRed MQTT dan MySQL/MariaDB Database. Barang-barang yang perlu disiapkan :
Berikut tahap-tahapnya :
Pada artikel kali ini, disini saya akan menyampaikan mengenai bagaimana memonitor suhu ruangan menggunakan DHT11, NodeMCU, NodeRed MQTT dan MySQL/MariaDB Database. Barang-barang yang perlu disiapkan :
- Arduino IDE
- NodeMCU
- Kabel Jumper (male-male) 3 pcs
- Sensor DHT11
- Breadboard (optional)
- Kabel microusb (untuk power)
- Wifi Connection (Mobile Tethering dll)
- Termux/VM/Container yang menjalankan
- MQTT Broker / mosquitto (apt install mosquitto (debian/termux based), yum install mosquitto (redhat based), apk add mosquitto (alpine))
- MySQL/MariaDB (cara install sudah pernah dibahas)
- NodeRed (cara install sudah pernah dibahas)
Berikut tahap-tahapnya :
- Konfigurasikan board NodeMCU dan DHT11 menjadi berikut :
- Pin + pada DHT11 dihubungkan ke pin 3v3 pada NodeMCU
- Pin - pada DHT11 dihubungkan ke pin Ground pada NodeMCU
- Pin tengah pada DHT11 dihubungkan ke pin D5 pada NodeMCU
https://circuits4you.com/wp-content/uploads/2019/01/NodeMCU-DHT11-DHT22.png - Hubungkan NodeMCU ke laptop dengan menggunakan kabel microusb.
- Install arduino IDE di laptop/komputer teman-teman dengan mendownload installernya di sini.
- Setelah arduino ide terinstall, buka aplikasi Arduino IDE, kemudian klik preferences.
- Pada window yang muncul, masukkan
https://arduino.esp8266.com/stable/package_esp8266com_index.json di bagian
Additional Board Manager URL.
Buka Board Manager dari menu Tools > Board. Lalu cari dan install esp8266 platform. Jangan lupa ubah konfigurasi Board di Arduino IDE menjadi ESP8266 dengan memilih di menu Tools->Board.
Download library DHT11 dari link ini.
Install DHT11 library dari adafruit dengan membuka menu Sketch->Include Library->Add .ZIP Library dan masukkan file library yang tadi didownload.
Install MQTT Client library dengan membuka menu Sketch->Include Library->Manage Libraries. Cari PubSubClient dan klik install.
Selanjutnya copy code berikut :
#include <ESP8266WiFi.h>
#include <PubSubClient.h>
#include <dht.h>
#define sensor D5
dht DHT;
const char* ssid = "SSID WiFi";
const char* password = "Password WiFi";
const char* mqttServer = "IP/Hostname MQTT Server";
const int mqttPort = 1883;
const char* mqttUser = "MQTT User";
const char* mqttPassword = "MQTT Client";
WiFiClient jarkomSensor;
PubSubClient client(jarkomSensor);
void setup() {
Serial.begin(9600);
initNetwork();
client.setServer(mqttServer, mqttPort);
}
void loop() {
if(!client.connected()){
initMqtt();
}
client.loop();
DHT.read11(sensor);
float hum = DHT.humidity;
float temp = DHT.temperature;
Serial.print("Humidity : ");
Serial.println(hum);
Serial.print("Temperatur : ");
Serial.println(temp);
char h[8];
char t[8];
itoa(hum, h, 10);
itoa(temp, t, 10);
client.publish("jarkom/dht11/hum", h);
client.publish("jarkom/dht11/temp", t);
delay(5000);
}
void initNetwork(){
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print("..");
}
Serial.println("Wifi berhasil terhubung");
Serial.print("IP Address : ");
Serial.println(WiFi.localIP());
}
void initMqtt() {
while (!client.connected()) {
Serial.println("Menghubungkan ke MQTT...");
String idClient = "ESP8266Client-";
idClient += String(random(0xffff), HEX);
if (client.connect(idClient.c_str(), mqttUser, mqttPassword )) {
Serial.println("Terhubung ke MQTT Server");
} else {
Serial.print("Gagal terhubung ke MQTT dengan status ");
Serial.println(client.state());
delay(2000);
}
}
}
mantap mantap, ajarin hu
BalasHapusGak selesai brow?
BalasHapuskeren bang thks
BalasHapus