Program Testing Modul LPT-4REL Menggunakan Python + PyParallel Pada Sistem Operasi Linux


Python menurut saya adalah bahasa pemrograman tingkat tinggi yang sangat mudah digunakan karena bahasa pemrograman modular ini dilengkapi dengan modul-modul siap pakai yang sangat banyak.

Saya memang bukan Pawang Python, tapi sekedar pemula yang penasaran dengan popularitas Python. Namun demikian, meskipun pemula, bukan berarti saya baru menggunakan Python. Saya sudah menggunakan Python sejak tahun 2010, dan sungguh sangat disayangkan memang, karena sampai saat ini saya masih berlevel pemula.😀

Btw, alasan lain saya menggunakan Python adalah karena Python adalah interpreter yang platform-independent. Sekali kita bikin program, kode program dapat dijalankan oleh interpreter Python pada berbagai sistem operasi tanpa memerlukan modifikasi. Berbeda dengan pemrograman C atau Pascal yang memerlukan banyak modifikasi atau bahkan membuat program lagi dari awal.

Nah, bernarkah Python itu mudah? Pada tulisan ini akan saya sampaikan sebuah contoh program pengontrolan driver relay LPT-4REL menggunakan Python dan modul PyParallel. Sangat mudah dan ringkas.

Modul PyParallel bisa diinstal langsung dari repository menggunakan program Synaptic atau paket manager pada linux yang kita gunakan. Saya yakin modul PyParallel pasti tersedia pada repository distro linux yang Anda gunakan. Tapi jika memang tidak ada, Anda dapat mengunduhnya melalui link berikut ini:

pyparallel-0.2.zip
(~29.4KB)

Setelah download, lakukan ekstraksi dan instalasi pyparallel melalui shell dengan perintah:

$python setup.py install

Selanjutnya Anda dapat melakukan pengecekan apakah modul PyParallel telah terinstal dengan baik atau tidak dengan cara sebagai berikut:

Jika tidak muncul pesan kesalahan seperti screenshot di atas, maka instalasi PyParallel telah sukses dan modul siap digunakan. Ada beberapa syarat agar sukses mengakses port paralel LPT menggunakan Python dan PyParallel, yakni:

  1. Memerlukan akses ROOT
  2. Modul kernel lp harus di unload. Untuk pengecekan, gunakan perintah: $lsmod. Dan untuk meng-unload modul lp, gunakan perintah: $sudo rmmod lp.
  3. Memerlukan modul kernel ppdev. Biasanya modul ini sudah otomatis ada dan di load (cek dengan lsmod). Jika belum, maka gunakan perintah $sudo modprobe ppdev.

Nah, jika semua persyaratan di atas sudah dipahami dan dipenuhi, maka kita bisa mengujinya dengan membuat program sederhana seperti yang ditunjukkan oleh screenshot terminal berikut ini.

Program di atas akan mengaktifkan relay sesuai dengan urutan pada tuple data. Pada perulangan pertama RELAY-1 ON, pada perulangan kedua RELAY-2 ON, pada perulangan ketiga RELAY-3 ON, dan pada perulangan keempat RELAY4-ON. Berikut adalah data kondisi relay sesuai dengan data yang ditulis ke port LPT:

i = 0 –> data[0] = 1 –> RELAY-1 ON
i = 1 –> data[1] = 2 –> RELAY-2 ON
i = 2 –> data[2] = 4 –> RELAY-3 ON
i = 3 –> data[3] = 8 –> RELAY-4 ON
i = 4 –> data[4] = 0 –> ALL RELAYs OFF
i = 5 –> data[5] = 1 –> RELAY-1 ON
i = 6 –> data[6] = 3 –> RELAY-1,2 ON
i = 7 –> data[7] = 7 –> RELAY-1,2,3 ON
i = 8 –> data[8] = 15 –> RELAY-1,2,3,4 ON
i = 9 –> data[9] = 0 –> ALL RELAYs OFF
i = 10 –> data[10] = 15 –> ALL RELAYs ON
i = 11 –> data[11] = 0 –> ALL RELAYs OFF
i = 12 –> data[12] = 15 –> ALL RELAYs ON
i = 13 –> data[13] = 0 –> ALL RELAYs OFF
i = 14 –> data[14] = 15 –> ALL RELAYs ON
i = 15 –> data[15] = 0 –> ALL RELAYs OFF
i = 16 –> data[16] = 15 –> ALL RELAYs ON
i = 17 –> data[17] = 0 –> ALL RELAYs OFF

Setiap perulangan diberikan sedikit waktu tundaan sekitar 200 milidetik dengan perintah time.sleep(.2)

Nah, semoga tulisan hasil eksperimen ini dapat berguna bagi Anda yang memerlukan.

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