嵌入式webserver
多采用B/S(浏览器/服务器)架构。嵌入式设备中添加基于web服务器,客户端访问web浏览器。
常见嵌入式webserver有:goahead、boa、lighttpd、shttpd、thttpd等。
修改Makefile
文件路径:/CBT-SuperIOT/ws031202/LINUX/Makefile
在当前目录下使用gedit打开Makefile文件。
(1)找到以下内容:
all: compile
ARCH = libwebs.a
NAME = webs
在其后添加如下定义,来指定编译器。
CC = arm-linux-gcc
AR = arm-linux-ar
(2)找到以下内容(Makfile 文件最后两行代码)
.c.o:
cc -c -o $@ $(DEBUG) $(CFLAGS) $(IFLAGS) $<
使用‘#’注释掉两行,
#.c.o:
# cc -c -o $@ $(DEBUG) $(CFLAGS) $(IFLAGS) $<
保存退出Makefile。
2.修改misc.c 文件路径:CBT-SuperIOT/ws031202/misc.c
找到strnlen()函数声明 static int strnlen(char_t *s, unsigned int n);
使用“//”注释掉该行
//static int strnlen(char_t *s, unsigned int n); //注释掉该函数声明
找到strnlen()函数实体 static int strnlen(char_t *s, unsigned int n)
{
unsigned int len;
len = gstrlen(s);
return min(len, n);
}
使用“/* */”注释掉该函数的定义
/*
static int strnlen(char_t *s, unsigned int n)
{
unsigned int len;
len = gstrlen(s);
return min(len, n);
}*/
保存退出misc.c 文件。
3.编译工程
在/jy-cbt /ws031202/LINUX/目录下编译goAhead,编译完成之后在当前目录下生成webs 服务器程序。
[root@localhost LINUX]# make
[root@localhost LINUX]# ls
libwebs.a main.c main.o Makefile Makefile~ webs
运行程序
1.挂载宿主机目录
启动CBT-SuperIOT实验系统,连好网线、串口线。通过串口终端挂载宿主机实验目录。
[root@Cyb-Bot /]# mount -t nfs -o nolock 192.168.1.7:/CBT-SuperIOT//mnt/nfs
2.设置主机名
进入串口终端的NFS 共享文件目录,设置设置主机名
[root@Cyb-Bot /]# cd /mnt/nfs/ws031202/
[root@Cyb-Bot ws031202]# hostname -F /etc/hosts
[root@192 ws031202]#
3.运行WEB 服务器
进入到NFS 共享目录的ws031202/LINUX/目录下
[root@192 06_webserver]# cd ws031202/LINUX/
[root@Cyb-Bot LINUX]# ls
libwebs.a main.c main.o Makefile Makefile~ webs
[root@Cyb-Bot LINUX]# ./webs
4.访问服务器
在宿主机端使用浏览器访问目标板上服务器IP地址:http://192.168.1.230/home.asp登陆。访问服务器页面前,需要确保宿主机浏览器端机器IP地址与服务器ARM 端IP 地址在同一个网段。