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

adi*_*com 3 python serial-port pyserial raspberry-pi raspbian

我有一个 Raspberry,我正在尝试连接到 Ubidots IOT 云,但出现以下错误:

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'
Run Code Online (Sandbox Code Playgroud)

mac*_*nic 8

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

sudo chmod 666 /dev/ttyAMA0
Run Code Online (Sandbox Code Playgroud)

如果设备是可拆卸的,您还可以考虑创建一个udev规则,该规则将在每次连接时应用正确的权限。您可以在Debian 的 wikiudev上阅读有关规则的更多信息。