serial.serialutil.SerialException:无法打开端口/ dev / ttyAMA0:[Errno 13]权限被拒绝:'/ dev / ttyAMA0'

时间:2018-11-19 13:23:07

标签: python raspberry-pi serial-port raspbian pyserial

我有一个Raspberry,我正在尝试连接到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'

2 个答案:

答案 0 :(得分:0)

您不需要每次都按照注释中的建议使用sudo运行脚本,但是您需要确保对/dev/ttyAMA0具有读/写权限。您可以使用以下方法修改权限:

sudo chmod 666 /dev/ttyAMA0

如果设备是可拆卸的,则您也可以考虑创建一个udev规则,该规则将在每次连接设备时应用正确的权限。您可以在Debian's wiki上详细了解udev规则。

答案 1 :(得分:0)

当我通过串口打开SSH时遇到了这个问题。当我关闭它并仅通过sudo raspi-config打开串行接口时,一切正常,没有权限问题。

希望它可以帮助其他开发人员。