arm开发板远程控制灯

2、移植Webserver(Web服务器)到开发板。源代码可以到相关网站下载。(编写测试程序,例:通过cgi实现远程控制(模拟控制,如控制led1灯)。

开发板:友善之臂mini2440

解:

2.网页控制

(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*********/

#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/ioctl.h>

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******/

<HTML>
<HEAD>
<META http-equiv="content-type" content="text/html; charset=utf-8" />
<TITLE> make by Your_name </TITLE>
<center>Web控制LED灯</center>
</HEAD>
<BODY>
<FORM action="cgi-bin/web_led_control.cgi" method="get">
<center>控制的LED灯(1-4):<input type="text" name="led_number"></center><br />
<center>  状态(1亮,0灭):<input type="text" name="status"></center><br />
<center><input type="submit" name="Submit" value="确认"></center>
</FORM>
</BODY>
</HTML>

猜你喜欢

转载自blog.csdn.net/Chenger_32123/article/details/81332103