基于linux2.6.32.2的远程监视系统
2011-11-30 11:24
232 查看
最近花了很长的时间在学习,嵌入式的相关知识,也一直在做着实践工作。
把最近所学所做的东西整合一下,正好完成了一个嵌入式的远程监视系统。
那么首先来说一下我的硬件和软件。
虚拟机:ubuntu11.04和fodera9.0(为什么是两个呢?因为我主要是在ubuntu下开发的,但是有时候ubuntu库文件确实不全,
为了节省时间后半程是在fodera9.0下面进行的开发。建议初学者用fodera9.0)
硬件:mini2440开发板
交叉编译器是:4.3.2
因为这个系统全程DIY,所以步骤很繁琐,很多文档我都在别的博客中贴了出来所以,再此整合一下。
首先第一步是编译内核,
请参照
http://blog.csdn.net/zhaole20094463/article/details/6882266
第二步是做一个跟文件系统
参照
http://blog.csdn.net/zhaole20094463/article/details/7001563 http://blog.csdn.net/zhaole20094463/article/details/6899439
遇到问题在网上搜索一下应该不难。
这两步都完成了,系统便和你可以通过串口交互了。
那么接下来我们分析一下问题和需要。
首先
我们的系统要独立于电脑而存在,因为远程嘛,所以需要输入和输出设备。
那么在开发板上提供的输入输出设备是什么呢?
usb键盘和LCD屏
好了,那么下一步我们来移植usb键盘驱动和LCD屏驱动。
参考:
http://blog.csdn.net/zhaole20094463/article/details/6901880 http://blog.csdn.net/zhaole20094463/article/details/6905297
这两步都移植成功了,可是LCD屏幕上除了一个小企鹅或者是一个闪烁的光标外什么也没有
当然,光着两步还不够我们还要在根文件系统中进行设置。
参考:
http://blog.csdn.net/zhaole20094463/article/details/6905303
这些都做完了,终于我们的开发板可以和我们进行独立的交互了,(不是通过串口)
那么,接下来我们需要什么呢?
我们如果想要远程访问的话,那么肯定是通过网路。所以我的开发板内核中一定要有相应的网卡驱动
才行。那么继续努力,移植网卡驱动
http://blog.csdn.net/zhaole20094463/article/details/6927201
网卡驱动也移植成功了,可是这还不够因为,如果我们的开发板要想发布网页来让别的电脑可以远程登录的话,
那么一定要嵌入服务器才行,
总共有两种一种是boa服务器,一种是apache服务器,两种我都移植过。
可以参照:
http://blog.csdn.net/zhaole20094463/article/details/7024530 http://blog.csdn.net/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)
后一种是不好使的打印信息如下
#./mjpg_streamer]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这个的具体介绍你可以在网上搜索一下
我这里用到的功能就是启动它后,它会自动调用摄像头驱动,采集视频并显示到一个网页上
参考:
/article/8321699.html
这里还有一点要说明的关于mjpg-streamer有两种一种是需要你自己编译的另外一种是不需要你自己编译的
放到开发板上就好使。如前所述:我的编译器是4.3.2我想如果编译器是一样的是可以通用的。
关于mjpg-streamer 和以后要遇到的jpeglib的编译
参考
/article/8321701.html
两种源码都下载了,
http://download.csdn.net/detail/zhaole20094463/3860868
http://download.csdn.net/detail/zhaole20094463/3860939
同时我们还需要一个支持jpeg的lib库
把它考到开发板上的根文件系统/lib目录下就好了
http://download.csdn.net/detail/zhaole20094463/3860981
以上这个是编译好的
http://download.csdn.net/detail/zhaole20094463/3861014
这个是源码,需要编译的。
如果这些都做完了,恭喜你,你就可以通过网络来访问你的开发板
并进行视频监控了
把最近所学所做的东西整合一下,正好完成了一个嵌入式的远程监视系统。
那么首先来说一下我的硬件和软件。
虚拟机:ubuntu11.04和fodera9.0(为什么是两个呢?因为我主要是在ubuntu下开发的,但是有时候ubuntu库文件确实不全,
为了节省时间后半程是在fodera9.0下面进行的开发。建议初学者用fodera9.0)
硬件:mini2440开发板
交叉编译器是:4.3.2
因为这个系统全程DIY,所以步骤很繁琐,很多文档我都在别的博客中贴了出来所以,再此整合一下。
首先第一步是编译内核,
请参照
http://blog.csdn.net/zhaole20094463/article/details/6882266
第二步是做一个跟文件系统
参照
http://blog.csdn.net/zhaole20094463/article/details/7001563 http://blog.csdn.net/zhaole20094463/article/details/6899439
遇到问题在网上搜索一下应该不难。
这两步都完成了,系统便和你可以通过串口交互了。
那么接下来我们分析一下问题和需要。
首先
我们的系统要独立于电脑而存在,因为远程嘛,所以需要输入和输出设备。
那么在开发板上提供的输入输出设备是什么呢?
usb键盘和LCD屏
好了,那么下一步我们来移植usb键盘驱动和LCD屏驱动。
参考:
http://blog.csdn.net/zhaole20094463/article/details/6901880 http://blog.csdn.net/zhaole20094463/article/details/6905297
这两步都移植成功了,可是LCD屏幕上除了一个小企鹅或者是一个闪烁的光标外什么也没有
当然,光着两步还不够我们还要在根文件系统中进行设置。
参考:
http://blog.csdn.net/zhaole20094463/article/details/6905303
这些都做完了,终于我们的开发板可以和我们进行独立的交互了,(不是通过串口)
那么,接下来我们需要什么呢?
我们如果想要远程访问的话,那么肯定是通过网路。所以我的开发板内核中一定要有相应的网卡驱动
才行。那么继续努力,移植网卡驱动
http://blog.csdn.net/zhaole20094463/article/details/6927201
网卡驱动也移植成功了,可是这还不够因为,如果我们的开发板要想发布网页来让别的电脑可以远程登录的话,
那么一定要嵌入服务器才行,
总共有两种一种是boa服务器,一种是apache服务器,两种我都移植过。
可以参照:
http://blog.csdn.net/zhaole20094463/article/details/7024530 http://blog.csdn.net/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)
后一种是不好使的打印信息如下
#./mjpg_streamer]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这个的具体介绍你可以在网上搜索一下
我这里用到的功能就是启动它后,它会自动调用摄像头驱动,采集视频并显示到一个网页上
参考:
/article/8321699.html
这里还有一点要说明的关于mjpg-streamer有两种一种是需要你自己编译的另外一种是不需要你自己编译的
放到开发板上就好使。如前所述:我的编译器是4.3.2我想如果编译器是一样的是可以通用的。
关于mjpg-streamer 和以后要遇到的jpeglib的编译
参考
/article/8321701.html
两种源码都下载了,
http://download.csdn.net/detail/zhaole20094463/3860868
http://download.csdn.net/detail/zhaole20094463/3860939
同时我们还需要一个支持jpeg的lib库
把它考到开发板上的根文件系统/lib目录下就好了
http://download.csdn.net/detail/zhaole20094463/3860981
以上这个是编译好的
http://download.csdn.net/detail/zhaole20094463/3861014
这个是源码,需要编译的。
如果这些都做完了,恭喜你,你就可以通过网络来访问你的开发板
并进行视频监控了
相关文章推荐
- 基于linux2.6.32.2的远程监视系统
- 使用XILINX SDK工具通过网络进行基于linux系统的远程调试方法
- 一个基于 SSH 用于连接远程 Unix/Linux 系统的工具 mosh
- mosh:一个基于 SSH 用于连接远程 Unix/Linux 系统的工具
- 如何远程登陆虚拟机(基于Linux系统,Centos 6)
- 如何在windows远程无图形界面使用linux系统
- 远程连接阿里云主机服务器(Linux系统)
- mini6410基于linux2.6.36内核制作initramfs文件系统
- 基于Linux x86_64系统编译arm-gcc-4.8: arm-none-eabi-gcc
- Windows下使用puTTY 和WinSCP 远程控制和管理Linux系统
- 基于WebService实现远程调用方式的系统间通信
- Ubuntu通过ssh远程登录linux系统,详细安装方法
- 基于S3C2440的Linux内核移植和yaffs2文件系统制作--修改Linux源码参数
- Linux系统下使用MySQL命令实现远程连接MySQL数据库
- 基于Linux系统核心的汉字显示的尝试--zt
- Linux iostat-监视系统输入输出设备和CPU的使用情况
- RedisDesktopManager连接远程Linux系统的Redis服务(图文)
- 远程升级Linux系统
- Linux下用Conky来监视系统运行信息的教程
- 基于ARM处理器S3C2440和Linux系统的I2C触摸屏设计