Tutorial IoT - Cara Membuat Sistem Monitoring Energi Listrik Melalui App Smartphone

www.tutorialiot.com

Pengertian Sistem Monitoring Energi

Sistem Monitoring Energi merupakan sebuah platform IoT yang bertujuan untuk melihat dan memanfaatkan data hasil sensing 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.

Sistem Monitoring Energi Menggunakan ESP32 dan PZEM

Pada pertemuan kali ini Tutorial IoT akan membahas secara tuntas mengenai cara-cara perakitan dan pembuatan kode program untuk membuat Sistem Monitoring Enegi Listrik Rumah via App Smartphone, bahan dan peralatan yang dibutuhkan adalah sebagai berikut :

1. ESP32 Devkit 1

2. PZEM-004T

3. Kabel Jumper

4. Obeng kecil (+) atau (-)

5. Kabel AC biasa

6. Stekker

7. Terminal Listrik

Setelah semua peralatan dan bahan terkumpul, buatalah rangkaian seperti yang ada pada gambar di bawah ini.

www.tutorialiot.com

Hehehe agak kurang rapi gambarnya, maaf, karena di fritzing nggak ada PZEM, stekker dan terminal.
OK Langsung saja ke proses tutorial pembuatan kode program.

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();
}

temen-temen bisa mendowload script code-nya disini.
pastikan sebelum temen-temen 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
Keterangan lebih lanjut untuk pemula bisa mengunjungi halaman "Tutorial Mengendalikan Relay Melalui Blynk App", sudah disertai penjelasan dengan gambar.

Berikut adalah hasil uji coba "Sistem Monitoring Energi Listrik", dalam percobaannya penulis menambahkan sensor suhu untuk mempercantik tampilan, perhatikan gambar di bawah ini.
www.tutorialiot.com

Jika temen-temen ingin belajar mengirimkan data sensor suhu ke Blynk silahkan klik disini

Terimakasih sudah membaca artikel dari Tutorialiot.com Semoga bermanfaat...

Post a Comment

24 Comments

  1. Mau tanya bang..sketch nya cocok juga ya untuk nodemcu esp 8266

    ReplyDelete
  2. bang mau tanyak, delay pengirimannya berapa detik ?

    ReplyDelete
  3. alamat ip PZEM 004t apakah bisa diubah selain 192.168.1.1?

    ReplyDelete
    Replies
    1. bisa kak, apa mau pasang lebih dari satu PZEM dalam 1 arduino? nanti IP nya seperti ini :

      ip[0] = IPAddress(0, 0, 0, 1);
      ip[1] = IPAddress(0, 0, 0, 2);
      ip[2] = IPAddress(0, 0, 0, 3);

      Delete
  4. saya mau nanya kalo pzem-004t dipasang di arduino uno yang make esp-01 sebagai wifi module, komunikasi serialnya pake soft serial atau pake hardserial soalnya si esp8266 komunikasi ama arduino udh pake serial juga pencerahannya gan ?

    ReplyDelete
  5. Kalo pake module gsm gimana ya?

    ReplyDelete
  6. Kalo pake pzem004T versi 3 bisa menggunakan program dan library ini?

    ReplyDelete
  7. untuk library fritzing pzem 004 bisa bagi gk bang

    ReplyDelete
  8. bang boleh minta library fritzing PZEM 004 T ?

    ReplyDelete
  9. bagi library fritzing pzem 004 t
    bang

    ReplyDelete
  10. terimakasih sebelumnya, pemaparan dri blog nya sangat bermanfaat banget. apakah boleh saya minta library fritzing pzem-004t. Terima kasih

    ReplyDelete
  11. terimakasih sebelumnya, pemaparan dri blog nya sangat bermanfaat banget. apakah boleh saya minta library fritzing pzem-004t. Terima kasih

    ReplyDelete
  12. sebelumnya terima kasih, di saya masih belum muncul nilainya, yang ada muncul tulisan " connecting to PZEM"

    ReplyDelete
  13. Cara reset energinya gimana gan? Dan set alarm dan bagaimana cara membaca alarmnya?

    ReplyDelete
  14. misi gan,
    - bisa tidak kalau supply vccnya dari 3v3
    - ttlnya 3v atau 5v?,
    - apa nggk masalah ttlnya 5v yg ke esp32?

    ReplyDelete
    Replies
    1. terus modul pzem nya yang versi berapa?

      Delete
    2. Vin itu kaya volt yang masuk ke espnya mas, jadi besar kecil vin tergantung daya yang diberikan ke esp

      Delete
  15. gan apa ada tutorial yang menggunkan sensor ZMPT untuk tegangannya dan SCT 013untuk sensor arusnya ?

    ReplyDelete