Komunikasi-4: Mengendalikan Arduino Secara Online Menggunakan Modul Wifi ESP8266

Dipublikasikan oleh Admin pada

Mengendalikan Arduino secara online

Pada tulisan sebelumnya penulis telah membahas tentang bagaimana mengirimkan data ke web server menggunakan Arduino dan modul Wifi ESP8266 ESP-01. Sebagai kelanjutannya, sekarang penulis akan membahas tentang bagaimana mengontrol alat menggunakan Arduino dan modul Wifi secara online melalui halaman web. (menggunakan aplikasi Android akan dibahas pada artikel berikutnya).

Metode Pengontrolan Alat Secara Online

Secara umum ada dua cara untuk mengontrol alat elektronika secara online.

  • 1. Modul Wifi dijadikan sebuah web server, kemudian halaman web mengakses langsung IP address dari modul Wifi tersebut.

  • 2. Modul Wifi membaca data terus-menerus (polling) sebuah web server untuk melihat perintah terakhir.

Untuk menggunakan cara pertama, maka membutuhkan IP address publik yang dapat diakses secara online dari seluruh jaringan Internet. Sedangkan cara kedua tidak membutuhkan IP publik.

Pada tulisan ini akan dibahas metode akses yang kedua, karena tidak memerlukan IP publik.

Contoh proyeknya adalah tentang cara menyalakan atau mematikan relay secara online melalui halaman web.

Cara Kerja

Tersedia sebuah halaman web yang akan mengirimkan data ke web server apabila ada tombol yang diklik. Bila yang diklik tombol On, maka dikirimkan data relay=on. Bila yang diklik tombol Off, maka dikirimkan data relay=off.

  1. Modul Wifi akan terhubung dengan jaringan Internet (misal ke router atau hotspot).
  2. Secara periodik Modul Wifi akan membaca data dari web server.
  3. Sesuai data yang terbaca, maka Arduino akan mematikan atau menyalakan relay.

Hardware yang dibutuhkan

  1. Board Arduino
  2. Modul Wifi ESP8266 – ESP-01

Library yang dibutuhkan

Silahkan mendownload dan menginstall dulu library untuk ESP-01:

https://github.com/bportaluri/WiFiEsp

Web Server

Kita membutuhkan sebuah web server yang online di sebuah jasa web hosting yang akan menyimpan data untuk nantinya dibaca oleh modul Wifi.

Untuk membuat web server ini, silahkan membaca tulisan Menyimpan Data IoT Generik dengan PHP dan MySQL di Server Web Hosting.

Pembaca tidak harus menyewa web hosting, data bisa disimpan di ThingSpeak, Dweet.io dan layanan cloud IoT lainnya. Namun pada tulisan ini hanya dibahas yang menggunakan web server sendiri.

Script untuk membuat web server IoT secara generik bisa didownload dari http://github.com/komputronika/IoT-Server.

Sketch Arduino

Cara kerja sketch ini adalah dengan menyambungkan modul Wifi ESP-01 ke jaringan lokal, misalnya ke router Internet cable atau hotspot.

Setelah modul Wifi tersambung ke Internet, kemudian Arduino akan membaca data terakhir yang ada di web server secara periodik. Data yang dibaca adalah dalam format JSON, tujuannya agar mudah diterjemahkan atau diparsing oleh Arduino.

Contoh pada sketch ini adalah membaca varible data ‘relay‘, apabila data ‘relay‘ bernilai ‘on‘, maka relay akan dihidupkan. Apabila ‘relay‘ bernilai ‘off‘. maka relay akan dimatikan.

Untuk membaca data dari server, format URL nya adalah: http://www.komputronika.com/iot/baca/rlysaya/json-single

  • Komputronika.com adalah alamat web server.

  • rlysaya adalah key untuk data pada contoh ini. Pembaca bisa menggunakan key yang berbeda, misalnya ‘lamputamanAndi‘, dsb.

  • /json-single adalah kode untuk mengambil data dalam format JSON 1 row terakhir.

Script PHP

Kita siapkan sebuah sebuah script PHP lagi untuk menampilkan halaman pengendali relay.

Script PHP ini berisi kode HTML dan Javascript untuk menampilkan tombol ‘On’ dan tombol ‘Off’

Apabila tombol ‘On’ atau tombo ‘Off’ diklik, maka script PHP akan menyimpan data ke server IoT dengan perintah http://www.komputronika.com/iot/simpan/rlysaya?relay=on atau http://www.komputronika.com/iot/simpan/rlysaya?relay=off

Seperti yang sudah disebutkan sebelumnya, ‘rlysaya‘ adalah sebuah key dan dapat disesuaikan dengan nama yang pembaca pilih sendiri. Misalnya: ‘lamputamanAndi‘, dsb. Key ini harus unik, sebab kalau nama yang dipilih sudah ada yang pakai, maka datanya akan tumpang tindih dengan pemilik key tersebut.

Demo script PHP ini bisa dilihat di halaman: http://komputronika.com/iot/demo/kontrol.php

Tampilan Halaman Web

Beginilah tampilan halaman kontrol relay secara online.

Demo mengendalikan relay dengan Wifi

Penutup

Pada tulisan ini sudah diberikan contoh bagaimana mengendalikan Arduino secara online dengan perantaraan modul Wifi ESP8266 yaitu modul ESP-01.

Contoh ini menggunakan cara polling yang membaca data server secara terus menerus. Cara ini mempunyai kelemahan yaitu pengendalian tidak instan, ada jeda sekian detik akibat adanya penjadwalan request ke server sebanyak sekian detik (bisa ditentukan sendiri di dalam sketch).

Pada tulisan berikutnya, kita akan coba membuat aplikasi Android untuk mengendalikan Arduino secara online menggunakan sketch Arduino yang sama seperti pada tulisan ini.

Ditunggu kritik dan saran dari pembaca. Selamat berkarya.

Topik hangat:


Berikan Komentar Anda