Hirdetés

Új hozzászólás Aktív témák

  • LógaGéza
    veterán

    Itt a PySerial dokumentációja a kérdéses modullal: [link]

    Ezek alapján a kód a következő (létezik az, hogy nekem nincs egyetlen COM portom sem? Az Eszközkezelő sem említi őket :F Majd holnap én is kipróbálom):

    # Valahol a kód elején a többi importtal
    import serial.tools.list_ports

    A port lista létrehozása a comports() függvénnyel. Ez egy generátor objektumot hoz létre, amiből a portok így adódnak:
    ports = list(serial.tools.list_ports.comports())

    Ennek a listának az elemei a dokumentáció szerint 3 elemű tuple-k. Ebből nekünk az elsőre van szükségünk (ami igazából a nulladik), azt adjuk be a serial.Serial() objektumnak. Ha csak az első elemek kellenek, akkor a fenti helyett egyszerűen írjuk ezt:
    ports = [p[0] for p in serial.tools.list_ports.comports()]

    Ez elvileg működik, mint írtam, COM port hiányában nem tudom most kipróbálni... De holnap biztos megteszem, mert a téma engem is érdekel.

    A kérdéses kódban pedig a 85-87-es sort kell módosítani, imigyen:
    for p in serial.tools.list_ports.comports():
    print(p)
    self.combobox_port.append_text(p[0])

    Az újabb gépeken nem nagyon van már, nekem is csak akkor ha rádugom az Arduinot.
    Holnap tudom én is meglesni, ma már nem dolgozok többet :P

Új hozzászólás Aktív témák