By | 20/03/2020

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

Tutorial ESP8266 Mengirim Data ke Database HTTP POST

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

11 Replies to “Tutorial ESP8266 Mengirim Data ke Database HTTP POST”

  1. Ardy Prologic

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

    Reply
    1. herul Post author

      kalo mau coba pake web itu juga bisa,, login dengan username : siapa dan password : siapa

      Reply
      1. alif

        kook nggak bisa ya min username dan passwordnya?

        Reply
  2. Iwan Hardiawan

    Bang boleh minta penjelasannya terkait sintax yang ini

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

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

    }

    ?

    Reply
    1. herul Post author

      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

      Reply
  3. Aufa

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

    Reply
  4. Fauzan

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

    kenapa yah?? apa karena beda library?

    Reply
  5. alif

    kook nggak bisa ya min username dan passwordnya?

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *