Mengendalikan Peralatan Listrik Via Internet/Web Dengan Starduino Board


starduino_webrelay

Mengontrol peralatan listrik melalui internet/web dapat dilakukan dengan beberapa cara baik yang sederhana ataupun yang sedikit lebih canggih. Pada tulisan ini akan saya sampaikan sekilas tentang bagaimana mengontrol relay melalui internet/web dengan menggunakan Starduino Board yang terhubung ke sebuah PC melalui port serial.

PC yang digunakan haruslah memiliki program web-server yang sedang running (online). Pada eksperimen ini saya menggunakan paket program WAMP (Windows-Apache-MySQL-PHP) versi 2.2 yang dapat didownload dari situsnya di: http://www.wampserver.com/en/.

Prinsip kerja teknik pengontrolan relay via internet/web ini dapat dijelaskan sebagai berikut. User melakukan pengontrolan (update status) peralatan listrik (relay) melalui perantaraan sebuah halaman web yang ditulis menggunakan bahasa scripting PHP. Melalui user-interface yang tersedia, user dapat memilih kondisi/status relay dengan meng-klik checkbox untuk masing-masing relay (Relay-1 s/d Relay-8). Selanjutnya, untuk meng-update kondisi/status Relay-1 s/d Relay-8, user harus meng-klik tombol Update Relay Status.

Setelah tombol Update Relay Status di-klik, maka scripting PHP akan membaca nilai checkbox untuk Relay-1 s/d Relay-8 dan menjalankan sebuah program aplikasi yang akan mengirimkan data kondisi/status relay kepada Starduino Board melalui port serial RS232. Jika perintah terkirim dengan baik dan dikenali oleh Starduino Board, maka kondisi/status Relay-1 s/d Relay-8 akan di-update sesuai dengan keingingan user. Adapun rogram aplikasi yang dieksekusi oleh scripting PHP adalah program RSerial.exe.

Program RSerial.exe
Program ini saya buat menggunakan kompiler FreePascal versi 2.6.0. Fungsi program ini adalah mengirimkan perintah melalui port serial kepada Starduino Board. Pada eksperimen ini, Starduino Board terhubung ke PC melalui port serial COM1 dengan nilai baudrate 9600.

Untuk mengaktifkan Relay-1 dan Relay-3, maka perintahnya adalah:

>RSerial.exe COM1 9600 R1 R3

dan untuk mematikan Relay-3 serta mengaktifkan Relay-7, maka perintahnya adalah:

>RSerial.exe r3 R7

Huruf R (kapital) menyatakan ON dan huruf r menyatakan OFF. Nomor yang mengikuti huruf R atau r adalah nomor relay.

Untuk mengeksekusi program RSerial.exe, digunakan perintah PHP exec(). Berikut adalah penggalan scripting PHPnya.

if (!empty($_POST[‘relay1’]))
    $R1 = $_POST[‘relay1’];
else
    $R1 = "off";
if (!empty($_POST[‘relay2’]))
    $R2 = $_POST[‘relay2’];
else
    $R2 = "off";
if (!empty($_POST[‘relay3’]))
    $R3 = $_POST[‘relay3’];
else
    $R3 = "off";
if (!empty($_POST[‘relay4’]))
    $R4 = $_POST[‘relay4’];
else
    $R4 = "off";
if (!empty($_POST[‘relay5’]))
    $R5 = $_POST[‘relay5’];
else
    $R5 = "off"
if (!empty($_POST[‘relay6’]))
    $R6 = $_POST[‘relay6’];
else
    $R6 = "off";
if (!empty($_POST[‘relay7’]))
    $R7 = $_POST[‘relay7’];
else
    $R7 = "off";
if (!empty($_POST[‘relay8’]))
    $R8 = $_POST[‘relay8’];
else
    $R8 = "off";

$CMD = "";
if ($R1=="on") $CMD = $CMD . "R1"; else $CMD = $CMD . "r1";
if ($R2=="on") $CMD = $CMD . " R2"; else $CMD = $CMD . " r2";
if ($R3=="on") $CMD = $CMD . " R3"; else $CMD = $CMD . " r3";
if ($R4=="on") $CMD = $CMD . " R4"; else $CMD = $CMD . " r4";
if ($R5=="on") $CMD = $CMD . " R5"; else $CMD = $CMD . " r5";
if ($R6=="on") $CMD = $CMD . " R6"; else $CMD = $CMD . " r6";
if ($R7=="on") $CMD = $CMD . " R7"; else $CMD = $CMD . " r7";
if ($R8=="on") $CMD = $CMD . " R8"; else $CMD = $CMD . " r8";

exec("RSerial.exe COM1 9600" . $CMD, $Output);

starduino_drv08_webSebagai pelengkap, pada eksperimen ini saya juga menggunakan sebuah LCD 16×2 karakter untuk menampilkan kondisi Relay-1 s/d Relay-8. Gambar di samping adalah foto hardware yang saya gunakan dalam eksperimen yang terdiri dari Starduino Board, Modul Relay DRV08, dan Modul LCD 16×2.

Pada eksperimen ini yang ditunjukkan adalah sebatas tentang bagaimana melakukan pengontrolan relay via internet/web. Pada eksperimen ini tidak membahas tentang bagaimana melakukan monitoring input yang dapat berupa input logika dengan kondisi on/off ataupun input yang berupa sensor seperti sensor suhu, sensor cahaya, sensor jarak, dan lain sebagainya.

Setelah eksperimen ini, saya ingin melakukan eksperimen untuk monitoring input logika, input senor suhu, sensor jarak, atau yang lainnya. Lumayan sambil belajar pemrograman PHP. Dan tentunya saya juga ingin bereksperimen dengan menggunakan embedded web-server menggunakan Arduino atau Raspberry Pi. Semoga bisa segera terlaksana.🙂

Video Demo
Anda dapat menyaksikan video pengujian sistem ini melalui YouTube. Berikut adalah linknya:

http://youtu.be/-73vNnnLTrE

 

Bagi Anda yang berminat dengan sistem ini atau modul-modul yang digunakan dalam eksperimen ini, yakni Starduino Board, Modul Relay DRV08, dan Modul LCD 16×2, silakan menghubungi saya melalui email ke info@teknikelektrolinks.com. Untuk informasi harga dan pemesanan, silakan mengunjungi situsnya di: http://teknikelektrolinks.com.

Semoga bermanfaat dan selamat berkarya!

🙂

3 comments

  1. adam · Februari 6, 2013

    ows, berarti alur “ngobrolnya” adalah web–> phpexec() –> rserial.exe –> port_yg_dikontrol ya pak?

    • Chandra MDE · Februari 6, 2013

      Betul Pak. Penggunaan perintah exec() lebih mudah.🙂

  2. ardian · Februari 19, 2013

    pak itu kan aplikasi nya saja yg berbasis web tapi implementasi nya masih menggunakan port serial.
    Bisa gak pak kalo starduino board nya terkoneksi langsung ke internet ??
    jadi kendali nya murni via internet.
    mohon bimbingan nya.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s