[经验] 用app控制树莓派GPIO

2019-02-125745
AI 快速预览详细 收起
本文介绍了如何通过手机应用程序远程控制树莓派的GPIO引脚。所需材料包括树莓派、Android手机和电脑。首先,需要编写一个Android应用程序,并将其安装在手机上。然后,在树莓派上创建一个PHP文件,通过GET请求控制GPIO引脚的状态。最终效果是可以通过手机APP远程控制树莓派上的LED灯。


[经验] 用app控制树莓派GPIO图1

第一步:所需材料
树莓派
android手机
电脑,用来把app装在手机上
tica Neue, Helvetica, Arial, sans-serif">

第二步:应用程序部分


应用程序编码:
[经验] 用app控制树莓派GPIO图2


复制代码

到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函数:


添加权限到应用程序:
[经验] 用app控制树莓派GPIO图3

我们只需要互联网接入的权限,打开清单文件并添加:
<uses-permission android:name="android.permission.INTERNET" ></uses>在<application... 前面

第三步:树莓派部分
[经验] 用app控制树莓派GPIO图4
[经验] 用app控制树莓派GPIO图5
在/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

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
gada888
gada888
安卓app编程可不好学
- 没有更多了 -