ESP32 Insert Data into MySQL Database using PHP and Arduino IDE with Free Web Hosting: 000webhost
Hallo Sistem Embedders!
Selamat datang di project ke 12 ku menggunakan ESP32. Kali ini kita akan membangun klien ESP32 yang membuat permintaan HTTP POST ke skrip PHP untuk memasukkan data pembacaan sensor ke dalam database MySQL.
Kita juga akan memiliki halaman web yang menampilkan pembacaan sensor, timestamp, dan informasi lain dari database.
Prasyarat: Instal Arduino IDE untuk Pemrograman ESP32
KOMPONEN DAN PERANGKAT
1. ESP32 Development Board (aku pakai ESP32 DEVKIT DOIT V1 dengan 30 GPIO)
2. Breadboard 830 titik
3. Kabel Micro-USB
4. 1 buah BMP280 dengan 6 pin (Barometric Presssure Sensor)
5. 4 buah Kabel Jumper Male-Male
1. Menghosting Aplikasi PHP dan Basis Data MySQL Anda
Tujuan dari proyek ini adalah memiliki nama domain dan akun hosting kita sendiri yang memungkinkan kita menyimpan pembacaan sensor dari ESP32
Aku menggunakan layanan hosting gratis dari 000webhost.com, ikuti langkah di bawah ini untuk mendapatkan layanannya.
- Buka 000webhost.com melalui browser kalian
- Buat akun member dengan mengklik tombol ‘SIGN IN’ atau ‘GET STARTED’
Selanjutnya kita akan diarahkan ke halaman sign up, aku sign up menggunakan akun Google.
3. Jika kalian baru mendaftar sebagai member, akan muncul beberapa pertanyaan terkait apa yang ingin kalian lakukan/pelajari. Kalian boleh isi boleh juga langsung skip dengan menekan kalimat “It’s not my first rodeo, take me to the Panel.”
4. Kita akan diminta untuk mengisi nama project/nama website dan membuat password untuk project kita.
5. Akan muncul beberapa toolbox yang dapat kita pilih, karena kita akan membuat website custom sesuai kode program yang kita miliki, jadi aku pilih ‘Upload your site’
Akan muncul tab browser baru setelah kita pilih ‘Upload your site’ namun biarkan dulu tab yang baru, dan balik lagi ke tab browser sebelumnya.
2. Mempersiapkan Database MySQL
Step untuk mempersiapkan MySQL Database ini masih menyambung step sebelumnya yaa
Membuat sebuah database dan user
- Di tab browser yang kita lihat sekarang, kondisi tampilannya akan berubah menjadi seperti ini
- Tekan tombol ‘Kelola Website’ di project yang tadi sudah dibuat
3. Di pilihan menu di bar sebelah kiri pilih Tool > Database Manager
4. Buat database baru dengan mengklik tombol seperti gambar di bawah ini dan beri nama database esp_data, masukkan username dan password untuk database baru ini (jangan ilang/lupa ya guys wkwkw) lalu tekan tombol Buat.
5. Setelah jadi, list “Database Saya” milik kalian akan bertambah
Membuat sebuah SQL Table
6. Tekan tombol Kelola di samping informasi database yang baru saja dibuat kemudian pilih PhpMyAdmin. Akan terbuka tab baru seperti gambar di sudut kiri bawah dari gambar di bawah ini.
Di bar database sebelah kiri pilih database sesuai nama database yang sudah kalian buat, di bar menu atas pilih SQL. Kemudian masukkan query SQL berikut:
Kemudian tekan tombol ‘Go’ di sudut kanan bawah kotak pengetikkan query. Kemudian bar database di sebelah kiri akan menunjukkan bahwa database kita sekarang telah memiliki tabel baru bernama SensorData. Lihat tanda panah pada gambar di atas.
3. PHP Script HTTP POST — Memasukkan Data ke Database MySQL
Jika kalian ingat di langkah yang ke 5 di atas (bagian hosting) ada satu tab yang muncul ketika kita memilih toolbox ‘Upload your site’. Sekarang buka tab itu.
Note: Jika sudah kalian close, kalian bisa pergi ke tab yang memuat list ‘Database Saya’ tadi, lalu di menu bar sebelah kiri pilih ‘File Manager’. Cara lain jika memang tab database manager sudah ter-close, buka menu Tool seperti tadi kemudian pilih File Manager
- Tampilan yang kalian lihat seharusnya seperti pada gambar di bawah ini yg bagian sudut kiri atas. Kemudian tekan tombol ‘Upload File’, dan akan terbuka tab baru yang tampilan seperti gambar yg merah di bawah.
2. Pilih folder public_html kemudian klik icon ‘New File’ di antara menu di sudut kanan atas
3. Isikan nama file dengan post-esp-data.php
4. Setelah file post-esp-data.php terbuat, buka file tersebut dan akan terbuka tempat untuk memasukkan kode program, isikan dengan kode di bawah ini
Jangan lupa ganti bagian kode dalam tanda petik sesuai dengan nama database, username, dan password yang diawal tadi sudah kalian buat kemudian klik tombol SAVE atau SAVE and CLOSE
//Your Database name
$dbname = "example_esp_data";
// Your Database user
$username = "example_esp_board";
// Your Database user password
$password = "YOUR_USER_PASSWORD";
Informasi tentang nama database dan username kalian ambil dari list Database Saya, seperti di bawah ini:
Jika kalian mengakses link website kalian,
http://namadomainkalian.com/post-esp-data.php
(namadomainkalian diganti dengan domain kalian), tampilannya harusnya seperti ini:
4. Script PHP — Menampilkan Isi Database
Ikuti langkah membuat file php di atas, dan buat file baru dengan nama esp-data.php
Masukkan kode program di bawah ini:
Jangan lupa ganti lagi bagian kode dalam tanda petik sesuai dengan nama database, username, dan password yang diawal tadi sudah kalian buat kemudian save
// REPLACE with your Database name
$dbname = "REPLACE_WITH_YOUR_DATABASE_NAME";
// REPLACE with Database user
$username = "REPLACE_WITH_YOUR_USERNAME";
// REPLACE with Database user password
$password = "REPLACE_WITH_YOUR_PASSWORD";
Cek lagi halaman website kalian dengan link,
http://namadomainkalian.com/esp-data.php
Tampilan seharusnya seperti gambar di bawah ini:
4. Setup Board dan Komunikasi
- Rangkai komponen seperti d gambar ini
Penjelasan PIN:
2. Buka Arudino IDE, install Library AdafruitBMP280 jika belum pernah menginstallnya. Kemudian masukkan kode program seperti di bawah ini:
3. Upload hingga status ‘Done Uploading’, kemudian cek Serial Monitor di baut rate 115200. Seharusnya serial monitor menampilkan status seperti di bawah ini:
4. Buka link website kalian di
http://namadomainkalian.com/esp-data.php
Website kalian seharusnya tampak seperti di bawah ini
Kalian juga dapat membuka PhpMyAdmin untuk mengelola data yang disimpan di tabel SensorData kalian. Kalian dapat menghapus, mengedit, dll…