收藏 分享(赏)

物联网智能家居系统.doc

上传人:lufeng10010 文档编号:1464311 上传时间:2018-07-20 格式:DOC 页数:14 大小:4.48MB
下载 相关 举报
物联网智能家居系统.doc_第1页
第1页 / 共14页
物联网智能家居系统.doc_第2页
第2页 / 共14页
物联网智能家居系统.doc_第3页
第3页 / 共14页
物联网智能家居系统.doc_第4页
第4页 / 共14页
物联网智能家居系统.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、 物联网工程(课程)工程技术文档项目名称 物联网智能家居系统 学 院 信息科学与技术学院 专业班级 计科 1 班 小 组 第 6 小组 组 长 王朋 任课教师 铁玲 2014 年 1 月 14 日小组成员组长:王朋(201110411122)组员:孙波(201110411121),吴明天(201110411123),张杰(201110411125),刘涛(201110411120)摘 要智能家居系统是以住宅为平台,利用综合布线技术、网络通信技术、 智能家居-系统设计方案安全防范技术、自动控制技术、音视频技术将家居生活有关的设施集成,构建高效的住宅设施与家庭日程事务的管理系统,提升家居安全性、便

2、利性、舒适性、艺术性,并实现环保节能的居住环境。利用 IP 网和串口进行通信。实现了实时监控、实时温度控制、门禁系统等。并且在娱乐方面利用了 QT 与 FFMPEG 开发了嵌入式视频播放器,支持的解码文件有H264、AVI、 MPEG-4、3GP 等。而且提供了文本阅读、电子相册与主题变换等功能。关键词:智能家居;网络通信;实时监控;QT;FFMPEG目录摘 要 .I一. 设计目的 .I二 实现环境 .I三 设计方案 .II系统核心控制软件流程及其说明 .IILinux 内核移植 .III四.实现代码 .V基于 Qt 的嵌入式播放器的实现 .VFFMPEG 及其编解码库的移植 .VIII五 运

3、行结果 .VIII参 考 文 献 .IX1.设计目的随 着 大 量 采 用 电 子 技 术 的 家 用 电 器 面 市 , 住 宅 电 子 化 ( HE,Homen Electronics) 出现 。 80 年 代 中 期 , 将 家 用 电 器 、 通 信 设 备 与 安 保 防 灾 设 备 各 自 独 立 的 功 能 综 合 为 一 体 后 ,形 成 了 住 宅 自 动 化 概 念 ( HA, Home Automation) 。 80 年 代 末 , 由 于 通 信 与 信 息 技 术 的发 展 , 出 现 了 对 住 宅 中 各 种 通 信 、 家 电 、 安 保 设 备 通 过 总

4、线 技 术 进 行 监 视 、 控 制 与 管 理 的商 用 系 统 , 这 在 美 国 称 为 Smart Home, 也 就 是 现 在 智 能 家 居 的 原 型 。中国人口众 多 , 城 市 住 宅 也 多 选 择 密 集 型 的 住宅小区方 式 , 因 此 很 多 房 地 产 商 会 站 在整 个 小区智能化的 角 度 来 看 待 家 居 的 智 能 化 , 也 就 出 现 了 一 统 天 下 、 无 所 不 包 的 智 能 小 区 。欧 美 由 于 独 体 别 墅 的 居 住 模 式 流 行 , 因 此 住 宅 多 散 布 城 镇 周 边 , 没 有 一 个 很 集 中 的 规 模

5、 ,当 然 也 就 没 有 类 似 国 内 的 小 区 这 一 级 , 住 宅 多 与 市 镇 相 关 系 统 直 接 相 连 。 这 一 点 也 可 解 释为 什 么 美 国 仍 盛 行 ADSL、 Cable Modem 等 宽 带 接 入 方 式 , 而 国 内 光 纤 以 太 网 发 展 如 此迅 猛 。 因 此 欧 美 的 智 能 家 居 独 立 安 装 , 自 成 体 系 。 而 国 内 习 惯 上 已 将 它 当 作 智 能 小 区 的子 系 统 考 虑 , 这 种 做 法 在 前 一 阶 段 应 该 是 可 行 的 , 而 且 是 实 用 的 , 因 为 以 前 设 计 选 用

6、 的 智能 家 居 功能系统多 是 小 区 配 套 的 系 统 。 但 智 能 家 居 最 终 会 独 立 出 来 成 为 一 个 自 成 体 系 和 系统 , 作 为 住 宅 的 主 人 完 全 可 以 自由选择智 能 家 居 系 统 , 即 使 是 小 区 配 套 来 统 一 安 装 , 也 应该 可 以 根 据 需 要 自 由 选 择 相 应 产 品 和 功 能 、 可 以 要 求 升 级 、 甚 至 你 对 整 个 设 计 不 感 兴 趣 ,完 全 可 以 独 立 安 装 一 套 。2实现环境 本轮为围绕着基于物联网的智能家居的开发过程进行论述。主要从软件方面进行详尽的描述并且涵盖了硬

7、件的实施。包括相关的移植和应用技术。并且利用了 IP 网和串口进行通信。主控部分是建立在操作系统之上,整个系统采用了 LINUX。LINUX 是一个嵌入式平台十分优秀的操作系统。这要可以保证家居系统的稳定运行。各个功能模块采用物联网的思想进行构建。每个模块若出现故障不会对其他部分造成影响。这样保证了程序的可运行性。从全局观察本系统的各个功能以及实现过程。并且将 Linux 和 QT 的移植进行了简要的介绍。从技术角度将 QT 和 FFMPEG 构建的嵌入式播放器进行了表述。包括 FFMPEG 及其应用库的移植,以及介绍了 FFMPEG 的 API 和播放器解码流程和逻辑结构。安防监控系统。基于

8、IQtNetwork 和 V4L 的视频采集传输系统。以及其与主控部分的通信。使用 QT 的 MVC 结构,以此来实现的多功能电子相册。3设计方案系统核心控制软件流程及其说明智能家居核心控制博创 P X A 2 7 0U P - S T A R T 2 4 1 0视频监控模块下位机温湿度采集门禁系统家具设备空调系统I D 卡读取正确电灯窗帘图 2-1 智能家居系统控制流程图现代智能家居系统,对于室内温度的控制要求比较高,比如夏天的温度要在 26 摄氏度左右才适合人体。因此我们决定将温度控制在 25 至 27 摄氏度的范围内。一旦温度升高,超过了 27 摄氏度,这时候空调将自动开启,进行制冷。当

9、传感器温度在 27 摄氏度以下时,空调停止工作。由于空调对诗文的调节可能是非线性的。并且传感器与空调的位置也可能会影响对于室温的控制。这时候我们选择了 25 至 27 摄氏度这个范围内。避免了受固定数值的II影响。因为如果将温度设定为一个固定的数值,将可能造成的结果是空调一直工作,不断地调整温度,反复的开关很可能损害空调的寿命,并且对于电力资源的消耗极大。我们出于对环保的高要求考虑进行了以上调整由于现代家居对于门禁系统有较高的要求,传统的钥匙已经不再能满足家庭的需求。因此我们采用了门禁系统。用户刷卡,然后由系统自动识别 ID 卡,是否开门等。门禁系统的核心采用了 AT89S52 单片机来进行控

10、制,通过传感器识别 ID 卡,然后进行判断,如果正确将进行开门。如果不正确将保持关门状态。这使得家庭的安全得到了保障。此智能家居系统不但出于安全性的考虑增加了安防系统。而且对于现代家庭的休闲放松还增加了娱乐功能。有嵌入式播放器,电子相册,文本阅读等等功能,并且对于智能家居的控制系统主题提供了变换功能,不仅可以使用系统默认的主题,还可以根据用户的个人喜好,进行主题的变换。菜单栏功能栏功能选择按键功能翻页按键选定功能栏与当前功能栏号相等返回事件循环与当前功能栏号不能根据功能栏号选择显示的功能栏图 2-2 智能家居核心控制软件流程Linux 内核移植所谓 Linux 移植就是把 Linux 操作系统

11、针对具体的硬件平台做必要改写之后,安装到该目标平台使其正确的运行起来。这个概念目前在嵌入式开发领域讲的比较多。其基本内容是:获取某一版本的 Linux 内核源码,根据我们的具体目标平台对这源码进行必要的改写(主要是修改体系结构相关部分) ,然后添加一些外设的驱动,打造一个适合于我们目标平台的新操作系统,对该系统进行针对我们目标平台的交叉编译,生成一个内核映象文件,最后通过一些手段把该映像文件烧写(安装)到我们目标平台中。而通常对 LinuxIII源码的改写工作难度较大,它要求不仅对 Linux 内核结构要非常熟悉,还要求您对目标平台的硬件结构要非常熟悉。同时还要求您对相关版本的汇编语言较熟悉因

12、为与体系结构相关的部分源码往往是用汇编写的。所以这部分工作一般由目标平台提供商来完成。比如说针对目前嵌入式系统中最流行的 ARM 平台,它的这部分工作就是由英国 ARM 公司的工程师完成的,我们所要做的就是从其网站上下载相关版本 Linux 内核的补丁(Patch ) 。把它打到我们的 Linux 内核上,再进行交叉编译就行。QT Embedded 移植Qt/Embedded 的底层图形引擎完全依赖于 FrameBuffer,因此在移植时需考虑目标平台的Linux 内核版本和 FrameBuffer 驱动程序的实现情况,包括分辨率和颜色深度等在内的信息。当前嵌入式 CPU 大多内部集成 LCD

13、 控制器,并支持多种配置方式。Qt/Embedded 能够较好地根据系统已有的 FrameBuffer 驱动接口构建上层的图形引擎。Qt/Embedded 图形引擎中的图形绘制操作函数都是由源代码目录 src/kernel/中的src/kernel/qgfxreaster_qws.cpp 所定义的 QgfxRasterBase 类发起的声明。对于设备更加底层的抽象描述,则在 src/kernel 目录 qgfx_qws.cpp 的 Qscreen 类中给予相应定义。这些是对FrameBuffer 设备直接操作的基础,包括点、线、区域填充、alpha 混合和屏幕绘制等函数均在其中定义实现。在 F

14、rameBuffer 驱动程序调试通过后,配置 Qt/Embedded 的编译选项,可以保证 Qt/Embedded 的图形引擎正常工作。Qt/Embedded 中的输入设备,同样分为鼠标类与键盘类。其中鼠标设备在源码目录中的src/kernel/qwsmouse_qws.cpp 中实现,从该类中又重新派生出一些特殊鼠标类设备的实现类。当然也可以根据具体的硬件驱动程序实现的接口,实现类似的接口函数。Qt/Embedded 中对于键盘响应的实际函数位于 src/kernel/qkeyboard_qws.cpp中,在 qkeyboard_qws.h 中,定义了键盘类设备接口的基类 QWSKeybo

15、ardHandler。具体的键盘硬件接口依然要建立在键盘驱动程序基础上,移植时需要根据键盘驱动程序从该类派生出实现类,实现键盘事件处理函数 processKeyEvent()即可。Qt/Embedded 内部对于字符集的处理采用了 UNICODE 编码标准。Qt/Embedded 同时支持两种对于其他编码标准(如 GB2312 和 GBK)的支持方式:静态编译和动态插件装载。通过配置 config.h 文件添加相应的编码支持宏定义,可以获得其他编码标准向 UNICODE 的转换支持,从而在 Qfont 类中得以转换与显示。由于 UNICODE 涵盖了中文部分,所以Qt/Embedded 对中文

16、支持也非常好。IV四.实现代码 基于 Qt 的嵌入式播放器的实现在这部分中,需要写两个类,一个是 QPlay,用于实现播放器的初始化和播放器的解码工作。由于播放器需要实现文件的解码和图像的显示,并且能够接受鼠标的事件,所以对于QPlay 类需要继承 QThread。使用多线程技术来实现解码工作。类的声明如下:class QPlay :public QThreadQ_OBJECTpublic:QPlay();QPlay(char *); /带参数的构造函数,用于接收来自主线程的文件名AVFormatContext *oc;AVPacket packet;struct SwsContext *sw

17、s;AVCodecContext *pCodecCtx;AVCodecContext *aCodecCtx;AVCodec *pCodec;AVCodec *aCodec;AVFrame *pFrame;AVFrame *pFrameRGB;int audioStream;int videoStream;int fd;unsigned int i;int datasize;Vunsigned char buff6000; /声音解码的工作空间char *filename;int numBytes;uint8_t *buffer;int frameFinished;QString maxtime

18、str; /视频文件的播放时长int nb_index_entries;float maxtime;float frametime;float timeframe;float nowtimetmp;int nowtime;int max4;void init(char *inputfilename);void stop();void play(int timestamp);bool initok;void halt();bool isstop;signals:void threadstop();void valuechange(int);void imagechanged(struct SwsContext *);void stopright();public slots:void time_out();void rightstop();protected:void run();private:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 实用文档 > 往来文书

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报