By | 05/10/2018

Hello Sahabat Anak Kendali.
Pada kesempatan kali ini saya akan menulis artikel tentang ESP8266, Nodemcu Kirim Data ke Database Hosting Gratis. banyak orang yang berkata bahwasanya kita akan menghadapi era Industri 4.0. NodeMCU Database Online

tidak sedikit seminar yang digelar dengan isi tema Industri 4.0. kata orang Industri 4.0 itu harus IOT, Internet Of Things. semuanya terintgrasi dengan Internet.
oleh sebab itu saya sendiri juga sedang belajar bagaimana menghubungkan mikrokontroler dengan Internet, baik dengan Ethernet, Wifi ataupun modul GSM. dan sebagian tutorial nya sudah saya tulis di blog anakkendali.com.

ESP8266, Nodemcu Kirim Data ke Database Hosting Gratis

adapun kali ini saya mencoba untuk membuat hosting database yang sudah saya buat sehingga bisa di akses melalui internet, karena sebelumnya saya hanya membuat database yang hanya bisa di akses jaringan LAN saja,, dan akhirnya saya tergerak untuk belajar sedikit mengenai WebHosting.

langsung saja berikut adalah Tutorial ESP8266, Nodemcu Kirim Data ke Database Hosting Gratis.
pertama kalian harus mengikuti dulu Tutorial ESP8266, Nodemcu Cara Membaca Tabel Database Localhost supaya lebih mudah untuk mengikuti tutorial kali ini. sehingga kita sekarang hanya akan membuat Hosting nya saja. dan sedikit mengedit Program PHP tersebut.

Konfigurasi Hosting

saya menggunakan hosting Gratis dari 000Webhost.com jadi seperti ini membuat web nya.

1. buka dulu web nya, dan buat akun dengan Email kamu, Sign Up for Free.
2. jika sudah silahkan pilih saja yang gratis, dan buat nama subdomain kamu. disini saya buat alamat web nya  silahkan bisa di cek juga hasilnya
3. Download semua File disini Download
4. extrack semua file nya, lalu kemudian semua file .php upload ke 000webhost caranya lihat di gambar berikut :

ESP8266, Nodemcu Kirim Data ke Database Hosting Gratis
ESP8266, Nodemcu Kirim Data ke Database Hosting Gratis

kemudian kita akan meng Upload file Database nya. pertama buka dulu halam untuk membuat database di 000webhost nya. lihat gambar berikut ini :

ESP8266, Nodemcu Kirim Data ke Database Hosting Gratis
ESP8266, Nodemcu Kirim Data ke Database Hosting Gratis

buat lah database, user dan password nya, kemudian pilih kelola. kamu akan di arahkan ke halam phpmyadmin, kemudian silahkan ke menu IMPORT untuk mengupload file .sql yang ada di dalam file yang tadi kamu download. lihat gambar berikut :

ESP8266, Nodemcu Kirim Data ke Database Hosting Gratis

kemudian silahkan buka lagi halaman kumpulan file php dan buka file koneksi.php rubah nama database, user dan password nya sesuai dengan database yang kamu buat tadi. lihat contoh di gambar berikut :

ESP8266, Nodemcu Kirim Data ke Database Hosting Gratis

setelah itu silahkan coba buka website hosting gratis sebagai demo nya silahkan klik
https://anakkendali.000webhostapp.com
kamu bisa daftar kemudian login untuk melihat database nya. dan tentu saja hal seperti ini belum sempurna karena semua orang bisa mengakses database kita. untuk itu project ini masih akan saya kembangkan. dan jangan sampe ketinggalan update, terus ikuti www.anakkendali.com.

Code Arduino

/*
* visit www.anakkendali.com
* 2018
*
*/

#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
WiFiClient client;
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 4
#define RST_PIN 5
MFRC522 rfid(SS_PIN, RST_PIN);
MFRC522::MIFARE_Key key;
String request_string;
const char* host = "https://anakkendali.000webhostapp.com"; //
HTTPClient http;
void setup() {
// put your setup code here, to run once:
WiFi.disconnect();
WiFi.begin("KOST_RAMA","bayardulu500");
while ((!(WiFi.status() == WL_CONNECTED))){
delay(300);
}
Serial.begin(9600);
SPI.begin();
rfid.PCD_Init();
Serial.println("I am waiting for card...");
}
String strID,val, data;
void loop() {
// put your main code here, to run repeatedly:
while (client.available()>0){
delay(10);
char c = client.read();
data+=c;
}
if (data.length()>0){
Serial.println(data);
data="";
}

if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial())
return;
// Serial.print(F("PICC type: "));
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);
// Serial.println(rfid.PICC_GetTypeName(piccType));
// Check is the PICC of Classic MIFARE type
if (piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&
piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
piccType != MFRC522::PICC_TYPE_MIFARE_4K) {
Serial.println(F("Your tag is not of type MIFARE Classic."));
return;
}
//id kartu dan yang akan dikirim ke database
strID = "";
for (byte i = 0; i < 4; i++) {
strID +=
(rfid.uid.uidByte[i] < 0x10 ? "0" : "") +
String(rfid.uid.uidByte[i], HEX) +
(i != 3 ? ":" : "");
}

strID.toUpperCase();
Serial.print("Tap card key: ");
Serial.println(strID);
val = "500"; // nilai kartu yang akan dikirim
//  tambah_database();
baca_database();
delay(1000);

}
void tambah_database()
{
if (!client.connect(host,80)) {
Serial.println("Gagal Konek");
return;
}
request_string = "/rfidadd.php?idcard=";
request_string += strID;
request_string += "&val=";
request_string += val;
Serial.print("requesting URL: ");
Serial.println(request_string);
client.print(String("GET ") + request_string + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: closernrn");

unsigned long timeout = millis();
while (client.available() == 0) {
if (millis() - timeout > 5000) {
Serial.println(">>> Client Timeout !");
client.stop();
return;
}
}
}
void baca_database()
{
if (!client.connect(host,80)) {
Serial.println("Gagal Konek");
return;
}
request_string = "/rfidread.php?idcard=";
request_string += strID;
Serial.print("requesting URL: ");
Serial.print(request_string);
client.print(String("GET ") + request_string + " HTTP/1.1rn" + "Host: " + host + "rn" + "Connection: closernrn");

unsigned long timeout = millis();
while (client.available() == 0) {
if (millis() - timeout > 5000) {
Serial.println(">>> Client Timeout !");
client.stop();
return;
}
}
}

kurang lebih nya saya minta maaf, terimakasih sudah berkunjung jangan lupa untuk berdonasi dengan cara Share artikel ini dan bila perlu tinggalkan komentarmu di bawah.

Keyword

  • esp8266 database hosting
  • webhosting database esp8266
  • wemos d1 mini database hosting
  • cara kirim data esp8266 hosting web
  • hosting web
  • baca database hosting
  • Nodemcu Database Online

41 Replies to “ESP8266, Nodemcu Kirim Data ke Database Hosting Gratis”

  1. Chaerul Anam

    bisa sama, bisa beda 🙂
    tapi yang jelas nodemcu bisa di program dengan bahasa yang sama dengan arduino 🙂

    Reply
  2. Anonim

    Maaf admin saya mau tanya.. ini data yg di database otomatis ke-update ketika arduino runing atau manual melalui import itu min?

    Reply
  3. Anak Kendali

    kalo di project ini, setiap Card RFID di tag,, maka data masuk ke database otomatis. karena sudah pake hosting jadi wifinya harus terhubung ke internet

    Reply
  4. ESP

    Mas itu void database nya emang gak di pake mas ?

    Reply
    1. admin Post author

      dipake mas,, ada yang buat baca, ada yang buat kirim, bisa dipake bebarengan atau salah satu aja 🙂

      Reply
      1. ESP

        saya udah coba mas menggunakan ESP8266-01 dan hosting ke 000webhost tapi disni saya make framework CI, udah sesuai sama kodingan di bagian GET tapi tetap gak keriim mas, ke database hosting nya kira2 salah dimana ya mas ? apa harus ada fungsi baca database sama tambah database mas ?

        Reply
        1. admin Post author

          kalo langsung di test tambahkan data ke database menggunakan browser sudah bisa?

          Reply
          1. ESP

            dari browser dari phpmyadmin nya mas ? kalau dari situ bisa mas

          2. admin Post author

            bukan dari phpmyadminya, tapi dari url bar yang ada di chrom,

            biasanya untuk update data atau post data atau baca data kaya gini kan formatnya

            domain.com/file.php?data=21&data1=23

            nah url diatas coba di load pada chrom atau mozila bisa atau nggak?,

  5. ESP

    untuk melaui url bisa mas di database data yang masukin malalui url masuk mas,

    Reply
    1. admin Post author

      boleh di copy kan code nya kesini,, arduino nya

      Reply
      1. ESP

        #define nama_wifi “Wifi”
        #define pass_wifi “1gakada123”
        #define ip_host “https://smart-locker.000webhostapp.com”
        #include
        #include
        #include
        #include
        #define RST_PIN 8
        #define SS_PIN 9

        LiquidCrystal_I2C lcd(0x27, 16, 2);
        MFRC522 rfid(SS_PIN, RST_PIN);

        //PIN INFRARED
        #define isObstaclePin1 2

        #define EMPTY true
        #define FILLED false

        //STATUS SENSOR IR TO DATABASE
        int isObstacle1 = HIGH; //HIGH MEANS NO OBSTACLE (TIDAK ADA BARANG)
        byte readCard[4];
        String NEW_DATA_READ = “”;
        String strID;
        char setID[50];
        int successRead;
        boolean connected = false;

        void setup() {
        Serial.begin(9600);
        Serial1.begin(9600);
        Serial1.begin(115200);
        pinMode(isObstaclePin1, INPUT);
        SPI.begin();
        rfid.PCD_Init();

        Serial1.setTimeout(5000);
        Serial.println(“CHECK ESP8266”);
        delay (1000);
        Serial1.println(“AT+RST”);
        delay(1000);
        if(Serial1.find(“WIFI GOT IP”))
        {
        Serial.println(“ESP8266 SIAP”);
        }
        else {
        Serial.println(” Tidak Ada Response dari ESP8266 “);
        while(1);
        }
        delay(1000);

        for (int i=0; i”)){
        Serial.print(“>”);
        } else {
        Serial1.println(“AT+CIPCLOSE”);
        Serial.println(“Koneksi Timeout”);
        delay(1000);
        return;
        }
        Serial1.print(cmd2);
        delay(2000);

        while(Serial1.available())
        {
        char c =Serial1.read();
        Serial.write(c);
        if (c==’\r’) Serial.print(‘\n’);
        }
        Serial.println(“—–end”);
        delay(10000);
        }

        void connect_to_wifi()
        {
        Serial1.println(“AT+CWMODE=1”);
        String cmd = “AT+CWJAP=\””;
        cmd+=nama_wifi;
        cmd+=”\”,\””;
        cmd+=pass_wifi;
        cmd+=”\””;
        Serial1.println(cmd);
        Serial.println(cmd);
        if (Serial1.find(“OK”)){
        Serial.println(“Berhasil Terkoneksi ke internet”);
        connected=true;
        } else {
        Serial.println(“Gagal Terkoneksi”);
        connected=false;
        }
        }

        void sendcommand()
        {
        String cmd = “AT+CIPSTART=\”TCP\”,\””;
        cmd+= ip_host;
        cmd+=”\”,80″;
        Serial1.println(cmd);
        Serial.println(cmd);
        if (Serial1.find(“Error”)){
        Serial.println(“Koneksi eror”);
        return;
        }
        }

        int getID()
        {

        if ( !rfid.PICC_IsNewCardPresent())
        {
        return 0;
        }
        if ( !rfid.PICC_ReadCardSerial())
        {
        return 0;
        }
        for ( int i = 0; i < 4 ; i++)
        {
        readCard[i] = rfid.uid.uidByte[i] ;
        Serial.print(readCard[i], HEX);
        NEW_DATA_READ += String(readCard[i], HEX);
        }
        NEW_DATA_READ.trim();
        Serial.println("");
        rfid.PICC_HaltA();
        return 1;
        }

        void tap()
        {
        Serial.println("TAP RFID ANDA");
        do{
        delay(2000);
        successRead = getID();
        }while(!successRead);
        sprintf(setID, "%02X:%02X:%02X:%02X", readCard[0], readCard[1], readCard[2], readCard[3]);
        senddataid(setID);
        }

        //di sini saya ambil mencoba mengirimkan rfid mas, tetapi untuk kasus yang sebenar nya ada 2 RFID sama sensor IR mas

        Reply
        1. ESP

          itu include yang kosong in mas
          #include
          #include
          #include
          #include

          Reply
          1. ESP

            #include SPI.h
            #include MFRC522.h
            #include Wire.h
            #include LiquidCrystal_I2C.h

            maaf mas dia kok hilang ya

          2. admin Post author

            maaf gan, saya tidak menemukan void loop() dan fungsi untuk kirim ke databasenya.

  6. ESP

    #define nama_wifi “Wifi”
    #define pass_wifi “1gakada123”
    #define ip_host “https://smart-locker.000webhostapp.com”
    #include
    #include
    #include
    #include
    #define RST_PIN 8
    #define SS_PIN 9

    LiquidCrystal_I2C lcd(0x27, 16, 2);
    MFRC522 rfid(SS_PIN, RST_PIN);

    //PIN INFRARED
    #define isObstaclePin1 2

    #define EMPTY true
    #define FILLED false

    //STATUS SENSOR IR TO DATABASE
    int isObstacle1 = HIGH; //HIGH MEANS NO OBSTACLE (TIDAK ADA BARANG)
    byte readCard[4];
    String NEW_DATA_READ = “”;
    String strID;
    char setID[50];
    int successRead;
    boolean connected = false;

    void setup() {
    Serial.begin(9600);
    Serial1.begin(9600);
    Serial1.begin(115200);
    pinMode(isObstaclePin1, INPUT);
    SPI.begin();
    rfid.PCD_Init();

    Serial1.setTimeout(5000);
    Serial.println(“CHECK ESP8266”);
    delay (1000);
    Serial1.println(“AT+RST”);
    delay(1000);
    if(Serial1.find(“WIFI GOT IP”))
    {
    Serial.println(“ESP8266 SIAP”);
    }
    else {
    Serial.println(” Tidak Ada Response dari ESP8266 “);
    while(1);
    }
    delay(1000);

    for (int i=0; i”)){
    Serial.print(“>”);
    } else {
    Serial1.println(“AT+CIPCLOSE”);
    Serial.println(“Koneksi Timeout”);
    delay(1000);
    return;
    }
    Serial1.print(cmd2);
    delay(2000);

    while(Serial1.available())
    {
    char c =Serial1.read();
    Serial.write(c);
    if (c==’\r’) Serial.print(‘\n’);
    }
    Serial.println(“—–end”);
    delay(10000);
    }

    void connect_to_wifi()
    {
    Serial1.println(“AT+CWMODE=1”);
    String cmd = “AT+CWJAP=\””;
    cmd+=nama_wifi;
    cmd+=”\”,\””;
    cmd+=pass_wifi;
    cmd+=”\””;
    Serial1.println(cmd);
    Serial.println(cmd);
    if (Serial1.find(“OK”)){
    Serial.println(“Berhasil Terkoneksi ke internet”);
    connected=true;
    } else {
    Serial.println(“Gagal Terkoneksi”);
    connected=false;
    }
    }

    void sendcommand()
    {
    String cmd = “AT+CIPSTART=\”TCP\”,\””;
    cmd+= ip_host;
    cmd+=”\”,80″;
    Serial1.println(cmd);
    Serial.println(cmd);
    if (Serial1.find(“Error”)){
    Serial.println(“Koneksi eror”);
    return;
    }
    }

    int getID()
    {

    if ( !rfid.PICC_IsNewCardPresent())
    {
    return 0;
    }
    if ( !rfid.PICC_ReadCardSerial())
    {
    return 0;
    }
    for ( int i = 0; i < 4 ; i++)
    {
    readCard[i] = rfid.uid.uidByte[i] ;
    Serial.print(readCard[i], HEX);
    NEW_DATA_READ += String(readCard[i], HEX);
    }
    NEW_DATA_READ.trim();
    Serial.println("");
    rfid.PICC_HaltA();
    return 1;
    }

    void tap()
    {
    Serial.println("TAP RFID ANDA");
    do{
    delay(2000);
    successRead = getID();
    }while(!successRead);
    sprintf(setID, "%02X:%02X:%02X:%02X", readCard[0], readCard[1], readCard[2], readCard[3]);
    senddataid(setID);
    }

    // mengirimkan ke database fungsi void senddataid(String x)

    Reply
    1. admin Post author

      sekali lagi gan,, mohon maaf, tidak menemukan void senddataid(String x) di program nya,,

      Reply
    1. admin Post author

      coba di hapus bagian
      cmd2 +=”HTTP/1.1\r\n”;

      Reply
        1. admin Post author

          kalo database local bisa ga masukin datanya?

          Reply
        2. admin Post author

          nanti saya buat artikel baru dengan esp-01 kirim database hosting

          Reply
          1. ESP

            melauli url mas ? kalau ke local udah bisa mas ke database nya.
            Baik mas di tunggu mas tutorial nya .
            makasih mas.

          2. ESP

            kalau ke local udah bisa mas ke database nya.
            Baik mas di tunggu mas tutorial nya .
            makasih mas.

  7. aunaaa

    mas mau tanya posisi login yang “halaman login” kenapa tidak bisa login ya ? menggunakan username dan password yg mana ya mas?

    Reply
  8. dewi

    mas mau tanya, cara download filenya bagaimana? saya coba tidak bisa terus

    Reply
    1. admin Post author

      di cobo terus,, sampe bisa lewatin iklan,, cari tau di youtube atau google gimana download melewati safelinku

      Reply
  9. jawagame

    pas complie error terus seperti ini :
    sketch_aug04b:36:5: error: stray ‘\342’ in program

    if (millis() – timeout > 5000) {

    ^

    sketch_aug04b:36:5: error: stray ‘\200’ in program

    sketch_aug04b:36:5: error: stray ‘\223’ in program

    C:\Users\Gantang\AppData\Local\Temp\arduino_modified_sketch_945316\sketch_aug04b.ino: In function ‘void loop()’:

    sketch_aug04b:36:22: error: expected ‘)’ before ‘timeout’

    if (millis() – timeout > 5000) {

    ^

    Using library ESP8266WiFi at version 1.0 in folder: C:\Users\Gantang\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.5.1\libraries\ESP8266WiFi
    Using library ESP8266HTTPClient at version 1.2 in folder: C:\Users\Gantang\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.5.1\libraries\ESP8266HTTPClient
    exit status 1
    stray ‘\342’ in program

    Reply
    1. herul Post author

      ada beberapa karakter yang kerubah sama webnya,, jangan di copas, tulis ulang

      Reply
  10. Sahlan Rosyid

    saya coba, gagal konek.
    itu masalahnya dimana yah?

    Reply
  11. yusuf

    maaf mas kayaknya linknya sudah tidak bisa di akses,, boleh diperbaiki

    Reply
  12. farid

    Sekarang masih bisa konek ke 000webhost? Saya coba waktu di client.connect() gagal terus, kenapa ya?

    Reply

Leave a Reply

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