ESP8266, NodeMCU Kirim Data Tegangan Arus DC ke Database Sensor INA219

Helo temen temen anakkendali
pada kesempatan kali ini, saya akan menulis artikel tentang ESP8266, NodeMCU Kirim Data Tegangan Arus DC ke Database Sensor INA219

sebelumnya juga sudah banyak artikel yang berkaitan dengan Database dan NodeMCU, dan kali ini saya menulis tutorial yang lebih spesifik yaitu mengirim data dari sensor INA219 berup parameter Tegangan, Arus dan Daya

yang dibaca oleh sensor INA219 adalah daya yang masuk ke NodeMCU jadi pada rangkaian berikut bebanya berupa NodeMCU sendiri.

keyword :
Tutorial Sensor Ina219 Arduino,
Tutorial Sensor Tegangan Arduino,
Tutorial Sensor Arus Arduino,
Cara Mengakses Sensor Arus Arduino,
Cara Mengakses Sensor INA219,
Cara Mengirim Sensor Arus Tegangan ke database,
Kirim Data Ke database Nodemcu,
Tutorial Database NodeMCU Arus Tegangan,
Wemos D1 Mini Nodemcu,
Tutorial Wemos Database ESP8266,
ESP8266

Baca Juga :  ESP8266 Nodemcu Membaca Data dari Database MySQL

sebelum membuat program nya persiapkan dulu alat alat yang dibutuhkan.

XAMPP
WIFI
NODEMCU
Sensor INA219
LAPTOP

jika sudah tersedia mari kita buat rangkaian nya seperti berikut :

ESP8266, NodeMCU Kirim Data Tegangan Arus DC ke Database Sensor INA219

batre 9V bisa kalian ganti dengan Adaptor atau PSU, saya sendiri menggunakan Adaptor yang dapat dirubah teganganya.

selanjutnya buat database nya terlebih dahulu, jika tidak mau repot silahkan download database yang sudah saya buat kemudian import kan ke server XAMPP kamu sendiri.
Download File Database disini

untuk satuanya
tegangan = V
Arus = mA
Daya = mW

sekarang buatlah file php sebagai jembatan pengirim dari NodeMCU ke database.
didalam folder htdocs saya membuat folder dengan nama monitorVI, nah didalam folder monitorVI inilah kita menyimpan dua file php untuk update data ke database nya.
dua file php nya silahkan langsung DOWNLOAD DISINI

Baca Juga :  Modul IoT, NodeMCU Mengakses RFID 125Khz RDM6300

untuk program NodeMCU menggunakan Arduino IDE bisa DOWNLOAD DISINI

atau program NodeMCU nya bisa di copy paste di bawah ini :

#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include <Wire.h>
#include <Adafruit_INA219.h>
WiFiClient client;
Adafruit_INA219 ina219;
const int chipSelect = 53;
const char* host = "192.168.1.10";
String data;
HTTPClient http;
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  Serial.begin(9600);
  WiFi.disconnect();
  WiFi.mode(WIFI_STA);
  WiFi.begin("KOST_RAMA", "bayardulu500");
  while ((!(WiFi.status() == WL_CONNECTED))) {
    delay(300);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("Connected");
  uint32_t currentFrequency;
  ina219.begin();
}
void loop() {
  // put your main code here, to run repeatedly:
  float busvoltage = 0;
  float current_mA = 0;
  float power_mW = 0;
  busvoltage = ina219.getBusVoltage_V();
  current_mA = ina219.getCurrent_mA();
  power_mW = ina219.getPower_mW();
  if (!client.connect(host, 80)) {
    Serial.println("Gagal Konek");
    return;
  }
  data = "/monitorVI/update.php?teg=";
  data += busvoltage;
  data += "&arus=";
  data += current_mA;
  data += "&daya=";
  data += power_mW;
  client.print(String("GET ") + data + " HTTP/1.1rn" + "Host: " + host + "rn" + "Connection: closernrn");
  Serial.print("data yang dikirim, Tegangan : ");
  Serial.print(busvoltage);
  Serial.print("t");
  Serial.print("Arus: ");
  Serial.print(current_mA);
  Serial.print("Daya: ");
  Serial.println(power_mW);
  delay(1000);
  unsigned long timeout = millis();
  while (client.available() == 0) {
    if (millis() - timeout > 5000) {
      Serial.println(">>> Client Timeout !");
      client.stop();
      return;
    }
  }
}

mungkin cukup sekian artikel kali ini, pastikan selalu berkunjung di web anakkendali.com karena tanpa pengunjung saya pun males menulis.
jika ada yang ingin di tanyakan silahkan komentar di bawah, atau chat langsung melalui mesenger atau whatsapp.
semoga bermanfaat.