原创 远程监控系统实现过程

2009-3-25 14:28 3183 3 5 分类: MCU/ 嵌入式

我已经移植好摄像头的驱动了,再来实现在下面的功能的。


--------------servfox移植过程-------------
http://mxhaard.free.fr/spca50x/embedded/Servfox/servfox-R1_0_0.tar.gz下载后,解压后,
make下就行了。


在rcS中添加一句
ln -s /dev/v4l/video0 /dev/video0


[root@Qiu /]# servfox -d /dev/video0 -g -s 640x480 -w 7070


--------------spcaview移植过程--------------
ftp://ftp5.linuxeden.com/hardware/spcaview-20061208.tar.gz
在PC上,spcaview –w 192.168.1.186:7070就可以看到摄像头采集来的图片了。
Servfox和spcaview还有很多选项,可以通过spcaview –h 和servfox –h查阅,其中.


解压后,还会产生,此是WEB客户端,将此客户端上传到开发板上的WEB文件夹中,则在浏览器输入 http://192.168.1.186/index-sample.html则可看到摄像头采集来的图片了。
web SERVER是移植 boa。
下面我boa的移植中www目录下就是用这里WEB客户端的。


上个图。


点击看大图
--------------boa移植过程-------------


1、下载Boa源码
下载地址: http://www.boa.org/
    下载 boa-0.94.13.tar.gz,
[root@Localhost source]$tar xzf boa-0.94.13.tar.gz
2、生成Makefile文件
[root@Localhost src]$./configure
3、修改Makefile文件
CC = arm-linux-gcc
CPP = arm-linuxgcc -E


3、出现问题。
util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token make: *** [util.o] Error 1
解决方法:
修改 src/compat.h
#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
修改成
#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff
4、交叉编译
[root@Localhost src]$ make
5、去除调试信息,减小体积,大约能减小一半还多。(可选)
[root@Localhost src]$ arm-linux-strip boa
6、Group的修改
修改 Group 0   (我改成root都不行,而且添加了root,不知道为什么索性改成0了。)
修改 User 0
7、ScriptAlias的修改
修改 ScriptAlias /cgi-bin/  /usr/lib/cgi-bin/
#ScriptAlias /cgi-bin/  /var/www/cgi-bin/  (注释掉啦……)
8、ServerName的设置
修改 #ServerName www.your.org.here
为 ServerName Qiu  (打开,要不出错)
9、将mime.types文件复制/etc目录下
10、运行出现两个错误。
[root@Qiu /]# boa
[01/Jan/1970:00:00:06 +0000] boa.c:228 - icky Linux kernel bug!: No such file or directory
[root@Qiu /]# boa
[01/Jan/1970:00:00:06 +0000] boa.c:211 - getpwuid: No such file or directory


A:修改 src/boa.c,将以下判断注释掉:
/*if (setuid(0) != -1) {
DIE("icky Linux kernel bug!");
}*/
A:修改 src/boa.c,将以下判断注释掉:
/*if (passwdbuf == NULL) {
DIE("getpwuid");
}
if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) {
DIE("initgroups");
}*/



好了。运行成功。贴图。


[root@Qiu /]# boa
[01/Jan/1970:00:17:08 +0000] boa: server version Boa/0.94.13
[01/Jan/1970:00:17:08 +0000] boa: server built Mar 24 2009 at 21:32:50.
[01/Jan/1970:00:17:08 +0000] boa: starting server pid="719", port 80
[root@Qiu /]# servfox -d /dev/video0 -g -s 640x480 -w 7070
 servfox version: 1.1.3 date: 11:12:2005 (C) mxhaard@magic.fr
wrong spca5xx device
Waiting .... for connection. CTrl_c to stop !!!!
[01/Jan/1970:00:17:18 +0000] request from 192.168.0.4 "GET /favicon.ico HTTP/1.1" ("/www/favicon.ico"): document open: No such file or directory
Got connection from 192.168.0.4
[01/Jan/1970:00:17:26 +0000] request from 192.168.0.4 "HEAD /META-INF/services/javax.imageio.spi.ImageTranscoderSpi HTTP/1.1" ("/www/META-INF/services/javax.imageio.spi.ImageTranscoderSpi"): document open: No such file or directory
[01/Jan/1970:00:17:26 +0000] request from 192.168.0.4 "HEAD /META-INF/services/javax.imageio.spi.ImageOutputStreamSpi HTTP/1.1" ("/www/META-INF/services/javax.imageio.spi.ImageOutputStreamSpi"): document open: No such file or directory
[01/Jan/1970:00:17:26 +0000] request from 192.168.0.4 "HEAD /META-INF/services/javax.imageio.spi.ImageWriterSpi HTTP/1.1" ("/www/META-INF/services/javax.imageio.spi.ImageWriterSpi"): document open: No such file or directory
[01/Jan/1970:00:17:26 +0000] request from 192.168.0.4 "HEAD /META-INF/services/javax.imageio.spi.ImageReaderSpi HTTP/1.1" ("/www/META-INF/services/javax.imageio.spi.ImageReaderSpi"): document open: No such file or directory
[01/Jan/1970:00:17:26 +0000] request from 192.168.0.4 "HEAD /META-INF/services/javax.imageio.spi.ImageInputStreamSpi HTTP/1.1" ("/www/META-INF/services/javax.imageio.spi.ImageInputStreamSpi"): document open: No such file or directory


 


点击看大图

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户603678 2012-10-27 20:33

不错,看来作者挺了解的。

fanyan_tll_621621837 2012-8-31 23:56

调过一些模拟电路,但都是现学现用,分析和调试可以,但自己设计还不敢,心理都没个底。我导师是个模拟牛人,搞微波,数字的。做技术做了20多年,从高中起就是电子发烧友。他们那代出多面手,现在的教育方式,读出来的人发发文章,搞搞理论可以,要一个博士去调摸电,门都没有。国外设计电路都是经过精细的计算,不准确不上手。现在能到国内高校找出一个30岁的模拟大牛难上加难。教摸电的一般都不懂摸电,做的试验根本不叫试验,还是应付考试。学模拟一定要系统,不是模拟考试考满分就是会了,一定要上手调试,分析故障电路,个人觉得模拟,高频电路的分析乐趣要远胜高速接入技术。复杂的传输协议说白了就是看老外的例程,然后在上面修修改改。做出来的产品都难逃成本这关。哪怕是最高端的存储系统,看似很贵,利润其实并不算高。都给上游赚走了。而模拟不同,看似技术含量不及高速数字电路,但对于中国来说才是培养学生设计能力和创新的最佳领域。但可惜,我们的教育重视学术而轻工程,只能靠个人兴趣了。麻省理工电子工程系有个公开课,第一节课就从麦克斯韦方程分析到微波炉、操作系统,这种抽象思维在我们大学入学时就应该强调。现在的国内高校除了电子设计培养了些专业突出的本科生,但真正把模拟技术坚持下去太少了,更别说从高中开始的了。这样半路出家,弄点学点,难真正理解模拟的东西。

用户377235 2012-8-31 12:47

不错,同感,支持下。

用户377235 2012-8-6 21:41

话说模拟精华在于运放和反馈,工作基本只用这些,其他都是集成。。。。

用户377235 2012-8-3 11:38

顶一个,很赞成

用户377235 2012-7-31 19:44

大学生要注重实践啊

用户377235 2012-7-23 12:30

支持

用户377235 2012-7-18 12:55

有同感

用户527782 2012-7-17 17:38

好,赞一个

357854360_973111976 2012-7-11 12:46

谢谢支持。

相关推荐阅读
用户1679196 2009-09-04 16:17
两个linux按键驱动之二 read(定时器去抖动)
//相比之下poll更为实用,但是这个代码实在太具有代表性了...涉及了下面几个知识。代码很大部分是linux设备驱动开发详解的内容。/*1、阻塞读取,队列概念2、睡眠等待中断产生3、定时器产生及相应...
用户1679196 2009-09-04 16:08
两个linux按键驱动之一 poll(未去抖动)
//驱动//未加去抖动//通过poll判断是否可读来得到中断值#include <linux/module.h> #include <linux/kernel.h>#inclu...
用户1679196 2009-09-04 09:39
select 使用
以下来自网络搜索:Linux下select调用的过程:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:offi...
用户1679196 2009-09-03 14:52
Linux设备驱动之定时器
Linux内核中定义了一个timer_list结构,我们在驱动程序中可以利用之: #include<linux/timer.h> struct timer_list { struct li...
用户1679196 2009-08-28 17:38
loff_t *ppos是什么东东
ssize_t generic_file_read(struct file * filp, char * buf, size_t count, loff_t *ppos) 这是一个文件读函数 我们很容...
用户1679196 2009-08-12 17:30
linux 延时函数几个资料
http://www.cppblog.com/CppExplore/archive/2008/04/02/46111.html一、 基础知识1、时间类型。Linux下常用的时间类型有4个:time_t...
EE直播间
更多
我要评论
2
3
关闭 站长推荐上一条 /3 下一条