2

好的,我很难过,可能我对android没有足够的经验,所以我不知道要使用哪些权限

我已经重新编译了android内核以公开我需要的gpio引脚,也许我需要在内核中做一些事情来解决我的问题......基本上在这一点上我不知道

可以打开adb shell/sys/class/gpio/export 141获取 gpio 文件夹及其文件(值、方向等)。

当我在其中时,adb shell可以使用设置方向和值echo out>direction;echo 1>value;echo 0>value;并且一切正常,引脚驱动为低或高。

我把它export 141放进去init.rc,现在它在启动时被导出。如果我尝试从我的 kivy 应用程序中访问值文件,它会崩溃并说权限被拒绝(意料之中)

如果我chmod 0666同时使用它directionvalue它会成功更新文件 sys.xml 中的权限。

-rw-rw-rw- root     root         4096 2013-10-01 06:59 value
-rw-rw-rw- root     root         4096 2013-10-01 06:59 direction

现在,当我尝试从 kivy(python) 写入文件时,[Errno 1] Operation not permitted 如果我尝试chown将文件写入我的应用程序用户或系统,我会得到相同的结果。我觉得我几乎尝试了所有东西,但似乎无法写信/sys/class/gpio/gpio141/value或指示

4

1 回答 1

5

好吧,我终于想通了……就在我拔掉所有头发之前。

所以无论出于何种原因,当我打电话时它会崩溃并死亡

 with open("/sys/class/gpio/gpio141/value","w") as f:
     f.write("1")

但是,如果我将其称为

 os.system("echo 1>/sys/class/gpio/gpio141/value") 

它工作得很好。

我仍然不确定为什么当我尝试将其作为文件句柄打开时会出现不允许的操作

于 2013-10-04T00:57:20.267 回答