Sistem Monitoring Pemakaian Energi Listrik merupakan sebuah platform IoT yang bertujuan untuk melihat dan memanfaatkan data hasil penginderaan suatu sensor yang kemudian dianalisa dan dikembangkan untuk tujuan tertentu, dalam hal ini user bisa memanfaatkan sistem monitoring energi untuk penghematan dan memantau peralatan yang boros energi.
Pada kesempatan ini akan dibahas secara tuntas mengenai cara-cara perakitan dan pembuatan kode program untuk membuat Sistem Monitoring Pemakaian Energi Listrik Rumah via App Smartphone, bahan dan peralatan yang dibutuhkan adalah sebagai berikut :
- ESP32
- Sensor PZEM-004T
- Kabel jumper
- Kabel AC
- Steker
- Terminal
Setelah semua peralatan dan bahan terkumpul, buatalah rangkaian seperti yang ada pada gambar di bawah ini.
Kode Program PZEM-004T
Berikut ini adalah kode program untuk mengirimkan data hasil sensor PZEM-004T untuk memonitoring penggunaan energi listrik :
//Untuk WiFi Blynk
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char auth[] = "Isi dengan Auth Token Blynk yang didapatkan saat membuat aplikasi";
char ssid[] = "Ganti dengan nama Wifi kalian";
char pass[] = "Ganti dengan Password WiFi kalian";
//Untuk PZEM
#include <HardwareSerial.h>
#include <PZEM004T.h>
#define HardwareSerial Serial2(2); // Gunakan hwserial UART2 at pins IO-16 (RX2) and IO-17 (TX2)
PZEM004T pzem(&Serial2);
IPAddress ip(192,168,1,1);
float v;
float i;
float p;
float e;
void setup() {
Serial.begin(115200);
while (true) {
Serial.println("Connecting to PZEM...");
if(pzem.setAddress(ip))
break;
delay(1000);
Blynk.begin(auth, ssid, pass);
}
}
void bacaPZEM(){
//PZEM
v = pzem.voltage(ip);
if (v < 0.0) v = 0.0;
Serial.print(v);Serial.print("V; ");
i = pzem.current(ip);
if(i >= 0.0){ Serial.print(i);Serial.print("A; "); }
p = pzem.power(ip);
if(p >= 0.0){ Serial.print(p);Serial.print("W; "); }
e = pzem.energy(ip);
if(e >= 0.0){ Serial.print(e);Serial.print("Wh; "); }
Serial.println();
delay(3000);
}
void sendtoblynk(){
Blynk.virtualWrite(V0, v);
Blynk.virtualWrite(V1, i);
Blynk.virtualWrite(V2, p);
Blynk.virtualWrite(V3, e);
}
void loop() {
bacaPZEM();
delay(1000);
sendtoblynk();
Blynk.run();
}
Pastikan sebelum menulis kode program dan menguploadnya ke board ESP32, kalian sudah menyiapkan library khusus PZEM, jika belum punya bisa download disini. dan library Blynk apabila juga belum punya silahkan download disini atau Github
Cara Setting Tampilan Data Sensor Menggunakan Blynk
1. Buka aplikasi Blynk di smartphone (pastikan sebelumnya sudah mendaftar dengan benar)
2. Pilih "New Project"
3. Beri nama aplikasi kalian dan pilih board yang digunakan
4. Tekan tombol "Create" maka secara otomatis kode Auth Token dikirim ke email pendafaran
5. Memasukkan widget dengan menekan tombol (+) yang berada di kanan atas aplikasi
Berikut adalah hasil uji coba "Sistem Monitoring Energi Listrik", dalam percobaannya penulis menambahkan sensor suhu untuk mempercantik tampilan, perhatikan gambar di bawah ini.