Как определить номер порта Arduino для pySerial в macOS - PullRequest
0 голосов
/ 08 февраля 2019

Я хотел бы знать, как определить номер порта Arduino nano, который подключен к моему macbook, если я буду использовать его в Python.

Инструменты> Порт в Arduino IDE

/dev/cu.usbserial-A900afrI

У меня есть этот код в моем .py файле

import serial

a = serial.Serial('A900afrI', baudrate=9600, timeout=1)

Я хочу знать, какой порт следует заменить 'A9000afrI'с, потому что я получаю сообщение об ошибке:

Traceback (most recent call last):
  File "/Users/cievlh/Desktop/Python/python_env/lib/python3.7/site-packages/serial/serialposix.py", line 265, in open
    self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK)
FileNotFoundError: [Errno 2] No such file or directory: 'A900afrI'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "pyserial.py", line 3, in <module>
    a = serial.Serial('A900afrI', baudrate=9600, timeout=1)
  File "/Users/cievlh/Desktop/Python/python_env/lib/python3.7/site-packages/serial/serialutil.py", line 240, in __init__
    self.open()
  File "/Users/cievlh/Desktop/Python/python_env/lib/python3.7/site-packages/serial/serialposix.py", line 268, in open
    raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg))
serial.serialutil.SerialException: [Errno 2] could not open port A900afrI: [Errno 2] No such file or directory: 'A900afrI'
(python_env)

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019

Понял, просто включил всю строку в соответствии с gre_gor.

import serial

a = serial.Serial('/dev/cu.usbserial-A900afrI', baudrate=9600, timeout=1)
0 голосов
/ 08 февраля 2019

Вы можете сделать это: Этот код на самом деле предназначен для клона Arduino, но я думаю, что они одинаковы.

import serial.tools.list_ports
#Find USB Port
def find_port():  #Finds which port the arduino is plugged into
    ports = list(serial.tools.list_ports.comports())
    for p in ports:
        if '0403' in p[2]: #unique to Osepp Uno (arduino clone)                
            return p[0]
...