Teknik Elektro LinksBarrier-Gate & Turnstile Interface, Thermostat, Relay Driver, Microcontroler Board

Mengontrol Peralatan Listrik Melalui Web/Internet Menggunakan PHP dan Modul Relay USB-2REL

USB-2REL adalah modul driver relay 2-channel dengan antarmuka USB. Modul ini tidak membutuhkan catu daya eksternal sehingga sangat praktis untuk digunakan pada aplikasi pengontrolan peralatan listrik menggunakan komputer/laptop atau miniPC seperti Raspberry Pi.

Pemrograman antarmuka port USB tidaklah semudah pemrograman antarmuka port paralel LPT atau port serial RS232. Oleh karenanya, modul USB-2REL dilengkapi dengan program Command-Line Interface siap-pakai yang dapat digunakan untuk mengontrol modul USB-2REL dari shell/terminal.

Pada catatan eksperimen ini saya akan memberikan sebuah contoh aplikasi pengontrolan modul USB-2REL melalui web/internet. Halaman web saya buat menggunakan HTML dan PHP. Dan untuk mengakses modul USB-2REL, digunakan fungsi exec() untuk memanggil program USB2RC.EXE.

Berikut ini adalah screenshot halaman web kontroler modul USB-2REL yang ditampilkan dalam browser Google Chrome.


usb2rel_web

Sebelum masuk pada penjelasan program, marilah kita simak bersama-sama listing program usb2rel.php berikut ini.

Listing Program usb2rel.php

<html> 
<head> 
<h1>Kontrol USB-2REL Via Web</h1> 
<hr/> 
</head> 
<body style="font-family:Arial"> 
<table> 
    <tr></tr><tr></tr><tr></tr> 
    <tr> 
        <form action="usb2rel.php" method="POST"> 
        <td align="center"> 
            <input type="submit" name="ON1" value="RELAY-1  ON"><br /> 
            <input type="submit" name="ON2" value="RELAY-2  ON"><br /> 
            <input type="submit" name="ON3" value="RELAY1,2 ON"><br />    
        </td> 
        <td align="center"> 
            <input type="submit" name="OFF1" value="RELAY-1  OFF"><br /> 
            <input type="submit" name="OFF2" value="RELAY-2  OFF"><br /> 
            <input type="submit" name="OFF3" value="RELAY1,2 OFF"><br /> 
        </td> 
        </form> 
    </tr><tr></tr><tr></tr><tr></tr> 
</table> 
<hr/> 
<h4>Chandra MDE – <a href="http://teknikelektrolinks.com">http://teknikelektrolinks.com</a></h4&gt;
 
<?php 
    if (isset($_POST['ON1'])) 
        exec("usb2rc.exe USB2REL-015 R1"); 
      else if (isset($_POST['ON2'])) 
        exec("usb2rc.exe USB2REL-015 R2"); 
    else if (isset($_POST['ON3'])) 
        exec("usb2rc.exe USB2REL-015 RA"); 
    else if (isset($_POST['OFF1'])) 
        exec("usb2rc.exe USB2REL-015 r1"); 
      else if (isset($_POST['OFF2'])) 
        exec("usb2rc.exe USB2REL-015 r2"); 
    else if (isset($_POST['OFF3'])) 
        exec("usb2rc.exe USB2REL-015 rA"); 
?> 
</body> 
</html>

Penjelasan Program

Seperti ditunjukkan pada screenshot di atas, program akan menampilkan 6 buah button sebagai user-interface. Jika button ditekan, maka server akan menerima permintaan tersebut dan mengeksekusi program USB2RC.EXE untuk mengontrol relay, sesuai dengan perintah yang diberikan oleh user.

Contoh perintah untuk mengakses modul USB-2REL menggunakan PHP adalah sebagai berikut:

exec("usb2rc.exe USB2REL-015 R1");

Perintah tersebut akan mengaktifkan RELAY-1 dari modul USB-2REL.

USB2REL-015 adalah ID dari modul USB-2REL. Modul USB-2REL memiliki ID yang unik setiap produknya. Untuk mengaksesnya, diperlukan ID yang sesuai. Hal ini berguna untuk memproteksi software inteface yang kita buat. Software mungkin dapat dengan gampang digandakan, akan tetapi software tidak akan berfungsi dengan baik meskipun menggunakan USB-2REL yang lain dengan ID berbeda.

ID modul bisa disesuaikan berdasarkan permintaan user. Informasi lebih lengkap tentang produk-produk USB dapat Anda baca pada halaman situs USBinov dengan alamat www.usbinov.com.

Bagian program usb2rel.php yang bertugas menyeleksi permintaan user (web browser) dan mengeksekusi USB2RC.EXE sesuai dengan perintah browser adalah sebagai berikut:

<?php 
    if (isset($_POST['ON1'])) 
          exec("usb2r.exe R1"); 
      else if (isset($_POST['ON2'])) 
        exec("usb2r.exe R2"); 
    else if (isset($_POST['ON3'])) 
        exec("usb2r.exe RA"); 
    else if (isset($_POST['OFF1'])) 
          exec("usb2r.exe r1"); 
      else if (isset($_POST['OFF2'])) 
        exec("usb2r.exe r2"); 
    else if (isset($_POST['OFF3'])) 
        exec("usb2r.exe rA"); 
?>

Pengujian

Untuk menguji program usb2rel.php di atas, saya menggunakan webserver mini Mongoose versi 3.6. Anda bisa menggunakan webserver lain seperti Apache, Nginx, atau yang lain.

Anda dapat berkenalan dengan Mongoose dengan membaca tulisan berikut ini: Mengenal Mongoose.

Pada eksperimen ini, program webserver Mongoose terletak pada direktori C:\USB2RELPHP. Adapun skrip USB2REL.PHP dan program USB2RC.EXE terletak pada direktori C:\USB2RELPHP\WEB_ROOT.

Berikut adalah setting program Mongoose agar USB2REL.PHP dapat diakses oleh browser ketika webserver Mongoose telah diaktifkan.

image

Hasilnya adalah seperti screenshot di atas. Dan untuk pengujian lebih lanjut, maka dilakukan pengaksesan file usb2rel.php dari komputer lain yang terhubung dalam satu jaringan. Komputer yang saya gunakan adalah IBM Server Netfinity dengan sistem operasi Windows 98 dengan browser Internet Explorer. Berikut adalah screenshot-nya.

usb2rel_php_win98_600

Kesimpulan

Dari hasil eksperimen ini, dapat disimpulkan bahwa penggunaan fungsi exec() pada PHP untuk mengeksekusi program USB2RC.EXE cukup efektif untuk aplikasi pengontrolan peralatan listrik melalui web/internet.

Demikian sekilas tentang aplikasi pengontrolan modul USB-2REL melalui web/internet. Jika Anda berminat dengan produk USB-2REL atau produk yang lain, silakan mengunjungi situs www.usbinov.com.

Versi Python

Aplikasi yang sama dengan versi pemrograman bahasa Python dapat Anda baca melalui link berikut ini;

Kontrol Peralatan Listrik Via Web Menggunakan Python

Nah, terima kasih sudah membaca tulisan saya, semoga ada guna dan manfaatnya.

Selamat berkarya.

2 Comments

Add a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>