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秒点灯し、消灯する。