2012-10-30 3 views
4

Je fais des expériences avec certains systèmes embarqués basés sur Linux (Beaglebone, FriendlyARM mini6410, Embest Devkit 8000). Je voudrais écrire une application web en utilisant une sorte de technologie web PHP, Javascript, ... quoi que ce soit, dont le but est de faire clignoter une LED. Je dois le faire afin de voir si je suis capable de contrôler certaines ressources matérielles via une application Web. Je sais que pour le Beaglebone je peux utiliser node.js et bonescript mais je voudrais concevoir une solution que je peux facilement apporter sur d'autres cibles (sans ou avec des modifications limitées à l'application) puisque je dois répliquer ceci sur différentes cibles embarquées . Je sais que je dois passer par sysfs afin de pouvoir contrôler les ressources matérielles d'une application d'espace utilisateur. Je pourrais le faire en PHP (via sysfs je peux conduire une led juste en ouvrant et en lisant/écrivant des fichiers) ou je pourrais écrire une application C CGI qui fait pareil ... Mais ma question est, quelles sont les autres options? Je voudrais identifier différentes possibilités pour concevoir l'application web afin de choisir la bonne.Clignotement d'une DEL via une application Web

+0

question intéressante. Je voudrais en savoir plus à ce sujet, à la suite ... – nu6A

+0

s'il vous plaît vérifier cela peut être utile http://projects.sindrelindstad.com/how-to-led-arduino-php-proc/ – nu6A

+0

Une autre solution qui me vient à l'esprit est avoir une application C ouvrant une socket et écoutant une application PHP client sur cette socket. – salvo

Répondre

1

Eh bien, si je le faisais, je choisirais probablement la communication par socket. Peut-être en série pour des pièces vraiment piquantes de matériel (qui peuvent ne pas avoir un port Ethernet/wifi). J'activerais éventuellement le support pour les deux si le périphérique est interchangeable en extrayant la couche de communication afin que le serveur puisse utiliser des sockets ou des stratégies de connexion en série. La plupart des langues ont un support à la fois d'une manière ou d'une autre.

4

écrire un petit cgi. Il peut même être fait avec shell, où vous pouvez envoyer des commandes à sysfs

Vous pourriez faire quelque chose comme

#!/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 

enfin, vous devez être sûr que vous avez le droit d'écrire sur sysfs et que le serveur Web est configuré pour utiliser le shell comme interpréteur du cgi

Questions connexes