学习要求:移植Webserver(Web服务器)到开发板。源代码可以到相关网站下载。(编写测试程序,例:通过cgi实现远程控制(模拟控制,如控制led1灯)。
开发板:友善之臂mini2440
注意:以下的服务器端与客户端在同一局域网内
网页控制
(1) 在ubuntu系统中,打开终端,使用命令“arm-linux-gcc 2_2_wangyekongzhi.c -o web_led_control.cgi”编译,生成web_led_control.cgi文件。
(2) 将编写的2_2_wangyekongzhi.html文件复制到arm开发板的【/www】目录下。
(3) 将web_led_control.cgi复制到arm开发板的【/www/cgi-bin】目录下。
(4) 在arm开发板上使用命令“chmod 777 web_led_control.cgi”修改web_led_control.cgi文件的权限,是它的权限被修改为所有者、所属组、其他人都拥有读、写、和执行的权限。
(5) 确保PC和开发板能互相ping通。如开发板的ip为192.168.0.225,PC的ip地址为192.168.0.36。
(6) arm开发板中使用命令“ps”查看系统现在进行着的进程,如果arm开发中已经运行着一个关于led控制的进程,记住它的pid,使用命令杀死该进程。
(7) 在PC中打开浏览器,输入“http://192.168.0.225/2_2_wangyekongzhi.html”,按下【Enter】键。
/**************2_2_wangyekongzhi.c*********/
/**************2_2_wangyekongzhi.c*********/
#include
#include
#include
#include
int main()
{
int led_fd;
if((led_fd=open("/dev/leds0",0))<0)
{
if((led_fd=open("/dev/leds",0))<0)
{
printf("open device leds failed\n");
return -1;
}
}
ioctl(led_fd,0,0);
ioctl(led_fd,0,1);
ioctl(led_fd,0,2);
ioctl(led_fd,0,3);
while(1)
{
ioctl(led_fd,0,0);//led1灭
ioctl(led_fd,1,2);//led3亮
sleep(2);
ioctl(led_fd,1,0);//led1亮
ioctl(led_fd,0,2);//led3灭
sleep(3);
}
close(led_fd);
return 0;
}
/************2_2_wangyekongzhi.html******/
/************2_2_wangyekongzhi.html******/
make by Your_name
Web控制LED灯