Mengontrol Wi-Fi Relay Melalui Web Dengan PHP-CGI


Wi-Fi Relay yang saya gunakan dalam eksperimen ini adalah WIFI-4REL yang saya bangun menggunakan komponen-komponen ESP-01, board STM8S103F3P6 dan board Relay 4-Channel. Berikut ini adalah foto penampakannya.

ESP-01 pada sistem Wi-Fi Relay tersebut secara default aktif sebagai AP (Access-Point) dengan alamat IP 192.168.4.1. Layanan kontrol melalui komunikasi TCP diberikan pada port 23. Kita tahu bahwa port 23 merupakan layanan telnet. Jadi kita bisa mengakses Wi-Fi Relay tersebut dengan program telnet.

Wi-Fi Relay mengenali perintah-perintah seperti: ON1, ON2, ON3, ON4, OFF1, OFF2, OFF3, OFF4 dan beberapa perintah lain. Untuk lebih rinci mengenai modul Wi-Fi Relay di atas, Anda bisa membaca tulisan terkait berikut ini.

Tulisan Terkait

Mengontrol Empat Relay Via Wi-Fi Menggunakan ESP-01 + STM8S103F3P6

 

Skrip PHP WIFI-4REL

Pada eksperimen ini, saya menggunakan interpreter PHP. Berikut ini adalah kode program atau skrip wifi4rel.php.

wifi4rel.php

<h2>Mengontrol WIFI-4REL Menggunakan PHP-CGI</h2>
<h3>Koneksi Wi-Fi, Komunikasi TCP Socket</h3>
<image src="wf4ron.jpg" width="320" height="200">
<hr/>
<table>
    <tr>
        <form action="wifi4rel.php" method="POST">
        <td align="center">
            <input type="submit" name="ON1" value="RLY1 ON"><br />
            <input type="submit" name="ON2" value="RLY2 ON"><br />
            <input type="submit" name="ON3" value="RLY3 ON"><br />
            <input type="submit" name="ON4" value="RLY4 ON"><br />
            <input type="submit" name="ON7" value="ALL RELAYS ON"><br />
        </td>
        <td align="center">
            <input type="submit" name="OFF1" value="RLY1 OFF"><br />
            <input type="submit" name="OFF2" value="RLY2 OFF"><br />
            <input type="submit" name="OFF3" value="RLY3 OFF"><br />
            <input type="submit" name="OFF4" value="RLY4 OFF"><br />
            <input type="submit" name="OFF7" value="ALL RELAYS OFF"><br />
        </td>
        </form>
    </tr>
</table>
<hr/>
<h4>Chandra MDE - <a href="http://blog.teknikelektrolinks.com">http://blog.teknikelektrolinks.com</a></h4>

<?php
$address = '192.168.4.1';
$port = 23;
if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) 
{
    echo "socket_create() error: " . socket_strerror(socket_last_error()) . "\n";
    exit();
}
$result = socket_connect($sock, $address, $port);
if ($result === false) 
{
    echo "socket_connect() error ($result) : " . socket_strerror(socket_last_error($sock)) . "\n";
    exit();
} 
if (isset($_POST['ON1']))
    socket_write($sock, "on1\r\n", 5);
else if (isset($_POST['ON2']))
    socket_write($sock, "on2\r\n", 5);
else if (isset($_POST['ON3']))
    socket_write($sock, "on3\r\n", 5);
else if (isset($_POST['ON4']))
    socket_write($sock, "on4\r\n", 5);
else if (isset($_POST['ON7']))
    socket_write($sock, "aon\r\n", 5);
else if (isset($_POST['OFF1']))
    socket_write($sock, "off1\r\n", 6);
else if (isset($_POST['OFF2']))
    socket_write($sock, "off2\r\n", 6);
else if (isset($_POST['OFF3']))
    socket_write($sock, "off3\r\n", 6);
else if (isset($_POST['OFF4']))
    socket_write($sock, "off4\r\n", 6);
else if (isset($_POST['OFF7']))
    socket_write($sock, "aof\r\n", 5);
?>

Pengujian

Untuk menguji eksperimen ini diperlukan program interpreter PHP. Selain sebagai interpreter, program PHP juga kita fungsikan sebagai web server. Saya menggunakan versi PHP 5.6.

Untuk mengaktifkan web server digunakan perintah sebagai berikut:

   $ ip address | wlan0
   $ php -S 192.168.4.4:8080

Perintah $ ip address | grep wlan0 berfungsi untuk menampilkan alamat IP lokal. Saya menggunakan USB Wi-Fi Dongle (wireless lan). Dan perintah berikutnya akan mengaktifkan web server yang aktif pada port 8080.

Setelah web server aktif, maka kita bisa mencoba mengakses wifi4rel.php menggunakan web browser. Hasilnya adalah sebagai berikut.

Pada eksperimen ini, relay-relay berhasil dikontrol melalui halaman web wifi4rel.php. Ketika tombol RLY1 ON ditekan, maka program akan mengirimkan perintah ON1 ke Wi-Fi Relay melalui TCP Socket. WIFI-4REL menerima perintah ON1 dan mengaktifkan RELAY-1.

Demikian juga halnya dengan tombol-tombol yang lain. Program akan mengirimkan perintah sesuai dengan tombol yang ditekan. Tombol RLY2 ON akan mengirimkan perintah ON2, tombol ALL RELAYS ON akan mengirimkan perintah AON, dst.

Anda juga bisa membaca tulisan terkait tentang contoh program PHP pada link berikut ini:

Contoh Program Mengontrol Wi-Fi Relay Menggunakan Bahasa Python Dan PHP

 

Selamat berkarya.

 

 

Iklan

1 thought on “Mengontrol Wi-Fi Relay Melalui Web Dengan PHP-CGI

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

%d blogger menyukai ini:
search previous next tag category expand menu location phone mail time cart zoom edit close