基于linux2.6.32.2的远程监视系统

本文详细介绍了如何从零开始搭建一个嵌入式远程监控系统。内容包括选择合适的开发环境、开发板及交叉编译器;移植USB键盘驱动、LCD驱动及网卡驱动;配置根文件系统;实现视频采集并通过网页展示等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 最近花了很长的时间在学习,嵌入式的相关知识,也一直在做着实践工作。

           把最近所学所做的东西整合一下,正好完成了一个嵌入式的远程监视系统。

           那么首先来说一下我的硬件和软件。

           虚拟机:ubuntu11.04和fodera9.0(为什么是两个呢?因为我主要是在ubuntu下开发的,但是有时候ubuntu库文件确实不全,

                                                                           为了节省时间后半程是在fodera9.0下面进行的开发。建议初学者用fodera9.0)

          硬件:mini2440开发板

          交叉编译器是:4.3.2

         因为这个系统全程DIY,所以步骤很繁琐,很多文档我都在别的博客中贴了出来所以,再此整合一下。

         首先第一步是编译内核,

         请参照

http://blog.youkuaiyun.com/zhaole20094463/article/details/6882266

         第二步是做一个跟文件系统

         参照

http://blog.youkuaiyun.com/zhaole20094463/article/details/7001563

http://blog.youkuaiyun.com/zhaole20094463/article/details/6899439

遇到问题在网上搜索一下应该不难。

 这两步都完成了,系统便和你可以通过串口交互了。

 那么接下来我们分析一下问题和需要。

 首先

 我们的系统要独立于电脑而存在,因为远程嘛,所以需要输入和输出设备。

 那么在开发板上提供的输入输出设备是什么呢?

 usb键盘和LCD屏

  好了,那么下一步我们来移植usb键盘驱动和LCD屏驱动。

  参考:

http://blog.youkuaiyun.com/zhaole20094463/article/details/6901880

http://blog.youkuaiyun.com/zhaole20094463/article/details/6905297

这两步都移植成功了,可是LCD屏幕上除了一个小企鹅或者是一个闪烁的光标外什么也没有

当然,光着两步还不够我们还要在根文件系统中进行设置。

参考:

http://blog.youkuaiyun.com/zhaole20094463/article/details/6905303

这些都做完了,终于我们的开发板可以和我们进行独立的交互了,(不是通过串口)

那么,接下来我们需要什么呢?

我们如果想要远程访问的话,那么肯定是通过网路。所以我的开发板内核中一定要有相应的网卡驱动

才行。那么继续努力,移植网卡驱动

http://blog.youkuaiyun.com/zhaole20094463/article/details/6927201

网卡驱动也移植成功了,可是这还不够因为,如果我们的开发板要想发布网页来让别的电脑可以远程登录的话,

那么一定要嵌入服务器才行,

总共有两种一种是boa服务器,一种是apache服务器,两种我都移植过。

可以参照:

http://blog.youkuaiyun.com/zhaole20094463/article/details/7024530

http://blog.youkuaiyun.com/zhaole20094463/article/details/7024722

再者我们需要采集视频信息,那么摄像头驱动则必不可少,同时在根文件系统中也要加入

一个视频流采集程序。

关于摄像头的驱动


    Makemenuconfig
      DeviceDrivers--->
               <*>Multimediasupport--->
                   <*>VideoForLinux
               [*]EnableVideoForLinuxAPI1(DEPRECATED)(NEW)
               [*]Videocaptureadapters(NEW)--->
                  [*]V4LUSBdevices(NEW)--->
                         <*>USBVideoClass(UVC)
                        [*]UVCinputeventsdevicesupport(NEW)

          <*>GSPCAbasedwebcams---->(里面的全选上)

这样基本上你的摄像头驱动支持应该就没有问题了。

(当然我们在做测试的时候试了两种摄像头,一种是UVCvideo具体型号不知道了,第二种是ov511

前一种是好使的,打印信息如下

[root@Happymjpg-streamer]#./mjpg_streamernterface driver s
usbcore: registered new
 i: Desired Resolution: 640 x 480
MJPG-streamer [1152]: Desired Resolution: 640 x 480

 i: Frames Per Second.: 5
MJPG-streamer [1152]: Frames Per Second.: 5

 i: Format............: MJPEG
MJPG-streamer [1152]: Format............: MJPEG

 o: www-folder-path...: disabled
MJPG-streamer [1152]: www-folder-path...: disabled

 o: HTTP TCP port.....: 8080
MJPG-streamer [1152]: HTTP TCP port.....: 8080

 o: username:password.: disabled
MJPG-streamer [1152]: username:password.: disabled

 o: commands..........: enabled
MJPG-streamer [1152]: commands..........: enabled

MJPG-streamer [1152]: starting input plugin
MJPG-streamer [1152]: starting output plugin: output_http.so (ID: 00)

后一种是不好使的打印信息如下

root@Happymjpg-streamer]#./mjpg_streamer
MJPG-streamer [1048]: starting application
MJPG Streamer Version.: 2.0
MJPG-streamer [1048]: MJPG Streamer Version.: 2.0

 i: Using V4L2 device.: /dev/video0
MJPG-streamer [1048]: Using V4L2 device.: /dev/video0

 i: Desired Resolution: 640 x 480
MJPG-streamer [1048]: Desired Resolution: 640 x 480

 i: Frames Per Second.: 5
MJPG-streamer [1048]: Frames Per Second.: 5

 i: Format............: MJPEG
MJPG-streamer [1048]: Format............: MJPEG

 Pixel format is unavailable, using O511
 should never arrive exit fatal !!
 i: init_VideoIn failed
MJPG-streamer [1048]: init_VideoIn failed

尝试了一些方法始终想不到问题在哪里,希望某位大神可以给予帮助

或者谁遇到了相似的问题大家互相交流)

接着就是将一个视频流采集软件考到开发板上,

mjpg-streamer这个的具体介绍你可以在网上搜索一下

我这里用到的功能就是启动它后,它会自动调用摄像头驱动,采集视频并显示到一个网页上

参考:

http://blog.youkuaiyun.com/zhaole20094463/article/details/7026252

这里还有一点要说明的关于mjpg-streamer有两种一种是需要你自己编译的另外一种是不需要你自己编译的

放到开发板上就好使。如前所述:我的编译器是4.3.2我想如果编译器是一样的是可以通用的。

关于mjpg-streamer 和以后要遇到的jpeglib的编译

参考

http://blog.youkuaiyun.com/zhaole20094463/article/details/7026512

两种源码都下载了,

http://download.youkuaiyun.com/detail/zhaole20094463/3860868

http://download.youkuaiyun.com/detail/zhaole20094463/3860939

同时我们还需要一个支持jpeg的lib库

把它考到开发板上的根文件系统/lib目录下就好了

http://download.youkuaiyun.com/detail/zhaole20094463/3860981

以上这个是编译好的

http://download.youkuaiyun.com/detail/zhaole20094463/3861014

这个是源码,需要编译的。

如果这些都做完了,恭喜你,你就可以通过网络来访问你的开发板

并进行视频监控了

效果如下

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值