Tutorial ESP8266 Mengirim Data ke Database HTTP POST

ESP8266 Merupakan Modul Wifi yang sangat familiar untuk dibuat proyek sistem IoT atau internet of things, dan artikel ini akan membahas tuntas tutorial ESP8266 NodeMCU atau Wemos D1 Mini untuk mengirim data ke server XAMPP dan di simpan pada Database MySQL

Pada kesempatan kali ini, saya akan menulis tentang Tutorial HTTP Post NodeMCU Database Offline dan online

Banyak Sekali Keunaan belajar mengenai metode post data ke database baik offline maupun online, karena metode HTTP POST menurut saya pribadi jauh lebih baik dibandingkan dengan menggunakan HTTP GET.

ada satu metode yang lebih baik lagi yaitu menggunakan metode MQTT, namun karena kali ini judulnya menggunakan HTTP POST maka tutorial nya juga tentang HTTP POST.

kita dapat menggunakan mikrokontroler ESP8266 jenis apapun, karena semuanya sama, hanya berbeda spesifikasi sedikit saja.

pada tutorial kali ini kita tidak memerlukan wiring atau skematik apapun, karena saya hanya menggunakan satu buah NODEMCU ESP8266 untuk melakukan kirim data secara random menggunakan perintah serial dari monitor ARDUINO IDE.

Program Arduino IDE ESP8266 Kirim Data ke Database MySQL

berikut adalah program Arduino IDE untuk di upload ke mikrokontroler NodeMCU atau Wemos ESP8266

#include <ESP8266WiFi.h>
#include <WiFiClient.h> 
#include <ESP8266WebServer.h>
#include <ESP8266HTTPClient.h>


const char *ssid = "KOST_RAMA";  //Nama Wifi
const char *password = "bayardulu500"; // pass wifi 

void setup() {
  delay(1000);
  Serial.begin(115200);
  WiFi.mode(WIFI_OFF);        
  delay(1000);
  WiFi.mode(WIFI_STA); 
  
  WiFi.begin(ssid, password); 
  Serial.println("");

  Serial.print("Connecting");
  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());  //IP address assigned to your ESP
}

void loop() {

  if (Serial.available()){
    int a = Serial.parseInt();

    if (a > 0){
      kirim_data();
    }
  }
  
}

void kirim_data(){
  
  int tegangan, arus, suhu, kelembaban;
  tegangan = random(0,12);  // ubah dengan data dari sensor
  arus = random(0,3); // ubah dengan data dari sensor
  suhu = random(28,32); // ubah dengan data dari sensor
  kelembaban = random(50,95); // ubah dengan data dari sensor
 
  String postData = (String)"tegangan=" + tegangan + "&arus=" + arus 
  + "&suhu=" + suhu + "&kelembaban=" + kelembaban; 
  
  HTTPClient http;
  http.begin("http://monitoringdaya.anakkendali.com/api.php");            
  http.addHeader("Content-Type", "application/x-www-form-urlencoded");  

  auto httpCode = http.POST(postData);   
  String payload = http.getString();    

  Serial.println(postData); 
  Serial.println(payload);   

  http.end(); 
}

dan berikut adalah code php yang harus di buat, dan saya membagi dalam tbeberapa buah file php untuk mempermudah pengeditan atau debuging.

dan karena lumayan banyak silahkan download saja pada link berikut

DOWNLOAD FILE PHP

terimakasih untuk kali ini, semoga bermanfaat, jika ada yang ingin di tanyakan silahakn komentar di bawah.

Keyword

  1. ESP8266 Send Data to Database
  2. Mengirim Data ke Database
  3. Arduino Mengirim Data ke Database
  4. Arduino NodeMCU XAMPP
  5. Tutorial IoT HTTP POST NodeMCU
  6. Tutorial HTTP POST DATABASE
  7. MySQL dan NodeMCU
  8. Database dan NodeMCU ESP8266
  9. ESP8266 Mengirim Data ke Database
chaerul

View Comments

  • Bang pada alamat "http://monitoringdaya.anakkendali.com/api.php" itu nanti diganti dengan alamat web kita yaa?

  • Bang boleh minta penjelasannya terkait sintax yang ini

    if (Serial.available()){
    int a = Serial.parseInt();

    if (a > 0){
    kirim_data();
    }
    }

    }

    ?

    • serial available.. ngecek ada data yang di input dari serial monitor
      parseint baca data kemudian di konvert ke int

      jika yang di input angka lebih dari 0 maka lakukan pengiriman data

  • maaf bang, mau tanya apakah di web nya sewaktu read data sudah realtime, atau perlu di refresh untuk mendapatkan data terbaru ? Terimakasih

  • bg error code begini
    call to 'HTTPClient::begin' declared with attribute error: obsolete API, use ::begin(WiFiClient, url)

    kenapa yah?? apa karena beda library?

Recent Posts

Panduan Lengkap: Cara Menyiapkan Klaster Kubernetes pada Ubuntu 22.04 LTS

Pendahuluan Dalam dunia pengembangan perangkat lunak yang terus berkembang, Kubernetes telah muncul sebagai alat kunci dalam orkestrasi…

6 days ago

AplikasiAkademik.com: Solusi Terbaik untuk Manajemen Sekolah yang Efisien

Mengelola sebuah sekolah atau lembaga pendidikan adalah tugas yang kompleks dan penuh tantangan. Dengan berbagai…

7 months ago

Cara Mudah Menginstal OpenVPN Server di Ubuntu 20.04 di Huaweicloud Panduan Langkah demi Langkah

Selamat datang di artikel kami tentang cara menginstal OpenVPN server di Ubuntu 20.04 di HuaweiCloud!…

12 months ago

Install Docker Portainer dan Nginx Proxy Manager Ubuntu Server

Dalam dunia pengembangan aplikasi, salah satu hal yang menjadi penting adalah mengelola dan memonitor kontainer…

1 year ago

Tutorial led blinking lengkap, Wiring & Code

Tutorial led blinking. LED (Light Emitting Diode) merupakan salah satu komponen elektronik yang paling umum…

1 year ago

Tutorial LCD Display Lengkap dengan wiring & code untuk pemula

Tutorial LCD Display, ini merupakan salah satu komponen yang sering digunakan dalam project elektronika sebagai…

1 year ago