OSError:[Errno 13]使用uinput拒绝权限

时间:2016-04-21 05:03:06

标签: python input raspberry-pi

我正在使用我的覆盆子pi上的os模块在​​按下某个按钮时重启它,该按钮连接到树莓派的GPIO。但是,当我运行以下代码时,我收到一条错误消息。

enter image description here

我尝试更改python文件的权限,我也已经运行了modprobe输入。如果有人能帮助我那将是惊人的!

import RPi.GPIO as GPIO
import time
import uinput
import os

GPIO.setmode(GPIO.BCM)

GPIO.setup(19, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(20, GPIO.IN, pull_up_down=GPIO.PUD_UP)

time.sleep(1)
device = uinput.Device([uinput.KEY_F5])

view = 'm'

while True:
    input_state_back = GPIO.input(19)   
    input_state_forward = GPIO.input(20)

    if input_state_back == False:
        print('Button F5 Pressed')
        device.emit_click(uinput.KEY_F5)
        time.sleep(0.5)
    if input_state_forward == False:
        print('Button Reboot Pressed')
        os.system('sudo reboot')
        time.sleep(0.5)

2 个答案:

答案 0 :(得分:0)

尝试使用sudo python nameProgram.py从bash执行您的程序 我有同样的错误,但这样做我可以运行我的程序。它不能在普通的python窗口中工作,但我找不到其他方法来完成这项工作

答案 1 :(得分:0)

可能的决定之一是root下的启动环境。当您使用空闲时,您可以:

sudo idle

现在,当您启动该文件时,必须排除您的问题。