课程设计-远程安防监控-我的报告

信息安全系15级学生课程设计——2018.05

课题:物联网实训·远程安防监控系统

1、课题简介

本系统是基于PC、ARM Cortex-A8/A九、GPRS、ZigBee等设备依托在各项互联网、传感器等技术上编写以实现远程安防监控,使用户更方便的监控所需监控的环境,得到全部信息及其处理特殊状况。前端

本系统主要分为三大模块:核心服务器端(PC)、前端数据中心(A9/A8)和远程监控终端(ZigBee)。linux

2、实现状况

目前,本课题组已将所需调试的模块编译并试运行,个别地方仍然存在问题,但已可初步实现PC和ARM之间的串口通讯并使用浏览器访问远程监控控制页面,在正常使用状态下不会出现运行Bug。shell

贡献度排名:赵文昊、王一帆、许星霖浏览器

WiFi模块和视频接口模块目前尚存在未解决的问题,具体状况将在下面详述。安全

3、实现步骤

1.环境搭建

在课程设计初期,约一周的时间内一直都在进行环境的配置,基本是由赵文昊负责的,因为教程内使用的Ubuntu虚拟机版本、编译器版本都比较老,这些花掉了很多时间,而且没有指出详细的配置方法和效果,致使在尝试向后进行时困难重重,不少编译没法经过。在这种状况下仍是求助老师得到了一个配置好的Ubuntu虚拟机环境,这块的进度比较慢,也拖慢了总体实现的进度,可是最终没有为后面的步骤形成影响。服务器

在小组3人中,只有1人彻底没有Linux的使用基础,故前期许星霖简要学习了Linux指令,能够完成简单的操做,达到了足够完成本次实现的程度。ide

2.编译源码

在这个阶段咱们对老师提供的模块代码进行了编译,这里用到了交叉编译,在解释什么是交叉编译以前,先要明白什么是本地编译。工具

本地编译学习

本地编译能够理解为,在当前编译平台下,编译出来的程序只能放到当前平台下运行。平时咱们常见的软件开发,都是属于本地编译:设计

好比,咱们在 x86 平台上,编写程序并编译成可执行程序。这种方式下,咱们使用 x86 平台上的工具,开发针对 x86 平台自己的可执行程序,这个编译过程称为本地编译。

交叉编译

交叉编译能够理解为,在当前编译平台下,编译出来的程序能运行在体系结构不一样的另外一种目标平台上,可是编译平台自己却不能运行该程序:

好比,咱们在 x86 平台上,编写程序并编译成能运行在 ARM 平台的程序,编译获得的程序在 x86 平台上是不能运行的,必须放到 ARM 平台上才能运行。

因此,这须要咱们将交叉编译的工具链路径配置到系统环境变量中,这里没有什么问题。

接下来是BootLoader、Linux内核、主程序、根文件系统这几块源码的编译,赵文昊和王一帆两边都对源码进行了编译,对比发现没有不一样之处,也就能够正常使用了。

3.镜像烧写

这块地方因为个人电脑VMware有点奇怪,SD卡怎么说也接不到虚拟机上,因此Linux-SD卡烧写这块实现主要是由王一帆同窗实现的,Fastboot烧写镜像这块主要是我来实现的。

将咱们在上个环节中编译出来的程序代码拷到一块儿后,在Linux中以管理员身份运行mkuboot.sh这个shellcode文件,便可自动运行镜像烧写过程。

而Fastboot方式烧写镜像就在Windows平台下操做便可,将编译好的文件放在镜像烧写的目录中,在安装好设备的Fastboot镜像并添加了Fastboot命令的状况下,使用资料中给出的批处理命令自动烧写便可成功。

4.Linux内核调试

在这以后的内容都是我和王一帆同窗共同完成的两我的都进行了实验操做,在启动了开发板上的Linux命令提示符后,程序一直向咱们汇报错误以下所示,出于胆小一直没敢输入指令,后来才知道不停跳出错误提示这个过程当中能够大胆敲入咱们须要的命令。这个时候咱们并不知道开发板上没有烧WiFi模块,毕竟开发板被一块大屏幕盖住了,后面另找老师要来了WiFi模块的外接设备,虽然启动后仍然在跳出错误报告和日志信息,可是建立软连接后就能够正常链接到设备上了。

在获取到了外接WiFi模块后无线网卡会在开启wap_supplicant服务后,在ifconfig中失去wlan0网卡,因此WiFi模块目前实现仍是存在问题。

5.BOA和视频模块调试

BOA服务器循序渐进开启服务便可打开,后来也证实了之后不须要再屡次手动开启服务,开机会自动启动,启动服务后在电脑上访问开发板的IP地址便可链接到管理平台。(因为WiFi模块出错,因此这里只能使用网线直连电脑,须要配置eth0网卡IP和电脑以太网口静态IP地址,确保电脑能Ping通开发板,开发板Ping不通电脑多是防火墙规则所致)

试一下,LED和蜂鸣器的控制都是正常的 ,风扇控制不了由于咱们开发板上并无风扇这个设备,因此暂时放掉了。

视频模块这里咱们在试用指导书上的命令时,提示Camera设备繁忙,没法使用video0接口进行摄像头调用,天然也就没法经过访问8080或者是本身设定好的端口进行访问链接摄像头,而且咱们很难判断具体是哪一个进程在占用摄像头,我在尝试kill掉一些程序后中止了尝试,不敢去kill掉系统进程。

咱们换了一个video1进行视频模块的调试,出现了一些变化,8080端口能够访问再也不是404:Not Found了,可是页面背景是灰色的,并无摄像头的图象显示,我我的认为是摄像头的video设备错误,video0之外的设备不能获取图象。

4、其它出现的问题

驱动程序Fastboot安装有错

安卓设备目前只有个人设备能够作到链接上后能够在设备管理器中看到它并为其安装驱动程序,因此目前只有个人设备能够经过Fastboot方式烧写SD卡镜像,另外,许星霖组员的电脑上没法将Fastboot代码添加到环境变量Path中因此发Fastboot命令没法找到。

解决方案:Fastboot驱动安装时应关闭驱动强制签名,百度上可查,亲测有效。可是在本次课程设计结束后应调回初始设置,不然电脑将面临危险,不推荐长时期使用这个状态。

VMware链接SD卡设备出错

这个我目前其实也不知道怎么解决,由于个人VMware好像只有在实现这个课程设计的时候才出现这个问题,目前能想到的给你们提供的方法也就是更新VMware版本或者修改服务项的键值,到如今仍然不能解决。

相关文章
相关标签/搜索