嵌入式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即可接收到控制的返回结果;

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

二.嵌入式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)即可。

嵌入式web服务器BOA的移植及应用的更多相关文章

  1. 嵌入式web服务器BOA+CGI+HTML+MySQL项目实战——Linux

    准备环境操作系统: Ubuntu12.04 LTS环境搭建: 需要 BOA,Apache,CCGI,MySQL,GCC[Linux下嵌入式Web服务器BOA和CGI编程开发][数据库的相关知识——学习 ...

  2. [置顶] ARM-Linux下WEB服务器Boa的移植、配置和运行测试

    Linux下使用的轻量级WEB服务器主要有:lighttpd.thttpd.shttpd和boa等等,而Boa是使用最为广泛的轻量级WEB服务器之一(当然,阿帕奇是世界使用排名第一的Web服务器软件) ...

  3. 嵌入式Web服务器boa在ARM平台的移植步骤

    1.下载http://www.boa.org/ 2.解压tar xzf boa-0.94.13.tar.gz 3.编译cd boa-0.94.13/src./configure 生成了makefile ...

  4. Linux下嵌入式Web服务器BOA和CGI编程开发

    **目录**一.环境搭建二.相关配置(部分)三.调试运行四.测试源码参考五.常见错误六.扩展(CCGI,SQLite) # 一.环境搭建操作系统:Ubuntu12.04 LTSboa下载地址(但是我找 ...

  5. web服务器boa的移植

    1.下载官方网站 http://www.boa.org/ 我下载的是0.94.13版本 2.解压 tar -zxvf boa-0.94.13.tar.gz 3.进入src目录 ./configure ...

  6. 三种嵌入式web服务器(Boa / lighttpd / shttpd)的 linux移植笔记

    一:移植Boa(web服务器)到嵌入式Linux系统 一.Boa程序的移植 1.下载Boa源码    下载地址: http://www.boa.org/    目前最新发行版本: 0.94.13   ...

  7. 移动物体监控系统-sprint4嵌入式web服务器开发

    一.BOA嵌入式服务器的移植 step1:下载BOA服务器并解压,进入boa下面的src目录,执行./configure生成必须的配置文件以及Makefile step2:修改Makefile文件 c ...

  8. 嵌入式web服务器-thttpd

    交叉编译thttpd http://lakie.blog.163.com/blog/static/45185220201162910432330/ thttpd安装与调试 http://blog.cs ...

  9. 学号20145332 《信息安全系统设计基础》实验五 简单嵌入式WEB服务器实验

    实验目的 掌握在 ARM 开发板实现一个简单 WEB 服务器的过程. 学习在 ARM 开发板上的 SOCKET 网络编程. 学习 Linux 下的 signal()函数的使用. 实验内容 学习使用 s ...

随机推荐

  1. Android零基础入门第63节:过时但仍值得学习的选项卡TabHost

    原文:Android零基础入门第63节:过时但仍值得学习的选项卡TabHost 由于前几天参加一个学习培训活动,几乎每天都要从早晨7点到晚上一两点,没有什么时间来分享,实在抱歉中间断更了几天.从今天开 ...

  2. WPF 设置只能运行一个实例

    codereview上的帖子 https://codereview.stackexchange.com/questions/20871/single-instance-wpf-application ...

  3. 指针与 const --- 指针常量与常量指针

    注:该文主要来源于 网易公开课之<C++ 程序设计入门(上)>课件. 在 C 语言标准中,const 修饰的变量称之为 只读变量, 在 C++ 语言标准中,const 修饰的变量称之为 常 ...

  4. 用Golang让自己的电脑自动登录“上网管理”系统

    用Golang让自己的电脑自动登录 1.缘起 大天朝的网络一般都是只对某些人开放的.上行下效,同样的措施也作用在我们的教育网上.我想不出来,为什么很多领导的总有这样的恶趣味(如果做的到,他们恨不得监控 ...

  5. Qt按ESC关闭模态对话框不触发closeEvent()问题解析(ESC默认调用的是reject()函数,所以必须覆盖这个函数才会有效果)good

    事情是这样的:今天调试窗体,突然发现按ESC键居然跳过closeEvent()关闭了对话框!我的关闭判断都在closeEvent()里,这直接导致非正常关闭了正在进行的工作.先重建下场景: 调用处: ...

  6. java多线程之管道流

    java语言中提供了各种各样的流供我们操纵数据,其中管道流(pipeStream)是一种特殊的流,用于在不同线程间直接传送数据. 一个线程发送数据到输出管道,另一个线程从输入管道读取数据,通过使用管道 ...

  7. 血的教训--如何正确使用线程池submit和execute方法

    血的教训之背景:使用线程池对存量数据进行迁移,但是总有一批数据迁移失败,无异常日志打印 凶案起因 ​ 听说parallelStream并行流是个好东西,由于日常开发stream串行流的场景比较多,这次 ...

  8. Python Re 模块超全解读!

    re模块下的函数 compile(pattern):创建模式对象 import repat=re.compile('A')m=pat.search('CBA')                     ...

  9. Tido 习题-二叉树-树状数组求逆序对

    这里给大家提供一个全新的求逆序对的方法 是通过树状数组来实现的 题目描述   样例输入 Copy 5 2 3 1 5 4 样例输出 Copy 3 提示     #include<iostream ...

  10. 基于jsp技术的校园二手交易网站

    [项目介绍]基于jsp的校园二手商品交易网站系统使用jsp技术进行开发,项目主要实现了一整套的校园二手交易逻辑, 主要功能如下(包括但不限于,只列出主要功能): 管理员模块    |-----用户管理 ...