Mengontrol Driver Relay USB-2REL Pada Linux Ubuntu Menggunakan Python dan PyUSB 1.0


usb2rel_python_linux

Memberikan fasilitas antarmuka pengontrolan relay kepada pengguna Linux adalah salah satu keinginan saya yang selama ini belum terpenuhi. Mungkin karena saya masih sekali-sekali saja bermain di Linux, sehingga motivasi ke arah sana juga kurang. Ditambah lagi mungkin karena saya belum menyediakan mesin khusus untuk Linux.

Namun demikian, puji syukur ke hadirat Allah SWT, hari ini keinginan tersebut akhirnya terpenuhi.

Thanks to Oracle VM VirtualBox, Ubuntu, libusb, Python, PyUSB, and the last but not least, thanks to Mr. Adam.🙂

Keterangan: Gambar di atas adalah modul driver relay USB-2REL yang dapat digunakan untuk mengontrol dua buah relay melalui PC/laptop melalui port USB. Modul ini mengambil daya langsung dari port USB, oleh karenanya sangat praktis dalam penggunaannya karena tidak memerlukan catudaya eksternal.

Pada tulisan ini akan saya sampaikan hasil eksperimen pengontrolan modul USB-2REL pada mesin dengan platform linux menggunakan interpreter Python. Linux yang saya gunakan adalah Ubuntu 10.4.4 Lucid Lynx.

Python dan libusb merupakan program bawaan distro Ubuntu yang otomatis di instal pada saat instalasi Linux Ubuntu. Oleh karenanya kita bisa langsung mengunduh PyUSB 1.0 dan melakukan instalasi agar dapat kita gunakan pada program Python kita.

Berikut adalah screenshot instalasi modul PyUSB 1.0.

image

Perhatikan perintah yang telah saya beri garis bawah warna merah. Instalasi gagal dengan perintah tersebut karena instalasi PyUSB 1.0 memerlukan akses root, oleh karenanya kita gunakan perintah tambahan sudo seperti pada perintah bergaris bawah warna biru.

Setelah PyUSB 1.0 terinstalasi dengan benar, kini saatnya kita uji dengan Python dan modul USB-2REL.

Perhatikan screenshot di bawah ini. Untuk dapat mengakses modul USB-2REL diperlukan akses root juga, oleh karenanya kita tambahkan perintah sudo dalam pemanggilan program python seperti ditunjukkan oleh baris pertama pada screenshot berikut ini.

usb2rel_ubuntu

Langkah selanjutnya adalah meng-import modul usb.core dan usb.util, dan mendapatkan handle untuk piranti USB (USB-2REL) dengan fungsi find(). Pada eksperimen ini, modul USB-2REL ditemukan pada alamat 0xb772484c.

>>> import usb.core
>>> import usb.util
>>> usb2rel = usb.core.find(idVendor=5824, idProduct=1500)

Perintah selanjutnya adalah membaca data manufaktur dan nama produk dari piranti USB.

>>> usb.util.get_string(usb2rel, 100, 1)
u’Teknik Elektro Links’
>>> usb.util.get_string(usb2rel, 100, 2)
u’TELINKS-USBRELAY’

Data manufaktur yang terbaca adalah ‘Teknik Elektro Links’. Huruf u kecil di depan ‘Teknik Elektro Links’ adalah tanda bahwa data tersebut adalah unicode. Dan data nama produk yang terbaca adalah ‘TELINKS-USBRELAY’.

Kini dapat diyakini bahwa modul USB-2REL dapat diajak berkomunikasi dengan baik. Dan langkah selanjutnya adalah mengirimkan perintah-perintah on/off relay.

>>> usb2rel.ctrl_transfer(0x40, 1, 1, 1, None)  #RELAY-1 ON
0
>>> usb2rel.ctrl_transfer(0x40, 1, 0, 1, None)  #RELAY-1 OFF
0
>>> usb2rel.ctrl_transfer(0x40, 1, 1, 2, None)  #RELAY-2 ON
0
>>> usb2rel.ctrl_transfer(0x40, 1, 0, 2, None)  #RELAY-2 OFF
0
>>> usb2rel.ctrl_transfer(0x40, 2, 0, 0, None)  #ALL RELAYS ON
0
>>> usb2rel.ctrl_transfer(0x40, 3, 0, 0, None)  #ALL RELAYS OFF
0

Dari hasil eksperimen ini, maka dapat kita simpulkan bahwa modul USB-2REL dapat digunakan pada platform Linux.

Nah, jika Anda pengguna Linux dan membutuhkan modul driver relay untuk pengontrolan peralatan listrik atau untuk aplikasi yang lain, Anda dapat menggunakan modul USB-2REL.

Untuk informasi harga dan pemesanan, silakan mengunjungi situsnya di: http://teknikelektrolinks.com.

Semoga bermanfaat, selamat  belajar, dan selamat berkarya!

🙂

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