嵌入式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即可接收到控制的返回结果;
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
二.嵌入式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的移植及应用的更多相关文章
- 嵌入式web服务器BOA+CGI+HTML+MySQL项目实战——Linux
准备环境操作系统: Ubuntu12.04 LTS环境搭建: 需要 BOA,Apache,CCGI,MySQL,GCC[Linux下嵌入式Web服务器BOA和CGI编程开发][数据库的相关知识——学习 ...
- [置顶] ARM-Linux下WEB服务器Boa的移植、配置和运行测试
Linux下使用的轻量级WEB服务器主要有:lighttpd.thttpd.shttpd和boa等等,而Boa是使用最为广泛的轻量级WEB服务器之一(当然,阿帕奇是世界使用排名第一的Web服务器软件) ...
- 嵌入式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 ...
- Linux下嵌入式Web服务器BOA和CGI编程开发
**目录**一.环境搭建二.相关配置(部分)三.调试运行四.测试源码参考五.常见错误六.扩展(CCGI,SQLite) # 一.环境搭建操作系统:Ubuntu12.04 LTSboa下载地址(但是我找 ...
- web服务器boa的移植
1.下载官方网站 http://www.boa.org/ 我下载的是0.94.13版本 2.解压 tar -zxvf boa-0.94.13.tar.gz 3.进入src目录 ./configure ...
- 三种嵌入式web服务器(Boa / lighttpd / shttpd)的 linux移植笔记
一:移植Boa(web服务器)到嵌入式Linux系统 一.Boa程序的移植 1.下载Boa源码 下载地址: http://www.boa.org/ 目前最新发行版本: 0.94.13 ...
- 移动物体监控系统-sprint4嵌入式web服务器开发
一.BOA嵌入式服务器的移植 step1:下载BOA服务器并解压,进入boa下面的src目录,执行./configure生成必须的配置文件以及Makefile step2:修改Makefile文件 c ...
- 嵌入式web服务器-thttpd
交叉编译thttpd http://lakie.blog.163.com/blog/static/45185220201162910432330/ thttpd安装与调试 http://blog.cs ...
- 学号20145332 《信息安全系统设计基础》实验五 简单嵌入式WEB服务器实验
实验目的 掌握在 ARM 开发板实现一个简单 WEB 服务器的过程. 学习在 ARM 开发板上的 SOCKET 网络编程. 学习 Linux 下的 signal()函数的使用. 实验内容 学习使用 s ...
随机推荐
- Android零基础入门第84节:引入Fragment原来是这么回事
随着大众生活水平的提高,再加上移动互联网的迅速发展,几乎每个人都至少拥有一台搭载Android系统的移动设备.Android设备的多样性给我们带来了很大的便捷,各Android设备拥有不同分辨率和不同 ...
- .NET错误提示之:无法更新EntitySet“TableName”因为它有一个DefiningQuery
使用LINQ 进行提交数据时发生的错误提示 原因:提交的对象表 没有设主键.
- 移动Web - 响应式布局开篇
用到的工具: FireFox浏览器 Sublime Text 2 响应式布局定义: 2010年,Ethan Marcotte提出,可查看原文: 通俗地讲就是:百份比布局,根据不同设备显示不同布局: 这 ...
- 将后台窗口激活到前台的方法(使用AttachThreadInput和SetForegroundWindow两个API)
下面这种方法是我见到的最理想的,还有一些其他的方法,像通过SetWindowsPos这个API设置窗口的Z-oder到最顶层,再设置回去.还有通过把当前窗口设置到底层,然后激活目标窗口等等方法. HW ...
- Qt - 设置程序界面风格(现成的QMacStyle等等)
类的继承关系: QMotifStyle:OSF(开放基金协会)开发的一个工业标准的GUI(图形用户接口): QCDEStyle:公共桌面环境(Common Desktop Environment)的缩 ...
- linux程序机制入门
GCC环境 类debian系统运行 apt-get install build-essential 安装gcc环境. 编写c语言程序后,运行 gcc ./hello.c 会得到一个名为 a.out 的 ...
- DNS之主服务器正向区域部署流程
正向区域:将域名解析为IP 搭建步骤 1)定义区域 2)编写区域解析库文件 3)添加记录 环境介绍 [root@dns ~]# cat /etc/centos-releaseCentOS releas ...
- 深入解析Hyperledger Fabric启动的全过程
在这篇文章中,使用fabric-samples/first-network中的文件进行fabric网络(solo类型的网络)启动全过程的解析.如有错误欢迎批评指正. 至于Fabric网络的搭建这里不再 ...
- HBase 学习之路(三)—— HBase基本环境搭建
一.安装前置条件说明 1.1 JDK版本说明 HBase 需要依赖JDK环境,同时HBase 2.0+ 以上版本不再支持JDK 1.7 ,需要安装JDK 1.8+ .JDK 安装方式见本仓库: Lin ...
- django基础知识之状态保持session:
状态保持 http协议是无状态的:每次请求都是一次新的请求,不会记得之前通信的状态 客户端与服务器端的一次通信,就是一次会话 实现状态保持的方式:在客户端或服务器端存储与会话有关的数据 存储方式包括c ...