从kivy android app中访问gpio

Jor*_*ley 2 permissions android gpio kivy

好吧我很难过,我可能没有足够的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中的权限.

-rw-rw-rw- root     root         4096 2013-10-01 06:59 value
-rw-rw-rw- root     root         4096 2013-10-01 06:59 direction
Run Code Online (Sandbox Code Playgroud)

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

Jor*_*ley 5

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

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

 with open("/sys/class/gpio/gpio141/value","w") as f:
     f.write("1")
Run Code Online (Sandbox Code Playgroud)

但是,如果我把它称为

 os.system("echo 1>/sys/class/gpio/gpio141/value") 
Run Code Online (Sandbox Code Playgroud)

它工作得很好.

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