基于arm的web远程视频实时监控系统设计与实现毕业论文(编辑修改稿)内容摘要:

username 否 char 20 用户名称 password 否 char 20 用户密码 3 系统的硬件及软件的设计 嵌入式系统的介绍 嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 本系统是在 Ubuntu 下进行开发的,因为 Linux 是完全免费的操作系统,使用时只需要遵循 GPL 声明,而且 Linux 系统的源代码都是完全开放的,可以自由的下载,在遵循了 GPL 声明的前提下是可以自由的修改和移植的,为系统的开发 与调试带来了很大的便利。 所以采用了 Linux 系统进行开发。 硬件平台的介绍 系统采用的是 mini2440 开发板,采用的是 ARM9 的架构,所以使用的是哈佛结构, 即程序指令与数据是分开存储的存储器结构。 该开发板采用的是 Samsung s3c2440 的微处理器,并且采用了专业稳定的 CPU 内核电源芯片与复位芯片用于保证系统运行时的稳定性。 交叉编译环境的搭建 (1)将已经准备好的交叉编译环境的安装包 ()准备好,把安装包拷贝到虚拟机的任意目录的文件夹 下 (2)运行 $ sudo tar –zxvf –C /opt/FriendlyARM/toolschain 解压该压缩包 (3)在 /usr/local 目录下建立 arm 路径 华中农业大学楚天学院本科毕业论文(设计) 5 $ sudo mkdir /usr/local/arm (4)将 /opt/FriendlyARM/toolschain/ 文件夹全部拷贝到 /usr/local/arm 下 $ sudo cp –r /opt/FriendlyARM/toolschain/ /usr/local/arm (5)修改环境变量,把交叉编译器的路径加入到 PATH 中 $ sudo vi /home/ubuntu/.bashrc 在文件的最后添加如下代码,然后保存退出: export PATH=$PATH:/usr/local/arm/(6)运行,使其环境变量生效 $ sudo source /home/ubuntu/.bashrc (7)然后检查是否已经将环境变量添加成功 $ echo $PATH (8)如果成功,运行 ,查 看是否输出 armlinuxgcc 的版本号 $ armlinuxgcc –v BOA 服务器的简介与搭建 BOA 是一个非常小巧的 WEB 服务器,其可执行代码只有 60K 左右。 它是一个单任务的 WEB服务器,只能依次完成用户的请求,而不会 fork 出新的进程处理并发连接请求。 但 BOA 支持 CGI,能够为 CGI 程序 fork 出一个进程来执行。 BOA 的设计目标是速度和安全,在其站点公布的性能测试中, BOA 的性能要好于 Apache 服务器。 BOA 服务器的移植 (1)解压源码 $ tar xvf (2)进入 src,然后生成 Makefile $ cd $ ./configure 修改 Makefile 修改 CC = gcc 为 CC = armlinuxgcc 修改 CPP = gcc E 为 CPP = armlinuxgcc E (3)安装词法和语法分析工具 $ sudo aptget install bison flex 修改 src/ 注释掉 if (dup2(error_log, STDERR_FILENO) == 1) { DIE(unable to dup2 the error log)。 } 为: /*if (dup2(error_log, STDERR_FILENO) == 1) { DIE(unable to dup2 the error log)。 }*/ (4)修改 src/ 注释掉下面内容: if (passwdbuf == NULL) { /* 如果密码为空,则 提示 getpwuid */ DIE(” getpwuid” )。 } /* 如果初始化组返回 1,则 提示 initgroups */ 华中农业大学楚天学院本科毕业论文(设计) 6 if (initgroups(passwdbufpw_name, passwdbufpw_gid) == 1) { DIE(” initgroups” )。 } 为 if 0 if (passwdbuf == NULL) { /* 如果密码为空,则提示 getpwuid */ DIE(” getpwuid” )。 } if (initgroups(passwdbufpw_name, passwdbufpw_gid) == 1) { DIE(” initgroups” )。 } endif (5)修改 src/ if (setuid(0) != 1) { /* 设置 uid,如果小于 0,则提示错误 */ DIE(” icky Linux kernel bug!” )。 } 为 if 0 if (setuid(0) != 1) { /* 设置 uid,如果小于 0,则提示错误 */ DIE(” icky Linux kernel bug!” )。 } endif (6)执行 make 出现错误: armnonelinuxgnueabigcc g O2 pipe Wall I. c o src/ src/:100:1: error: pasting t and does not give a valid preprocessing token make: *** [] Error 1 去掉其中( ./src/) 120 行 的 ””。 (7)给 boa“ 瘦身” $ armlinuxstrip boa BOA 服务器的配置 (1)创建目录,将 boa 源码目录下 的 拷贝到 /etc/boa 目录下 mkdir /etc/boa cp /etc/boa 修改配置文件 vi /etc/boa/ a)user 的修改 修改 User nobody 为 User 0 b)Group 的修改 修改 Group nogroup 为 Group 0 c)ScriptAlias 的修改 修改 ScriptAlias /cgibin/ /usr/lib/cgibin/ 华中农业大学楚天学院本科毕业论文(设计) 7 为 ScriptAlias /cgibin/ /thesis//cgibin/ d)DocumentRoot 的修改 修改 DocumentRoot /var/ 为 DocumentRoot /thesis/ e)ServerName 的设置 修改 ServerName 为 ServerName 否则会出现 错误“ gethostbyname::No such file or directory” f)AccessLog 修改 修改 AccessLog /var/log/boa/access_log 为 AccessLog /var/log/boa/access_log g)以下配置和 的配置有关,都是在 ARM 根文件系统 rootfs 中创建 以下步骤在开发板上进行: 创建 HTML 文档的主目录 /thesis/ mkdir /thesis/ 创建 CGI 脚本所在录 /thesis//cgibin mkdir /thesis//cgibin 当不能使用 cgi 时 将 AddType application/xdcgi cgi 改为 AddType application/xdcgi cgi (2)BOA 服务器的测试 将 boa 拷贝到开发板根文件系统的 /etc/boa 下 cp src/boa /etc/boa 将 ubuntu 下 /etc/ 拷贝到开发板根文件系统的 /etc 下 cp /etc/ /etc 将你的主页 拷贝到 /thesis/ 目录下 进入 /etc/boa 目录,修改 boa 的执行权限, chmod +x boa (3)运行 boa,然后在主机游览器输入开发板网址 [root@FriendlyARM boa] ./boa [30/10/20xx:19:10:36 +0000] boa: server version Boa/ [30/10/20xx:19:10:36 +0000] boa: server built 10 30 20xx at 19:10:36 [30/10/20xx:19:10:36 +0000] boa: starting server pid=968, port 80 SQLite3 数据库的简介与移植 将准备好的 解压到 /home/ubuntu/ cd /home/ubuntu/ mkdir sqlite_install ./configure host=armlinux prefix=/home/ubuntu/thesis/ vim Makefile,找到 DPACKAGE_STRING=\”sqlite\ \”处,把 前面的空格和 \删除 make make install (1)将 sqlite3“瘦身” $ cd /home/ubuntu/$ sudo armlinuxstrip sqlite3 (2)将 sqlite3 拷贝到开发板的 /usr/bin 目录下 华中农业大学楚天学院本科毕业论文(设计) 8 cp sqlite3 /usr/bin chmod +x sqlite3 (添加执行权限 ) (3)在虚拟机的目录下 /home/ubuntu/、 . 这两个库文件,去掉调试信息后把他们复制到开发板的 /lib 目录下: $ cd ../lib $ armlinuxstrip $ armlinuxstrip cp –arf /lib(因为 是链接到 的,所以拷贝时需要加 arf) 辅助开发工具 (1)SecureCRT 是一款支持 SSH 的终端仿真程序,可以让用户在 Windows 下登录 UNIX 或 Linux服务器主机的软件,该系统主要用该软件登录开发板的系统。 (2)Adobe Dreamweaver CS5 在系统中用于网页的制作 4 系统测试 (1)修改开发板 IP,虚拟机 IP, PC 机 IP 确保在同一个网段 PC 机: 虚拟机: 开发板: 然后使用 ping 命令对开发板,虚拟机, PC 机 IP 进行测试,查看是否已经连接。 (2)启动开发板的程序脚本 (代码见附录) chmod +x ./ (3)在 PC 机的浏览器中输入开发板的 IP 登录服务器 图 41 登录页面 ()。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。