嵌入式web服务器BOA的移植及应用

  嵌入式web服务器子系统

一.嵌入式web服务器的控制流程

  如下图所示,嵌入式web服务器可实现通过网络远程控制嵌入式开发板,便捷实用。

控制流程:浏览器 --->>>嵌入式开发板

1)浏览器发送命令,开发板的web服务器接收请求,在开发板" #boa "运行web服务器后,其应用程序配置文件boa_conf内调用指定目录/cam/下的CGI程序 (arm-linux-gcc movctl.c -o movctl.cgi);

2)CGI程序调用开发板系统的其他程序实现对开发板的控制

      浏览器 <<<---嵌入式开发板

1)开发板系统返回控制结果,经CGI程序生成HTMI文件->web服务器

2)web服务器发送至网络中,浏览器根据开发板IP即可接收到控制的返回结果;

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

扫描二维码关注公众号,回复: 6835962 查看本文章

二.嵌入式web服务器->BOA的移植、cgi库移植  --->>>应用

  BOA:下载BOA服务器并解压 -> 更改.configure文件中的交叉编译器arm-linux- -> make即生成boa应用程序、boa_conf配置文件;

  cgi库:修改.configure的交叉编译器arm-linux-,make生成库文件libcgi.a移动至/rootfs/lib/下即可;  

修改boa_conf配置文件中的配置项,如:指定网页界面设计文件/web/~.html、菜单跳转cgi程序源目录/web/cam/~.cgi

  开发板运行" #boa ",浏览器登录开发板ip-192.168.1.2,即可登录嵌入式web服务器的网页设计界面。而后启动移动物体监控主系统" motion -c motion_dist_conf ",即可登录服务器,界面获取监测到的移动图像及视频信息。

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

  其中,网页界面、获取监控图片和视频的cgi程序开发

网页界面:在原有的.html程序基础上进行修改,仅修改:" class = "menu" href="/cam/movie.cgi" ,即界面菜单文字---跳转后的网页/cgi运行程序;

cgi程序  :主函数cgiMain()下,

      1)print_file(cgiOut,"../top.html");  //加头,将top.html内容打印到cgiOut

         2)total = list_pic("/mnt/sd","jpg");  //将图片加入显示列表

       3)if (cgiFormSubmitClicked("gopage") == cgiFormSuccess) {   //处理用户的选择请求

     4)show_pic(start,end,total);  //显示图片

     5)print_file(cgiOut,"../bottom.html");  //加尾,将bottom.html内容打印到cgiOut

  arm-linux-gcc -L ./cgic205/ -lcgi movie.c -o movie.cgi   

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

嵌入式web服务器程序设计---流程:

  移植BOA服务器,移植CGI库 -> 设置网页界面程序 .html、cgi监控程序 -> 配置boa_conf配置文件,指定浏览服务器网页界面文件、及菜单跳转的cgi程序 -> 启动motion 、boa -> 浏览器登录web服务器的ip(开发板ip)即可。

猜你喜欢

转载自www.cnblogs.com/hjh-666/p/11222744.html