Raspberry, Arduino и pySerial

Тема в разделе "Raspberry Pi", создана пользователем Matsuk, 29 июн 2015.

  1. Matsuk

    Matsuk Нуб

    Доброго времени суток.
    Дошел в учебнике до Ардуино и коммуникации по Serial c Python. Собственно, не работает программа:
    Код (Text):
    import serial

    port = "/dev/ttyACM0"
    serialFromArduino = serial.Serial(9600)
    serialFromArduino.flushInput()
    while True:
        if (serialFromArduino.inWaiting() > 0):
            input = serialFromArduino.read(1)
            print(ord(input))
    Выдает вот такую ошибку:
    Код (Text):
    Traceback (most recent call last):
      File "SerialEcho.py", line 4, in <module>
        serialFromArduino = serial.Serial(9600)
      File "/usr/lib/python2.7/dist-packages/serial/serialutil.py", line 260, in __init__
        self.open()
      File "/usr/lib/python2.7/dist-packages/serial/serialposix.py", line 276, in open
        raise SerialException("could not open port %s: %s" % (self._port, msg))
    serial.serialutil.SerialException: could not open port 9600: [Errno 2] No such file or directory: '/dev/ttyS9600'
     
    Пробовал запускать через sudo - не работает.
    У кого было нечто подобное - отзовитесь.
    P.S. Стоит Raspbian, использую VNC и коннектюсь с ноутбука
     
  2. geher

    geher Гуру

    Что-то мне подсказывает, что как-то неверно вызывается serial.Serial(9600), и что ему надо скормить не только скорость, но и имя последовательного порта.
    т.е. в данном контексте:
    serialFromArduino = serial.Serial(port,9600)
    Вариант с одним параметром предполагает, что передается номер порта, начинающегося с /dev/TTYS, т.е. номер аппаратного последовательного порта на ПК.
     
  3. Matsuk

    Matsuk Нуб

    Надо же, какая глупость :D
    Спасибо!