• 大小: 6KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-04
  • 语言: Html/CSS
  • 标签:

资源简介

基于web远程控制led灯,里面有html界面设计以及cgi文件,步骤: 1、进入www目录,新建一个一个文件夹hjs,通过串口上传cgi、html文件, 并且给这些文件权限 chmod 777 hjs-led.cgi, chmod 777 hjs-led.html 2、进入 cd /usr/bin目录下通过串口上传hjs_led.o文件,并且给它一个权限 chmod 777 hjs_led.o 3、进入cd /etc/rc.d/init.d/目录下,通过 串口 上传文件hjs_start,并且给它 一个权限 chmod 777 hjs_start 启动文件:./hjs_start 4、打开网页,输入开发板的ip地址192.168.1.230/hjs/hjs-led.html进入网页对LED灯显示的远程控制

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
static int led_fd;
static int leds[4] = {0};

static void lightleds(void)
{
int i;
for(i=0;i<4;i++)
{
ioctl(led_fd leds[i] i);
}
}

int main(void)
{
fprintf(stderr “started!!“);
int led_control_pipe;
int null_writer_fd;
led_fd = open(“/dev/leds“ 0);
if (led_fd < 0) {
perror(“open device leds“);
exit(1);
}
unlink(“/tmp/led-control“);
mkfifo(“/tmp/led-control“ 0666);

led_control_pipe = open(“/tmp/led-control“ O_RDONLY | O_NONBLOCK);
if (led_control_pipe < 0) {
perror(“open control pipe for read“);
exit(1);
}
null_writer_fd = open(“/tmp/led-control“ O_WRONLY | O_NONBLOCK);
if (null_writer_fd < 0) {
perror(“open control pipe for write“);
exit(1);
}

for (;;) {
fd_set rds;
int ret;
struct timeval step;
step.tv_sec  = 0;
step.tv_usec =0.125*1000000L;
FD_ZERO(&rds);
FD_SET(led_control_pipe &rds);
ret = select(led_control_pipe + 1 &rds NULL NULL &step);
if (ret < 0) {
perror(“select“);
exit(1);
}
if (ret == 0) {
lightleds();
} else if (FD_ISSET(led_control_pipe &rds)) {
fprintf(stderr “123123“);
static char buffer[200];
for (;;) {
char c;
int len = strlen(buffer);
if (len >= sizeof buffer - 1) {
memset(buffer 0 sizeof buffer);
break;
}
if (read(led_control_pipe &c 1) != 1) {
break;
}
if (c == ‘\r‘) {
continue;
}
if (c == ‘\n‘) {
int tmp_leds[4];
if (sscanf(buffer“%d%d%d%d“ &tmp_leds[0] &tmp_leds[1]&tmp_leds[2]&tmp_leds[3]) == 4) {
leds[0] = tmp_leds[0];
leds[1] = tmp_leds[1];
leds[2] = tmp_leds[2];
leds[3] = tmp_leds[3];
}
fprintf(stderr “LED CONTROL: %d %d %d %d“ leds[0]leds[1]leds[2]leds[3]);
int j;
for(j=0;j<4;j++) {
if(leds[j])
fprintf(stderr“led%d is on\n“j+1);
else
fprintf(stderr “led%d is off\n“j+1);
}
memset(buffer 0 sizeof buffer);
break;
}
buffer[len] = c;
}
}
}

close(led_fd);
return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1152  2015-06-28 13:32  leds\hjs-led.html

     文件       2214  2015-06-28 10:13  leds\hjs_led.c

     文件       8461  2015-06-28 09:54  leds\hjs_led.o

     文件        204  2015-06-26 17:31  leds\hjs_start

     文件        529  2015-06-28 11:11  leds\led.cgi

     文件        287  2015-06-28 11:40  leds\result.html

     目录          0  2015-06-29 12:29  leds

----------- ---------  ---------- -----  ----

                12847                    7


评论

共有 条评论

相关资源