2016-01-28 4 views
0

Я делаю это, чтобы перечислять доступные COM-порты в windows и unix.Откройте OTA «порты», такие как Arduino IDE

Окна:

def listWindowsPorts():   
    serial_ports = [] 
    has_ports = False 
    path = 'HARDWARE\\DEVICEMAP\\SERIALCOMM' 
    try: 
     reg = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, path,) 
     has_ports = True 
    except WindowsError: 
     pass 
    if has_ports: 
     for i in range(128): 
      try: 
       name, value, type = winreg.EnumValue(reg, i) 
      except WindowsError: 
       pass 
      else: 
       serial_ports.append(value) 
    return serial_ports 

An это для UNIX (Linux-OSX):

def listUnixPorts(system): 
    serial_ports = [] 
    dev_path = '/dev/' 

    if('osx' in system): 
     dev_names = ['tty.*', 'cu.*'] 
    else: 
     dev_names = ['ttyACM*', 'ttyUSB*'] 
    for dev_name in dev_names: 
     pattern = dev_path + dev_name 
     serial_ports += glob.glob(pattern) 
    return serial_ports 

IDE В Arduino в, помимо отображения COM портов, он имеет возможность показать OTA «порты "автоматически после настройки. Я хотел бы знать, есть ли способ сделать это в python, поэтому я могу показать последовательные порты и OTA-порты вместе.

Может ли кто-нибудь привести пример или сайт с этой информацией?

Я посмотрел в документации pyserial библиотеки, но до сих пор я не нашел функцию «AUTODISCOVER»

ответ

0

Ответ на этот вопрос заключается в использовании браузер MDNS, в моем случае, как я м с использованием python, I разрешен с использованием zeroconf

Смежные вопросы