从kivy android app中访问gpio

时间:2013-10-03 23:15:56

标签: android permissions kivy gpio

好吧我很难过,而且我可能没有足够的android经验,所以我不知道要使用哪个permissions

我已经重新编译了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 0666direction value,它会成功更新文件系统中的权限。

-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或方向

1 个答案:

答案 0 :(得分:5)

好的,我终于弄明白了...就在我拔掉所有头发之前。

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

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

然而,如果我把它称为

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

它运作良好。

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