ESP8266, Nodemcu Kirim Data ke Database Hosting Gratis

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.

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 :

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

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 :

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 :

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
chaerul

View Comments

  • bisa sama, bisa beda :)
    tapi yang jelas nodemcu bisa di program dengan bahasa yang sama dengan arduino :)

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

  • 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

  • di coba masukan data melalui URL pada browser dulu,, kalo bisa,, coba di cek alamat host nya.

    • dipake mas,, ada yang buat baca, ada yang buat kirim, bisa dipake bebarengan atau salah satu aja :)

      • 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 ?

          • 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?,

      • #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

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