通过Web应用程序闪烁LED

我正在做一些基于Linux的embedded式系统的实验(Beaglebone,FriendlyARM mini6410,Embest Devkit 8000)。 我想编写一个Web应用程序,使用某种networking技术PHP,Javascript,…无论它是什么,其目的只是闪烁一个LED。 我必须这样做才能看到我是否能够通过Web应用程序控制某些硬件资源。 我知道,对于Beaglebone,我可以使用node.js和bonescript,但是我想devise一个解决scheme,我可以很容易地把它带到其他目标上(对应用程序没有或者有限的修改),因为我必须在不同的embedded式目标。 我知道我必须通过sysfs才能够从用户空间应用程序控制硬件资源。 我可以在PHP中做到这一点(通过sysfs我可以通过打开和读取/写入文件来驱动led),或者我可以写一个C CGI应用程序,但也是一样的…但是我的问题是,其他选项是什么? 我想确定不同的可能性devise的Web应用程序,以select适当的。

那么,如果我这样做,我可能会选择套接字通信。 也许串行为硬件(可能没有以太网/无线端口)的硬件件。 如果设备可以通过抽象通信层来互换,那么服务器可以使用套接字或串行连接策略。 大多数语言都支持这两种方式。

写一个小cgi。 它甚至可以用shell来完成,在这里你可以发送命令到sysfs

你可以做出类似的东西

#!/bin/sh #this will parse the sent parameters eval $(echo "$QUERY_STRING"|awk -F'&' '{for(i=1;i<=NF;i++){print $i}}') # this has to be set to whatever you want GPIO=22 echo $GPIO > /sys/class/gpio/export echo "out" /sys/class/gpio/gpio$GPIO/direction echo 1 /sys/class/gpio/gpio$GPIO/value cat << EOF Content-Type: text/html <!DOCTYPE html> <html> <body> <h1>pin on</h1> </body> </html> EOF 

最后你需要确保你有权写入sysfs,并且web服务器被配置为使用shell作为cgi的解释器

我写了一个名为“php-gpio”的小库: https : //github.com/ronanguilloux/php-gpio

我想这可能有助于这种目的。