Ich versuche den richtigen COM-Port zu finden, mit dem ein Gerät verbunden ist, bevor ich den Rest des Python-Skripts ausführen kann.Kann keine seriellen Anschlüsse mit Python erkennen
Ich habe mit dieser versucht:
import serial.tools.list_ports
ports = list(serial.tools.list_ports.comports())
for p in ports:
print p
Und:
import wmi
c = wmi.WMI()
wql = "Select * From Win32_SerialPort"
for item in c.query(wql):
print item
Und:
def serial_ports():
if sys.platform.startswith('win'):
ports = ['COM%s' % (i + 1) for i in range(256)]
print ports
elif sys.platform.startswith('linux') or sys.platform.startswith('cygwin'):
# this excludes your current terminal "/dev/tty"
ports = glob.glob('/dev/tty[A-Za-z]*')
elif sys.platform.startswith('darwin'):
ports = glob.glob('/dev/tty.*')
else:
raise EnvironmentError('Unsupported platform')
result = []
for port in ports:
try:
s = serial.Serial(port)
s.close()
result.append(port)
except (OSError, serial.SerialException):
pass
return result
Alle diese Methoden sind diejenigen, die ich von anderen Stapel gefunden haben Austausch von Posten; jedoch, mit beiden Funktionen, wenn ich versuche, die Liste der COM-Ports zu drucken, bekomme ich eine leere Liste? Jede Hilfe/Einblicke würde sehr dankbar sein, danke im Voraus!
haben Sie tatsächlich irgendwelche COM-Ports? neuere PCs haben überhaupt keine, da das ist Vorgeschichte Legacy-Hardware, und neue Maschinen gehen Legacy-frei –
Ja! Sorry, ich habe das in meinem vorherigen Beitrag nicht klargestellt, aber wenn ich die COM-Port-Nummer in manuellem/hartem Code eintrage, funktioniert es einwandfrei. Ich versuche, den Prozess der Suche nach dem richtigen COM-Port, mit dem mein Gerät verbunden ist, zu automatisieren, indem ich zuerst eine Liste aller COM-Ports erhalte und sie alle ausprobiere. – Jennifer
Haben Sie die Lösung gefunden? oder hast du noch ein Problem? –