Senin, 23 Mei 2011

Membaca Data Dari WinLIRC Dengan Lazarus

WinLIRC adalah sebuah paket program yang dapat kita gunakan untuk menerima dan mengirim sinyal standard remote control infra merah seperti remote TV, DVD Player atau yang lain. Jadi kita dapat mengontrol komputer kita dengan remote control infra merah yang kita miliki. Dan, kita juga dapat mengendalikan perangkat elektronik kita menggunakan komputer.
WinLIRC merupakan versi Windows dari LIRC (Linux Infrared Remote Control). So, bagi Anda pengguna Linux dapat memperoleh paket program dari situs tersebut.
Gambar di samping adalah skematik rangkaian penerima inframerah menggunakan sensor TSOP 1738 yang terhubung dengan port serial komputer. Menurut pengalaman saya, sensor model TSOP ini memang lebih baik dibandingkan dengan sensor model yang lain. Jadi saran saya sebaiknya gunakan sensor model TSOP, meskipun rangkaian tersebut juga dapat digunakan untuk sensor model lain seperti Sharp atau model “antah-berantah” seperti yang saya gunakan dalam eksperimen ini. Simak foto berikut ini… :D
Untuk mengaplikasikan WinLIRC memerlukan beberapa langkah mudah yakni:
  1. Buat rangkaian penerima dengan skematik di atas
  2. Download program WinLIRC
  3. Lakukan perekaman sinyal remote control yang digunakan dengan program WinLIRC
  4. Jalankan server WinLIRC
  5. Buat program yang dapat berkomunikasi dengan WinLIRC
Untuk prosedur perekaman sinyal remote control yang menghasilkan file konfigurasi khusus untuk remote control yang kita gunakan, tidak saya bahas disini, silakan mempelajarinya sendiri. Maaf… :)
WinLIRC menggunakan socket untuk berkomunikasi. Jadi bagi pengguna Windows95 (masih ada gak ya?), maka harus mendownload dan menginstalasi paket program Winsock.
Jika Delphi telah menyertakan komponen TSocketServer dan TSocketClient pada default instalasinya, tidak demikian halnya dengan Lazarus. Komponen TSocketClient harus diinstalasi terlebih dahulu. Paket komponen ini dapat di download di sini.
Komponen ini dibuat dengan Lazarus 0.9.6 yang menggunakan FPC 1.9.8, oleh karenanya proses kompilasi paket komponen ini menggunakan Lazarus 0.9.28 dengan FPC 2.2.4 akan memunculkan kesalahan sebagai berikut:
C:\lazarus\components\sockets\socketclient.pas(262,33) Error: Illegal qualifier
C:\lazarus\components\sockets\socketclient.pas(262,55) Error: Illegal qualifier
C:\lazarus\components\sockets\socketclient.pas(262,77) Error: Illegal qualifier
C:\lazarus\components\sockets\socketclient.pas(262,99) Error: Illegal qualifier
Untuk mengatasi hal tersebut, edit file socketclient.pas – baris 262, dan ubahlah perintah “tmp[1]” menjadi “tmp.s_bytes[1]“. Demikian juga dengan “tmp[2]“, “tmp[3]“, dan “tmp[4]“.
Setelah itu simpan, kompilasi ulang dan lakukan intalasi. Dan selanjutnya kita bisa membuat contoh aplikasi untuk membaca data sinyal dari remote control yang dikirimkan oleh server WinLIRC.
Screenshot disamping adalah tampilan program demo yang berfungsi membaca data remote control yang dikirimkan oleh WinLIRC melalui socket TCP/IP.
Karena program dijalankan secara lokal, maka alamat IP yang digunakan adalah 127.0.0.1 dengan nomor port 8765. Ini adalah nomor port default dari WinLIRC.
Dalam eksperimen ini saya hanya mendefinisikan empat buah tombol saja yakni Up, Down, Left, dan Right. Sekedar untuk membuktikan bahwa:
  1. Rangkaian penerima infra merah dan WinLIRC berfungsi dengan baik.
  2. Komponen TSocketClient dapat sukses diinstalasi menggunakan Lazarus 0.9.28 dan FPC 2.2.4
  3. Komponen TSocketClient berfungsi dengan baik dalam program aplikasi.
Dan alhamdulillah eksperimen berjalan dengan baik dengan hasil yang memuaskan.
Anda bisa menggunakan link dibawah ini untuk mendownload program Lazarus yang dibahas dalam tulisan ini.
( 837 kb )
Selamat belajar!

0 komentar:

Posting Komentar