Mendeteksi port Arduino yang terhubung ke PC dengan python

kalau kita pernah menggunakan Comport pada delphi, kita akan mudah mendeteksi port Arduino yang terhubung dengan PC, seperti berikut:



nah sekarang pertanyaan nya, kalau kita ingin membuat fitur tersebut di python bagaimana?, saya sendiri sempat pusing memikirkan hal ini, karena artikel yang saya dapatkan dari internet kebanyakan bahasa inggris, tetapi setelah saya coba cari di directory serial python 
(“/usr/lib/python2.7/dist-packages/serial/tools”)
disana terdapat file bernama list_ports.py , saya coba menjalankan file tersebut dan ternyata hasilnya sangat membantu, setelah file ini dijalankan diterminal, hasilnya akan terdapat informas port Arduino yang terhubung dengan PC. Seperti gambar dibawah ini


tetapi ada masalah lagi, yaitu bagaimana supaya kita dapat menggunakan fungsi seperti ini didalam aplikasi yang akan kita buat ?, untuk masalah ini, kita harus tau bagaimana memanggil sebuah fungsi dari file lain. Untuk hal ini saya akan membuat sebuah script sederhana seperti berikut


import sys
import serial
from serial.tools.list_ports import comports

iterator = sorted(comports())
for n, (port, desc, hwid) in enumerate(iterator, 1):
dev = "{:12}".format(port)
print dev#"{:12}".format(port)
Ser = serial.Serial(dev,9600)

#script untuk terhubung secara otomatis
if Ser:
print "Connected"
print Ser.readline()
root.mainloop()

program diatas akan memanggil fungsi comports, dengan pemanggilan fungsi seperti ini maka script yang kita buat akan lebih sederhana.
Disini saya juga menambahkan perintah supaya ketika terdeteksi port arduino, maka bisa langsung terhubung. Perintah tersebut terdapat pada baris

if Ser:
print "Connected"
print Ser.readline()

setelah program diatas dijalankan, maka hasilnya seperti Gambar dibawah ini


Comments