[经验] 用app控制树莓派GPIO
2019-02-125745
AI 快速预览详细
本文介绍了如何通过手机应用程序远程控制树莓派的GPIO引脚。所需材料包括树莓派、Android手机和电脑。首先,需要编写一个Android应用程序,并将其安装在手机上。然后,在树莓派上创建一个PHP文件,通过GET请求控制GPIO引脚的状态。最终效果是可以通过手机APP远程控制树莓派上的LED灯。
![]() 第一步:所需材料 树莓派 android手机 电脑,用来把app装在手机上 tica Neue, Helvetica, Arial, sans-serif"> 第二步:应用程序部分 应用程序编码: ![]() 复制代码 到MainActivity.java,注意被忘了改成自己的IP 定义按钮 [mw_shl_code=applescript,true] /* For a switch */ Switch led1 = (Switch) findViewById(R.id.Led1); /* For a toggle button */ ToggleButton led2 = (ToggleButton) findViewById(R.id.Led2); /* For a normal button */ Button led3 = (Button) findViewById(R.id.Led3); [/mw_shl_code] 添加Add onclick/onchange: 把onclick/onchange listeners 放在OnCreate函数: 添加权限到应用程序: ![]() 我们只需要互联网接入的权限,打开清单文件并添加: <uses-permission android:name="android.permission.INTERNET" ></uses>在<application... 前面 第三步:树莓派部分 ![]() ![]() 在/var/www/html 删除 index.html,做一个新文件index.php 在index.php 需要添加: [mw_shl_code=applescript,true]<?php exec("gpio mode 0 out"); exec("gpio mode 2 out"); exec("gpio mode 3 out"); if (isset($_GET['led1'])) { if($_GET['led1'] == 1) { exec("gpio write 0 1");// pin 0 in wiring pi is gpio 17 } else { exec("gpio write 0 0"); } } if(isset($_GET['led2'])) { if($_GET['led2'] == 1) { exec("gpio write 2 1");// pin 2 in wiring pi is gpio 27 } else { exec("gpio write 2 0"); } } if(isset($_GET['led3'])) { if($_GET['led3'] == 1) { exec("gpio write 3 1");// pin 3 in wiring pi is gpio 22 } else { exec("gpio write 3 0"); } } ?>[/mw_shl_code] 来源BBS网站348081236 |

![[经验] 用app控制树莓派GPIO图1](https://imagemc.dfrobot.com.cn/data/attachment/forum/201902/12/142355r00d0t2gt0dds0td.gif)
![[经验] 用app控制树莓派GPIO图2](https://imagemc.dfrobot.com.cn/data/attachment/forum/201902/12/142419skbcxq69b650432b.gif)
![[经验] 用app控制树莓派GPIO图3](https://imagemc.dfrobot.com.cn/data/attachment/forum/201902/12/142503lxodrrokhzokpqrf.gif)
![[经验] 用app控制树莓派GPIO图4](https://imagemc.dfrobot.com.cn/data/attachment/forum/201902/12/142515xgchguqdypqgzwct.gif)
![[经验] 用app控制树莓派GPIO图5](https://imagemc.dfrobot.com.cn/data/attachment/forum/201902/12/142522i2d2uzavrildr722.gif)



