app前后台交互php_PHP 之前后端交互

今天想实现一个很简单的功能,前端上面一个按键去控制 板子里面的一个LED灯,就这么一个简单的问题,困扰了一天。

以前搞底层的时候,没有服务端和客户端的深刻概念,网页不同,分在客户端运行的 html 代码,以及在服务端运行php, 等代码。

这里面涉及前后端交互的一个概念。

今天大致记录这个功能是怎么实现的。

这是前端显示代码

Hardware Operation

function gpio_on()

{

var str="GPIO29_ON";

if (window.XMLHttpRequest)

{

// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行的代码

xmlhttp=new XMLHttpRequest();

}

else

{

//IE6, IE5 浏览器执行的代码

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

}

xmlhttp.onreadystatechange=function()

{

if (xmlhttp.readyState==4 && xmlhttp.status==200)

{

document.getElementById("txtHint").innerHTML=xmlhttp.responseText;

}

}

xmlhttp.open("GET","gpio_operation.php?q="+str, true);

xmlhttp.send();

}

function gpio_off()

{

var str="GPIO29_OFF";

if (window.XMLHttpRequest)

{

// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行的代码

xmlhttp=new XMLHttpRequest();

}

else

{

//IE6, IE5 浏览器执行的代码

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

}

xmlhttp.onreadystatechange=function()

{

if (xmlhttp.readyState==4 && xmlhttp.status==200)

{

document.getElementById("txtHint").innerHTML=xmlhttp.responseText;

}

}

xmlhttp.open("GET","gpio_operation.php?q="+str, true); // 这里的 q 是传入的参数

xmlhttp.send();

}

td {

text-align: center;

}

IndexNameONOFF

foreach ($MiniOS->configs["hardware_operation"] as $key => $value) {

echo "

";

echo "

".$value["index"]."";

echo "

".$key."";

echo "

";

echo ''.'gpio_on'.''; // 按钮,调用 gpio_on()

echo "

";

echo "

";

echo ''.'gpio_off'.''; // 按钮, 调用 gpio_off

echo "

";

echo "

";

}

?>

gpio_operation.php 代码

// 获取传入的参数

$q=$_GET["q"];

function gpio29_on()

{

$cmd1 = "echo 29 > /sys/class/gpio/export";

$cmd2 = "echo out > /sys/class/gpio/gpio29/direction";

$cmd3 = "echo 1 > /sys/class/gpio/gpio29/value ";

exec($cmd1);

exec($cmd2);

exec($cmd3);

}

function gpio29_off()

{

$cmd1 = "echo 0 > /sys/class/gpio/gpio29/value ";

$cmd2 = "echo 29 > /sys/class/gpio/unexport";

exec($cmd1);

exec($cmd2);

}

if ($q == "GPIO29_ON")

{

gpio29_on();

}

else if ($q == "GPIO29_OFF")

{

gpio29_off();

}

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值