Posting ini sekedar membahas proyek sederhana mengendalikan peralatan yang dikontrol dengan remote infrared (IR) melalui WIFI. Sekarang kami bisa menyalakan dan mematikan AC, mensetup temperatur, kipas, dan juga swing dari HP atau laptop.
Saya dan Risna tadinya sama-sama memakai Samsung Note 4 yang memiliki fitur IR blaster sehingga bisa jadi remote AC maupun TV. Ternyata fitur ini sangat terpakai, sering kali remote TV terselip, dan remote AC kadang tidak terlihat di malam hari di kamar tidur, sedangkan biasanya HP tidak jauh dari tangan.
Sebenarnya dari dulu sudah ingin membuat ini, tapi Sekarang Risna ganti HP memakai Asus Zoom yang tidak punya fitur IR. Jadi diniatkan untuk membuat gateway WIFI ke IR. Plus saya kadang lupa mematikan AC dan sudah terlanjur meninggalkan rumah.
Modul WIFIESP8266 yang saya gunakan adalah Wemos D1. Harga modulnya murah, sekitar 2.9-4 USD per modul. Saya hanya perlu menambahkan transistor, resistor dan LED IR-nya, dan supaya rapi saya solder ke perfboard. Pin header sifatnya opsional, saya pakai header supaya mudah mengganti LED jika nanti rusak.
Harga komponen lain terlalu murah untuk beli satuan: harga 100 buah transistor 1 USD, harga 20 buah LED IR 1 USD, harga 100 resistor 0.65 USD. Harga 10 perfboard 1.99 USD (satu perfboard bisa dipatahkan menjadi beberapa).
Saya meletakkan LED IR beberapa meter dari AC. Andaikan semua bisa diletakkan dekat AC, sebenarnya transistor dan resistor tidak perlu, langsung saja sambungkan IR LED ke modul ESP8266-nya.
Saya membuat tiga board, satu untuk ruang TV, satu untuk kamar tidur utama, dan satu untuk kamar tidur Jonathan. Rencananya saya akan menambahkan juga sensor suhu supaya AC bisa mati otomatis jika sudah terlalu dingin.
Secara teori memprogram WIFI IR ini mudah sekali karena sudah ada library IR dan banyak contohnya di Internet. Kenyataannya tidak semudah itu kalau device yang kita miliki kurang terkenal. Untuk AC merk LG saya menemukan repository ini di github. Sayangnya saya tidak menemukan yang cocok untuk AC Sharp yang ada di kamar tidur Jonathan dan ruang tidur utama.
Ada beberapa hasil pencarian protokol Sharp, misalnya ini, tapi ternyata sama sekali tidak cocok dengan AC. Akhirnya saya menggunakan Orange Pi PC yang memiliki infrared receiver dan program mode2 dari LIRC, untuk menerima signal raw dari remote AC.
Setelah melakukan reverse engineering, saya jadi punya lebih banyak clue untuk melakukan pencarian lagi. Dari jumlah bitnya (104 bit atau 13 byte) dan dari beberapa bit awal, akhirnya saya menemukan repository ini. Kode yang ada di repository tersebut cukup membantu dalam hal perhitungan checksum. Tapi akhirnya saya tetap harus mencari sendiri kode-kode untuk remote Sharp.
Saya membuat user interface berbasis web agar mudah diakses dari ponsel maupun komputer. Karena programnya sangat sederhana, saya memakai JQuery mobile dan PHP. Tombol AC On dan Off sengaja dibuat terpisah, bukan toggle seperti pada remote AC, karena saya ingin yakin mengirimkan signal off, terutama ketika tidak berada di dekat AC-nya.
Jika diakses dari jaringan rumah, saya tidak perlu autentikasi untuk mengakses remotenya. Jika diakses dari luar rumah, saya perlu menggunakan SSL client certificate supaya tidak semua orang bisa mengaksesnya.
Jika Anda ingin memprogram ESP8266, mengendalikan LED IR via WIFI ini merupakan salah satu proyek menarik yang sangat sederhana, murah, dan berguna.
Saya di rumah menggunakan Broadlink untuk beberapa device di rumah yang menggunakan IR.
Kebetulan dapet pas promo, sekitar $9 sudah termasuk ongkos kirim sampai rumah.
Kalo 9 USD memang lebih praktis beli. Sekarang 15 usd x 3 = 45 USD lumayan mahal juga. Material costnya cuma sekitar 5 USD.
Plus kadang saya curiga dengan app Android/APK dari China. Pernah install app untuk smartwatch yg di latar belakang mengirim contact list kita ke China.
Gara-gara balasan komentar Mas Yohanes tentang APK dari Cina yang sering mencuri data, saya jadi kepikiran aplikasi alternatifnya. Ternyata di Github ada yang bikin unofficial API untuk mengakses perangkat tersebut menggunakan Python.
Terima kasih atas insight-nya dan selamat ulang tahun, Mas!
Terima kasih untuk ucapan selamat ulang tahunnya.