Sabtu, 08 Agustus 2020

Mengirim Data Sensor ke MYSQL Database dengan Nodemcu ESP8266

Hallo warrior ! Pada pertemuan ini kita akan coba membahas mengenai cara mengirim sebuah data sensor dari Nodemcu ESP8266 ke database MYSQL dan menampilkannya di database.
Dengan begini kamu dapat menyimpan seluruh data dari sensor dan menampilkannya langsung secara realtime di komputer yang sudah kamu siapkan.

Introduction

Perkembangan zaman yang begitu pesat memaksa kita untuk terus berpikir dan berinovasi akan teknologi yang tepat guna dan memberikan banyak manfaat kepada kita para manusia.
Salah satunya mungkin sebuah sistem yang dapat memberikan data secara realtime, guna memudahkan kita untuk memonitoring sistem irigasi atau tanaman yang kekurangan air dan butuh kita beri pupuk untuk kesuburannya.
Iliustrasi Petani Melakukan Monitoring di Laprop
Iliustrasi Petani Melakukan Monitoring di Laprop (src : pelitadesa)
Pada kesempatan ini kita akan coba melakukan sebuah percobaan dengan mengirimkan data dari sensor kelembaban tanah yang terhubung dengan esp8266 ke server yang sudah terinstall database mysql.
Dengan begitu nantinya esp8266 yang sudah terhubung ke server akan mengirimkan datanya melalui WiFi, lalu data tersebut akan diproses dan disimpan di database mysql. Data yang sudah tersimpan selanjutnya akan ditampilkan oleh webserver di komputer server maupun komputer lain yang terhubung ke server.
Ilustasi Pengiriman data sensor Nodemcu ke Server Database Mysql
Ilustasi Pengiriman data sensor Nodemcu ke Server Database Mysql
Server yang sudah kita siapkan disini merupakan sebuah komputer yang sudah terinstall layanan webserver (apache/nginx) dan juga database server (mysql/mariadb dan phpmyadmin).
Jika kita belum memilikinya, kita dapat menggunakan aplikasi XAMPP yang dapat memeberikan komputer kita layanan webserver dan juga database server tersebut. Untuk penjelasan dan installasi terkait XAMPP dapat kalian baca pada artikel yang sebelumnya saya buat.
Setelah aplikasi XAMPP sudah kita installkan di komputer, nantinya kita akan menjalankan membuat database dan membuat aplikasi web sederhana untuk menampilkannya.

Persiapan

Berikut merupakan beberapa perangkat yang perlu kita persiapkan pada praktek ini, diantaranya adalah sebagai berikut :
  1. Nodemcu/ESP8266
  2. Sensor kelembaban tanah
  3. Komputer/Server yang sudah terinstall XAMPP

Rangkaian

Karena pada praktek ini kita menggunakan sensor kelembaban tanah, maka rangkaian yang kita pergunakan adalah sebagai berikut.
Rangkaian Nodemcu dengan Sensor kelembaban tanah
Rangkaian Nodemcu dengan Sensor kelembaban tanah
Rangkaian ESP12F dengan Sensor kelembaban tanah
Rangkaian ESP12F dengan Sensor kelembaban tanah

Membuat Database baru

Hal pertama yang perlu kita lakukan setelah setelah menginstall XAMPP dan menjalankan beberapa hal dasarnya ialah membuat database baru, buka phpmyadmin lalu buat sebuah database dengan nama dbwarriornux.
Membuat Database baru
Membuat Database baru
Setelah database berhasil dibuat, masuk kedalam tab SQL pada database tersebut lalu masukan script berikut untuk membuat sebuah table baru beserta isinya. Klik Go untuk melanjutkan.
Membuat sebuah tabel baru pada database dbwarriornux
Membuat sebuah tabel baru pada database dbwarriornux
Setelah berhasil, maka hasilkan akan terlihat seperti dibawah ini. Terdapat 3 tabel baru sesuai yang sudah dibuat dalam script diatas.
Tampilan Database dan Table yang sudah dibuat
Tampilan Database dan Table yang sudah dibuat
Maka dengan begini database sudah berhasil kita siapkan, selanjutnya kita akan buat sebuah web sederhana untuk menerima data dan menampilkan isi dari database mysql.

Halaman Penerima Data

Pada bagian ini kita akan mebuat sebuah halaman web php sederhana untuk menerima data sensor yang dikirimkan oleh nodemcu esp8266.
Pertama buat direktori baru dengan nama web-warriornux di htdoc dalam direktori XAMPP, setelah itu buat file dengan nama write-data.php lalu isikan program dibawah ini. Setelah itu Simpan.

Halaman Menampilkan Data

Selanjutnya setelah kita membuat halaman untuk menerima data, kita akan membuat halaman untuk menampilkan data yang sudah diterima dan disimpan di database mysql. Data yang ditampilkan nantinya akan berupa sebuah tabel sederhana.
Buat sebuah file baru dengan nama index.php didalam direktori web-warriornux, lalu isikan program berikut pada file tersebut.

Halaman Koneksi Database

Halaman yang kita buat sebelumnya adalah halaman untuk menampilkan saja, ada satu bagian yang berfungsi untuk menghubungkan halaman penampil data dengan database mysql yaitu yang akan kita buat sekarang.
Masih didalam direktory yang sebelumnya, buat sebuah file baru dengan nama koneksi.php lalu isikan dengan program berikut.

Sketch Program ESP8266

Setelah web sederhana untuk menerima dan menampilkan data sudah kita buat, sekarang giliran nodemcu esp8266 yang kita program. Silahkan modifikasi, compile dan upload program berikut dibawah ini.
Sesuaikan SSID dan Password dari Wifi yang kalian gunakan, pada bagian atas ada IP Address Server XAMPP yang merupakan alamat penerima data yang akan di transfer dari nodemcu.
Untuk mengetahui IP Address dari komputer kalian yang sudah terinstall XAMP, kalian dapat membuka cmd/command prompt di windows dan ketikan ipconfig. Atau jika kalian menggunakan linux bisa jalan kan ifconfig, maka disana akan terlihat IP yang kalian gunakan.

Hasil Percobaan

Setelah serangkain tahap demi tahap sudah kalian lakukan, sekarang kita coba lihat hasilnya. Jiak komunikasi dan pengiriman data berhasil dilakukan maka console arduino IDE akan terlihat seperti berikut.
Hasil Pengiriman Data Berhasil dari Nodemcu ESP8266
Hasil Pengiriman Data Berhasil dari Nodemcu ESP8266
Jika kita membuka dan melihat isi database didalam phpmyadmin, akan terlihat beberapa data yang sudah masuk seperti berikut.
Database yang sudah terisi data
Database yang sudah terisi data
Terakhir kita dapat lihat hasilnya di web sederhana yang sudah kita buat tadi, buka localhost lalu lihat datanya akan tampil seperti gambar berikut.
Data sensor ditampilan di Web Sederhana
Data sensor ditampilan di Web Sederhana
Dengan begini kita dapat melihat web sederhana menampilkan data dari sensor yang dikirimkan melalui nodemcu esp8266 dan tersimpan langsung di database mysql secara realtime.
Bagi kalian yang sudah memiliki basic sebagai developer mungkin dapat mengubah halaman penampil data mysql menjadi lebih menarik dan interaktif lagi, karena memang web penampil pada artikel ini terlihat cukup sederhana.

Kesimpulan

Setelah kita melakukan serangkaian percobaan diatas kita dapat menyimpulkan bahwa untuk membangun sebuah sistem pengiriman data yang realtime kita memerlukan penampung data yaitu database mysql.
Dan untuk menampilkan data tersebut kita membutuhkan web sederhana yang sudah terinstall di webserver dan terkoneksi langsung dengan database. Semua dapat dijalankan dengan aplikasi XAMPP sebagai host untuk webserver dan database server.
Sehingga nantinya nodemcu esp8266 dapat mengirimkan data sensornya ke server host yang sudah terinstall webserver dan juga database server.