安卓实现实时视频监控

阅读: 评论:0

预想功能:
1.      开发板能通过无线网络进行实时的视频采集
2.      手机端能进行实时的视频监控
3.      手机端能对硬件进行控制
框架图:
具体步骤:
1.      移植Apache + PHP 到mini2440,用于接收手机发送的http请求
2.      移植SQLite 到mini2440,将收到的按键动作转换为相应的控制指令(考虑到实际系统中可能会有几百条指令,因此直接采用数据库存放)
3.      移植mjpg-streamer 以及相关功能库到mini2440,实现视频采集
4.      完成Android应用程序完成视频获取
5.      完成PHP文件,获取手机端发送的http请求,并转发至指令转换模块
6.      完成指令转换模块,生成相应的控制指令
7.      完成底层控制模块,实现硬件控制
8.      移植无线网卡驱动,实现无线物联
一、apache的移植
从/ 上下载apache_1.3.,然后解压缩的一个目录。
使用本地的gcc编译这个版本,我用的是Fedora14上的arm-linux-gcc4.4.3,运行:./configure生成makefile文件,make 完成后,不需要make install(如果安装的话,会把pc上的apache安装到默认目录下,此处是usr/local/apache)。
创建一个新的编译arm版本的目录,然后在该目录下解压缩apache_1.3.36,转到该目录下的apache_1.3.36,运行:export  CC="arm-linux-gcc"(export指定环境变量,指定交叉编译器的地址)./configure--prefix=/lusr/local/apache_arm/ --without-execstrip --enable-modul
e=so(生成Makefile文件,--prefix指定apache安装路径默认为usr/local/apache,我们可以在后面加个后缀以示区分)
运行make 命令,这时编译会在apache_1.3.36/src/main/gen_test_char处失败,因为arm版本该程序无法在本地机器运行,你需要把前面编译的本地版本的apache_1.3.36/src/main/gen_test_char覆盖这个arm版本,然后转到arm版本的apache_1.3.36下继续make,随后编译到另一个程序apache_1.3.36/src/main/gen_uri_delims也出现相同的问题,也使用本地版本覆盖掉它,继续make,直到最后编译成功。
# make install
这就编译好了!
还需要配置apache/f 来设置服务器的功能,见下面。
移植到rootfs中,由于配置apache的时候“prefix”参数指定的安装位置是/usr/local/apache_arm,所以制作好的文件在/usr/local/apache_arm中,将apache拷贝
到rootfs中的usr/local/中
    # cp /usr/local/apache_arm  /nfsroot/rootfs/usr/local/apache_arm / -rf
二、PHP的安装
交叉编译php同样需要两个步骤:1.编译本机代码;2.利用本机代码进行交叉编译。原因我就不重复了,假设为本机编译的php代码已经解压缩到/home/sg131971/php-4.4.8-i586,为ARM编译的php代码已经解压缩到/home/ sg131971/php-4.4.8,交叉编译器arm-linux-gcc已设缺省路径,具体步骤还是用命令来说明:
# cd /home/sg131971/php-4.4.8-i586
# ./configure
# make从茶叶中提取
在编译的同时,可以打开/home/ sg131971/php-4.4.8/configure这个文件,搜索“can not run test program while cross compiling”,会搜索到很多个这样的结果:
{echo "configure: error: can not runtest program while cross compiling" 1>&2;exit 1;}
把它们都改为
{ echo "configure: error: can not runtest program while cross compiling" 1>&2; }
这样做的目的是直接无视交叉编译测试程序错误。
# cd /home/sg131971/php-4.4.8
#CC=arm-linux-gcc ./configure--prefix=/usr/local/php_arm --host=arm-linux --target=arm-linux  --enable-sockets
别以为可以编译了,还有东西要修改,打开/home/sg131971/php-4.4.8/Makefile,到这段
install-pear-packages:$(top_builddir)/sapi/cli/php @$(top_builddir)/sapi/cli/php$(PEAR_INSTALL_FLAGS) /home/sg131971/php-4.4.8/pear/install-pear.php-d "$(peardir)" -b "$(bindir)" /home/sg131971/php-4.4.8/pear/packages/*.tar
用上我们刚才编译的本机php里的文件,把它改成
install-pear-packages: /home/sg131971/php-4.4.8-i586/sapi/cli/php @/home/sg131971/php-4.4.8-i586/sapi/cli/php$(PEAR_INSTALL_FLAGS) /home/sg131971/php-4.4.8/pear/install-pear.php -d"$(peardir)" -b "$(bindir)" /home/sg131971/php-4.4.8/pear/packages/*.tar
现在终于可以编译了
# cd /home/sg131971/php-4.4.8
# make
# make install
# exit
这样php就编译完成了。
三、Apache与PHP的配置
需要修改/nfsroot/rootfs/usr/local/apache_arm/f文件,此处我就直接将该文件贴出来来了!O(∩_∩)O~
[html]
ServerType standalone 
ServerRoot "/usr/local/apache_arm" 
PidFile /usr/local/apache_arm/logs/httpd.pid 
ScoreBoardFile /usr/local/apache_arm/logs/httpd.scoreboard 
Timeout 300 
KeepAlive On 
event2MaxKeepAliveRequests 100 
KeepAliveTimeout 15 
MinSpareServers 5 
MaxSpareServers 10 
StartServers 5 
MaxClients 150 
电暖手套
MaxRequestsPerChild 0 
User nobody 
Group nobody 
ServerAdmin sg131971@qq 
ServerName www.whut.edu 
DocumentRoot "/usr/local/apache_arm/htdocs" 
<Directory /> 
    Options FollowSymLinks 
边缘融合处理器    AllowOverride None 
</Directory> 
<Directory "/usr/local/apache_arm/htdocs"> 
    Options Indexes FollowSymLinks MultiViews 
麦弗逊式独立悬架    AllowOverride None 
    Order allow,deny 
    Allow from all 
</Directory> 
<IfModule mod_userdir.c> 
    UserDir public_html  摄像机三角支架
</IfModule> 
<IfModule mod_dir.c> 
    DirectoryIndex index.html 
    DirectoryIndex index.php 
    DirectoryIndex index.php3 
    DirectoryIndex index.phtml 
</IfModule> 
AccessFileName .htaccess 
<Files ~ "^\.ht"> 
    Order allow,deny 
    Deny from all 
    Satisfy All 
</Files> 
UseCanonicalName On 
<IfModule mod_mime.c> 
    TypesConfig /usr/local/apache_arm/pes 
</IfModule> 
DefaultType text/plain 
<IfModule mod_mime_magic.c> 
    MIMEMagicFile /usr/local/apache_arm/conf/magic 
</IfModule> 
HostnameLookups Off 
ErrorLog /usr/local/apache_arm/logs/error_log 
LogLevel warn 
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 

本文发布于:2023-06-14 05:35:55,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/1/138687.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:编译   交叉   版本   进行
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图