at_kazutaka.bito
2015年3月1日 22時31分
ネットワーク経由でArmadillo-440の赤LEDを点灯->消灯するプログラムをCGIで作ってみた。
1.下記のようなプログラムredled.cを作成する。
redled.c
#include <stdio.h> #include <stdlib.h> int main(void) { FILE *fp; char str[256]; puts( "Content-type: text/html\n" "\n" "<HTML>\n" "<HEAD>\n" "<TITLE> Armadillo-440 </TITLE>\n" "</HEAD>\n" "<BODY>\n" ); system("echo 1 > /sys/class/leds/red/brightness"); system("sleep 1"); system("echo 0 > /sys/class/leds/red/brightness"); puts( "</BODY>\n" "</HTML>" ); return 0; }
備考)上記のソースコードで、
system("echo 1 > /sys/class/leds/red/brightness"); system("sleep 1"); system("echo 0 > /sys/class/leds/red/brightness");
の箇所で、赤LEDを1秒点灯し、消灯している。
2.ビルドをかける(実行ファイルは、redled.cgiとする)
arm-linux-gnueabi-gcc redled.c -o redled.cgi
3.上記2の実行ファイルredled.cgiをArmadilloに転送し、/home/www-dataに置く
4.redled.cgiに実行権限をつける
[armadillo ~]# chmod +x /home/www-data/redled.cgi
5./sys/class/leds/red/brightnessをroot以外のユーザにもwrite可能にする。
[armadillo ~]# chmod 666 /sys/class/leds/red/brightness
備考)
/sys/class/leds/red/brightnessはrootユーザのみwrite可能になっている。
ネットワーク経由でアクセスしたユーザ(www-data)が、/sys/class/leds/red/brightnessに書き込めるようにwrite権限を付ける。
6.Webブラウザで [ArmadilloのIPアドレス]/redled.cgi にアクセスすると、Armadillo-440の赤LEDが1秒点灯し、消灯する。