serial.serialutil.SerialException: не удалось открыть порт / dev / ttyAMA0: [Errno 13] Отказано в доступе: '/ dev / ttyAMA0' - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть Raspberry, которую я пытаюсь подключить к облаку Iot Ubidots, но я получил эту ошибку:

pi@raspberrypi:~/Downloads/raspbiDaniela/Ver 2016/ZonrProject $ python main.py
    Traceback (most recent call last):
      File "main.py", line 124, in <module>
        main()
      File "main.py", line 21, in main
        ser = serial.Serial(port=port, baudrate=baud)
      File "/usr/lib/python2.7/dist-packages/serial/serialutil.py", line 261, in __init__
        self.open()
      File "/usr/lib/python2.7/dist-packages/serial/serialposix.py", line 278, in open
        raise SerialException("could not open port %s: %s" % (self._port, msg))
    serial.serialutil.SerialException: could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0'

1 Ответ

0 голосов
/ 19 ноября 2018

Вам не нужно запускать скрипт каждый раз с sudo, как это предлагается в комментариях, но вам нужно убедиться, что у вас есть права на чтение / запись для /dev/ttyAMA0.Вы можете изменить разрешения, используя:

sudo chmod 666 /dev/ttyAMA0

Если устройство является отсоединяемым, вы можете также рассмотреть возможность создания правила udev, которое будет применять правильные разрешения при каждом подключении.Вы можете прочитать больше о udev правилах на вики Debian .

...