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.
Daftar Komponen
Berikut adalah daftar komponen dan perangkat yang akan digunakan:
1. Mikrokontroller ESP32 (1 buah)
2. Kabel Micro-USB (1 buah)
3. Kabel 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.comkarena memberikan layanan yaitu gratis PHP dan MySQL
Menyiapkan Database MySQL
Buka pada bagian Database Manager
Lalu Klik "+ Database Baru"
Jika database telah berhasil dibuat, klik bagian kelola -> PhpMyAdmin
Klik pada bagian database yang dibuat kemudian klik SQL
Masukkan perintah SQL seperti di bawah dan klik "Go"
Jika berhasil, tampilan akan seperti ini
PHP Script HTTP POST
Buka kembali pada bagian File Manager dan Klik Upload File
Klik folder public_html dan buat file baru dengan nama post-esp-data.php
Kemudian masukkan kode php berikut pada post-esp-data.php
Saat mencoba buka http://example-domain.com/post-esp-data.phphasilnya akan seperti di bawah ini
PHP Script untuk menampilkan Database
Pada File Manager, buat lagi file bernama esp-data.php sehingga akan seperti pada gambar di bawah ini
Masukkan kode berikut pada esp-data.php
Saat mencoba buka http://example-domain.com/esp-data.phphasilnya akan seperti di bawah ini
Kode Pada Arduino IDE
Pertama kita import library Wifi.h, HTTPClient.hdan 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.phpyang 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.
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
Gambar 2. Hasil pembacaan database sensor pada MySQL
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