Aplikasi Android Energy Meter Menggunakan PZEM-004T dan NodeMCU

Aplikasi Android Energy Meter Menggunakan PZEM-004T dan NodeMCU
930 x 180 AD PLACEMENT

Halo teman-teman semuanya, pada saat ini DT Production akan memberikan tutorial tentang membuat aplikasi Android untuk Monitoring Tegangan, Arus, Power, Energy dll. Tentunya kita memerlukan database untuk menampung setiap nilai hasil pengukuran sensor PZEM-004T. Untuk itu admin akan menggunakan database realtime yakni Google Firebase. dan untuk platform pembuatan aplikasi android, admin akan menggunakan platform Kodular.

Sebelum kita memulai proyek ini teman – teman perlu menyiapkan modul / sensor yang akan dipakai diantaranya :

PZEM-004T v3.0 | Beli
NodeMCU v3 | Beli
Base Board NodeMCU v3 | Beli
Kabel Jumper Secukupnya | Beli
Adaptor 9v 2A | Beli

Teman – teman bisa mendapatkan modul / sensor tersebut di Toko DT Production. klik tombol berikut untuk melakukan pembelian via Tokopedia

930 x 180 AD PLACEMENT

Wiring

Pada tahap ini kita akan menghubungkan modul / sensor dengan WiFi Kontroler NodeMCU. teman – teman dapat mengikuti dengan telitih. berikut ini adalah tabel konfigurasi pin yang akan kita gunakan.

PZEM-004TNodeMCU (Base Board)
GNDGND
VCCVCC 5v
RXD6
TXD5

Setelah kedua modul diatas telah terpasang, Langkah selanjutnya kita akan membuat database. karna pada tutorial ini kita akan menggunakan google firebase (Database Realtime), maka teman-teman perlu membuat akun di platform google firebase dan login.

Database Setup

Ikuti langkah – langkah berikut untuk membuat database di Firebase.

  1. Lakukan login di google firebase, dan dihalaman awal pilih Go to console.
  2. Pilih menu + Tambah Project.
  3. Masukan nama project yang sesuai dengan keinginan teman – teman sendiri.
  4. Klik Lanjutkan.
  5. Pada halaman Google Analytics, Pilih saja Lanjutkan.
  6. Pada halaman konfigurasi Google Analytics, Pada spinner pilih saja sesuai dengan akun/gmail yang dipakai untuk login ke google firebase. Kemudian pilih Lanjutkan.
  7. Tunggu hingga proses pembuatan database selesai.
  8. Setelah selesai, pilih Lanjutkan untuk menuju ke console database.
  9. Pada sidebar di menu Develop pilihlah Realtime Database.
  10. Selanjutnya klik tombol Buat Database.
  11. Pada aturan kemanan database, centang pada pilihan Mode uji.
  12. Selanjutnya pilih Aktifkan.

Sampai disini kita sudah berhasil untuk membuat database, Selanjutnya yang harus dilakukan adalah melakukan import file .json untuk struktur database-nya, Tujuanya agar sesuai format database yang akan kita gunakan pada proyek ini.

930 x 180 AD PLACEMENT

DTproduction_energy_meter.json | Download

Berikut ini adalah langkah – langkah import file .json yang sudah di unduh.

  1. Masuk ke menu Realtime Database di Firebase.
  2. Disamping url database, terdapat tombol vertikal 3 titik. klik tombol tersebut kemudian pilih menu Impor JSON.
  3. Setelah tampil jendela menu Impor JSON, langkah selanjutnya pilih Cari.
  4. Kemudian pilih file DTproduction_energy_meter.json selanjutnya klik Open.
  5. Langkah terakhir klik tombol Impor.

Jika sesuai maka teman- teman akan mendapatkan tampilan / format database seperti berikut ini.,

iotmonitoring-95ef2 = Project Bucket / Object
current, kwh, rp, volt, watt = Tag / Key
0″ = Value

930 x 180 AD PLACEMENT

Pemrograman

Pada tahap ini kita akan melakukan pemrograman dan akan di upload ke dalam WiFi Kontroler NodeMCU. ada beberapa parameter konfigurasi yang harus teman – teman sesuaikan baik pada versi library dan board esp8266 yang di install di software Arduino IDE. Berikut ini parameter konfigurasi di software Arduino IDE yang admin gunakan.

Arduino IDE v1.8.12 | Download
Board ESP8266 v2.5.2 | Download (Install Via Arduino IDE)
Library ArduinoJson v5.13.1 | Download
Library Firebase-Arduino-Master | Download
Library PZEM v3.0 | Download

Sebelum melanjutkan, pastikan teman-teman sudah melakukan instalasi board ESP8266, menambahkan library ArduinoJson, dan Library Firebase. sesuai dengan versi yang sudah di lampirkan diatas.

Adapun cara menambahkanya, teman -teman bisa melakukan pencarian secara mandiri di google, ataupun mengunjungi video atau tulisan di youtube atau website DT Production.

Setelah semua sudah sesuai, berikut ini adalah program yang akan teman – teman upload kedalam WiFi kontroler NodeMCU.

/*
   Dibuat oleh DT Production
   website : https://dt-production.com
   Online Store : https://tokopedia.com/dtproduction

   Gunakanlah dengan bijak, Jika ada yang kurang mohon dikembangkan atau diperbaiki.
*/

#include <PZEM004Tv30.h>
#include <ESP8266WiFi.h>
#include <FirebaseArduino.h>

#define FIREBASE_HOST "energymeterXXXXX.firebaseio.com" //Firebase url non SSL(https://)
#define FIREBASE_AUTH "IH91fPv4DNXXXXXXXXXXXXXXXXXXXXXXXXXXX" //Secret Key Database
#define WIFI_SSID "DTproduction" //Nama WiFi
#define WIFI_PASSWORD "XXXXXXXXXX" // Password Wifi

PZEM004Tv30 pzem(14, 12);
float harga_KWh = 1.467; //harga per KWh

void setup() {
  Serial.begin(115200);
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  Serial.print("connecting");
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(500);
  }
  Serial.println();
  Serial.print("connected: ");
  Serial.println(WiFi.localIP());
  Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
}

void loop() {
  float voltage = pzem.voltage();
  float current = pzem.current();
  float power = pzem.power();
  float energy = pzem.energy();
  if (isnan(voltage) ) {
    voltage = 0;
  }
  if (isnan(current) ) {
    current = 0;
  }
  if (isnan(power) ) {
    power = 0;
  }
  if (isnan(energy) ) {
    energy = 0;
  }
  float totalHarga = energy * harga_KWh;
  Firebase.setString("volt", String(voltage));
  Firebase.setString("current", String(current, 2));
  Firebase.setFloat("watt", power);
  Firebase.setString("kwh", String(energy, 1));
  Firebase.setString("rp", String(totalHarga, 3));
  Serial.print("Voltage = ");
  Serial.print(voltage);
  Serial.println("v");
  Serial.print("Current = ");
  Serial.print(current, 2);
  Serial.println("A");
  Serial.print("Watt = ");
  Serial.print(power);
  Serial.println("watt");
  Serial.print("KWh = ");
  Serial.print(energy, 1);
  Serial.println("KWh");
  Serial.print("Harga = Rp ");
  Serial.print(totalHarga, 3);
  Serial.println();
  delay(2000);
}

Perhatikan pada baris program berikut :

#define FIREBASE_HOST “energymeterXXXXX.firebaseio.com” ;

Nilainya perlu teman-teman ganti sesuai dengan url database dari database yang sudah teman-teman buat tadi. Kembalilah ke dalam menu Realtime Database di firebase, kemudian salin url nya. lihat gambar berikut

Simak keterangan berikut ini :

https://iotmonitoring-95ef2.firebaseio.com/

Url diatas merupakan contoh url database yang sudah admin buat. hapuslah tulisan yang berwarna merah maka teman-teman akan mendapat nilai yang akan dimasukan kedalam baris program firebase host. tampilanya akan seperti ini :

#define FIREBASE_HOST “iotmonitoring-95ef2.firebaseio.com” ;

Perhatikan pada baris program berikut :

#define FIREBASE_AUTH “IH91fPv4DNXXXXXXXXXXXX” ;

Nilai pada baris program diatas akan kita masukan dengan secret key dari database yang sudah teman – teman buat.

Selanjutnya untuk mendapatkan Secret Key, pada sidebar website google firebase terdapat tombol yang ikon nya Gear atau kita sebut Settings. Klik tombol tersebut dan ikuti langkah berikut :

  1. Pilih Setelan Project.
  2. Pilih tab Akun Layanan
  3. Pilih Database Secret / Rahasia Database
  4. Pilih Tampilkan

Salin secret key itu, kemudian tempelkan kedalam nilai dari baris program Firebase Auth.

Selanjutnya ketia teman – teman sudah melakukan konfigurasi pada URL database, Secret Key, Nama dan Password WiFi yang akan kontroler koneksi, serta harga / KWh nya. maka sebelum melakukan upload, jangan lupa untuk memilih Board dan COM Port.

Memilih board
Di software Arduino IDE klik tab Tools > Board > Pilih NodeMCU 1.0 (ESP-12E Module)

Memilih COM Port
Hubungkan Kabel usb ke komputer dan NodeMCU, di software Arduino IDE klik tab Tools > PORT > Pilih Comport yang terdeteksi.

Catatan
Board NodeMCU tidak ada : Pastikan sudah menginstall board ESP8266 di software Arduino IDE.
COM Port tidak terdeteksi : Bisa karena sedang menginstall driver, atau kabel USB Bermasalah.

Kemudian setelah pengaturan board dan COM port telah selesai, teman – teman sudah bisa untuk melakukan upload program.

Unduh Aplikasi

Sebelum mengunduh aplikasinya teman – teman perlu memperhatikan beberapa hal berikut ini.

  1. Mengizinkan Smartphone android untuk menginstall aplikasi dari sumber yang tidak dikenal.
  2. Memastikan bahwa smartphone terkoneksi dengan jaringan internet.

Berikut ini adalah screen dari aplikasi Energy Meter.

Unutk teman – teman yang mau megunduh file proyek aplikasi androidnya klik tombol berikut,

Import File .aia yang sudah di unduh ke platform android Kodular.

Terimakasih dan semoga bermanfaat.

930 x 180 AD PLACEMENT

Programmer & Videographer.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

You might also like
930 x 180 AD PLACEMENT