Project 10 | ESP32 - Insert Data ke Database MySQL menggunakan PHP dan Arduino IDE - Asyrofi

Sabtu, 27 Maret 2021

Project 10 | ESP32 - Insert Data ke Database MySQL menggunakan PHP dan Arduino IDE

Tugas Sistem Embedded
Penulis: 
Asyrofi


Halo semua. Pada tulisan kali ini, saya akan menjelaskan percobaan tentang bagaimana membuat project dengan ESP32 yaitu Insert Data ke Database MySQL menggunakan PHP dan Arduino IDE

Pada project ini, kita akan menyimpan hasil pembacaan nilai sensor yaitu persentase level air melalui ke database MySQL dan menampilkannya pada website menggunakan PHP. Oke, sebelum memulai, persiapkan dahulu komponen dan perangkat yang akan digunakan.

image

    Daftar Komponen

    Berikut adalah daftar komponen dan perangkat yang akan digunakan:

    1. Mikrokontroller ESP32 (1 buah)

    2. Kabel Micro-USB (1 buah)

    3Kabel jumper female - female (3 buah)

    4. Sensor water level (1 buah)


    Alur Kerja Project

   Saat ESP dinyalakan, maka ESP32 akan mencoba terhubung dengan wifi yang telah diisi SSID & PASSWORD sebelumnya di dalam kode. Ketika berhasil terhubung dengan wifi, hasil pembacaan oleh water level sensor akan disimpan ke dalam database MySQL dan ditampilkan pada website menggunakan PHP.


    Memilih Hosting untuk MySQL dan PHP
    
    Hosting yang saya pilih adalah id.000webhost.com karena memberikan layanan yaitu gratis PHP dan MySQL

image

    Menyiapkan Database MySQL

    Buka pada bagian Database Manager

.com/img/b/R29vZ2xl/AVvXsEh9bE6fKaoHfplADoB2jm6NCW0oCjhCLwTt0Hc03HbLzGcsoI6S_-6eLFSzGhDppW-S4LRmbBmAtTOIFnR3-K212QD-3ghPL1a-ylu3mv-hNgZvCro1krFfUuzhj1eAWd-s6Kr1S12fltj0/

    Lalu Klik "+ Database Baru"

image

    Jika database telah berhasil dibuat, klik bagian kelola -> PhpMyAdmin

.com/img/b/R29vZ2xl/AVvXsEget7Gtd3Zs-dSz7xpoVbBp0UY5OsYRRBAr-fTqzO8jwR4S_SHWU83-t-LK3Hs7RWFZTua4rDTSRaEyCvXlYl1eAurG8cv_3mTCHvECod1uemBWjB67a02ZtuQV5bbh1sO93kfH9tOM4rT0/

    Klik pada bagian database yang dibuat kemudian klik SQL

image

    Masukkan perintah SQL seperti di bawah dan klik "Go"
    
image

    Jika berhasil, tampilan akan seperti ini

image

    PHP Script HTTP POST

    Buka kembali pada bagian File Manager dan Klik Upload File
    
image

    Klik folder public_html dan buat file baru dengan nama post-esp-data.php
    
image

    Kemudian masukkan kode php berikut pada post-esp-data.php

image

    Saat mencoba buka 
http://example-domain.com/post-esp-data.php hasilnya akan seperti di bawah ini

image

    PHP Script untuk menampilkan Database

    Pada File Manager, buat lagi file bernama esp-data.php sehingga akan seperti pada gambar di bawah ini

image

    Masukkan kode berikut pada esp-data.php

image

    Saat mencoba buka http://example-domain.com/esp-data.php hasilnya akan seperti di bawah ini

image
    Kode Pada Arduino IDE

image

Pertama kita import library Wifi.h, HTTPClient.h dan define pin 35 sebagai waterLevelPin. kemudian masukkan SSID dan Password Wifi yang akan kita hubungkan dengan ESP32 dan serverName untuk domain website yang ingin kita ambil hasil databasenya yaitu post-esp-data.php yang sudah dibuat sebelumnya. Kemudian set apiKeyValue sesuai kode diatas dan sensorName serta sensorLocation menyesuaikan.

Pada void setup(), Tampilkan ke layar serial dengan Serial.begin(115200)Wifi.begin untuk mengkoneksikan ESP32 dengan Wifi sesuai dengan SSID dan PASSWORD yang telah diisi sebelumnya. Jika berhasil maka akan menampilkan WiFi connected dan IP addresnya. Juga terdapat fungsi yang digunakan pada program ini yaitu readSensor() yang melakukan konversi hasil pembacaan sensor dengan kalkulasi yang disesuaikan dengan kondisi lingkungan.


image

    Jika wifi tidak terhubung maka akan menampilkan WiFi Disconnected pada serial monitor. Namun jika terhubung, http akan melakukan begin dan addHeader. Kemudian httpResponseCode akan menerima hasil POST dari httpRequestData. Jika response code > 0, maka berhasil. Kemudian ada delay 30 detik untuk membaca nilai sensor kembali.

    Gambar Percobaan

    Gambar 1. Hasil pembacaan database sensor pada website

image
    Gambar 2. Hasil pembacaan database sensor pada MySQL

image

    Video Percobaan



    Analisis
    Pada project kali ini, terdapat berbagai pengalaman baru selama pengerjaan project ini. Saya jadi mengerti bagaimana menyimpan pembacaan sensor dalam database MySQL dan menggunakan PHP untuk menampilkan hasil databasenya. Saya juga mengetahui cara mendaftar hosting secara gratis. 

Tidak ada komentar:

Posting Komentar

Post Bottom Ad