Вы можете использовать такой код, чтобы узнать, какое устройство подключено к какому порту:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import subprocess, os
def getUSBName(devSerial):
if(os.path.exists(devSerial)==False):
return "No USB"
dataAttributes = subprocess.Popen("udevadm info --name=" + devSerial + " --attribute-walk", shell=True, stdout=subprocess.PIPE).stdout.read().decode('utf-8').split('\n')
for at in dataAttributes:
if(at.find("busnum")!=-1):
bus = at.replace(" ", "")[-2].zfill(3)
#print("bus = " + bus);
break
for at in dataAttributes:
if(at.find("devnum")!=-1):
device = at.replace(" ", "")[-2].zfill(3)
#print("device = " + device)
break
dataUSB = subprocess.Popen("lsusb", shell=True, stdout=subprocess.PIPE).stdout.read().decode('utf-8').split('\n')
searchline = "Bus " + bus + " Device " + device + ":"
for usb in dataUSB:
if usb.find(searchline)!=-1:
return usb
devSerial = "/dev/ttyUSB0"
print(getUSBName(devSerial))
Затем вы можете сканировать некоторые порты (/ dev / ttyUSB0, / dev / ttyUSB1, / dev /ttyUSB2 ...) и поиск по ключевому слову вашего устройства.