1-4. 嵌入式web服务器BOA的移植及应用

  嵌入式web服务器子系统

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

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

控制流程:

  1.用户浏览器--(请求连接)-->>web服务器;

    (web服务器包含a.供浏览器登录的网页界面程序,b.供服务器调用的CGI程序(扩展服务器功能))

  2.浏览器登录web服务器指定的网页界面,给予指令->调用设定的CGI程序进行控制;

  3.获取的返回结果->web服务器发送到网络中,用户即可通过浏览器远程获取数据信息。

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

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

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

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

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

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

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

  --->>>其中,网页界面.html获取监控图片和视频的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)即可。

 

posted @ 2019-07-22 09:48  行路人&  阅读(913)  评论(0编辑  收藏  举报