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
terimakasih untuk kali ini, semoga bermanfaat, jika ada yang ingin di tanyakan silahakn komentar di bawah.
Keyword
- ESP8266 Send Data to Database
- Mengirim Data ke Database
- Arduino Mengirim Data ke Database
- Arduino NodeMCU XAMPP
- Tutorial IoT HTTP POST NodeMCU
- Tutorial HTTP POST DATABASE
- MySQL dan NodeMCU
- Database dan NodeMCU ESP8266
- ESP8266 Mengirim Data ke Database
Bang pada alamat “http://monitoringdaya.anakkendali.com/api.php” itu nanti diganti dengan alamat web kita yaa?
bener gan
kalo mau coba pake web itu juga bisa,, login dengan username : siapa dan password : siapa
kook nggak bisa ya min username dan passwordnya?
car jalanin doenya gimana ?
maaf gan, maksudnya bagaimana?
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?
kook nggak bisa ya min username dan passwordnya?