- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Android的智能家居系统设计 东莞理工学院 ---计算机科学与技术 前期工作分配 本文中的智能家居项目,是基于Android所写的界面,通过C去控制硬件。实现控制家庭常见电器如电灯空调等,并可通过一系列的采集器监控室内的温湿度以及达到安保的效果。 由于本项目的内容较多,因此采取的是两人分工的方式去完成此设计。而其中本文详述的是基于智能家居在通过JNI接受从JAVA传过来的数据,然后再由C语言对各种硬件进行动作以达到用户的需求,还有部分硬件的驱动编程。 研究背景 智能家居集成是利用综合布线技术、网络通信技术、安全防范技术、自动控制技术、音视频技术将家居生活有关的设备集成。由于智能家居采用的技术标准与协议的不同,大多数智能家居系统都采用综合布线方式,但少数系统可能并不采用综合布线技术,如电力载波,不论哪一种情况,都一定有对应的网络通信技术来完成所需的信号传输任务,因此网络通信技术是智能家居集成中关键的技术之一。安全防范技术是智能家居系统中必不可少的技术,在社区及户内可视对讲、家庭监控、家庭防盗报警、与家庭有关的社区一卡通等领域都有广泛应用。自动控制技术是智能家居系统中必不可少的技术,广泛应用在智能家居控制中心、家居设备自动控制模块中,对于家庭能源的科学管理、家庭设备的日程管理都有十分重要的作用。音视频技术是实现家庭环境舒适性、艺术性的重要技术,体现在音视频集中分配、背景音乐、家庭影院等方面。 本设计所完成的工作 本文根据系统分为6个界面,包括主界面、灯光界面、闹钟界面、窗帘界面、空调及排气界面、安防界面,其中用户最先能看到的是主界面,从主界面可以进入其他的5个二级界面。如图所示 主界面 如图 主界面功能描述 主界面除了作为其他界面的入口,还包括当前的温湿度显示,选择在家和外出模式的切换。其中当外出模式切换到在家模式和进入安防设置的时候需要用到RFID认证。 在灯光界面中的按钮是能够判断灯光的状态的,因此在灯光界面中会不断刷新并上传灯光的状态以便LED灯和按键的状态保持一致。 闹钟界面中我们提供一个定时闹钟可以设定在24小时内使蜂鸣器动作一次。并且可以再闹钟发出声响之前取消。 在空调界面中由于也需要用到显示温度,可以通过温度控制空调的开启,另外由于硬件上的限制,空调在演示中也是以LED灯的形式演示 主界面的实现 本系统的界面使用Android写成,把用户需要求的数据传到C语言层,最后由C语言层操控硬件。而C语言和JAVA之间的通信侧是通过JNI来完成的。 S5PV210 本开发板GEC210搭载的主芯片为S5PV210,又名“蜂鸟”(Hummingbird),是三星推出的一款适用于智能手机和平板计算机等多媒体设备的应用处理器,S5PV210和S5PC110功能一样,110小封装适用于智能手机,210封装较大,主要用于平板计算机和上网本。 S5PV210采用了ARM CortexTM-A8内核,ARM V7指令集,主频可达1GHZ,64/32位内部总线结构,32/32KB的数据/指令一级缓存,512KB的二级缓存,可以实现2000DMIPS 拓展板 拓展板主要是为了拓展在GEC210上所没有的硬件需求,以满足智能家居的实验需要。具体包括:红外模块、继电器模块、步进电机、直流电机、气体传感器、温湿度传感器、光敏感测器、GPRS模块和RFID模块。 原理图及IO引脚分配 JNI JNI是Java Native Interface的缩写,中文名JAVA的本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,只要调用约定受支持就可以了。使用java与本地已编译的代码交互,通常会丧失平台可移植性。但是,有些情况下这样做是可以接受的,甚至是必须的,比如,使用一些旧的库,与硬件、操作系统进行交互,或者为了提高程序的性能。JNI标准至少保证本地代码能工作在任何Java虚拟机实现。JNI在程序中作用的是Java和C的翻译,在本设计中起到的作用是,让C语言层得知Java的调用,以及把各种硬件信息通过实时刷新的方式不断反馈到Java。 功能设计 显示温湿度是智能家居的最基本功能,通过荧幕用户可以随时从中获知当前的温度和湿度。由于温湿度显示并不需要触发事件,因此打开程序的时候就会自动触发。 温湿度的显示需要不断地刷新,也为了方便其他数值的传递,我们定义了一个叫cflags的数组,定义clags的[1][2]是用于存放温湿度的数值。另外光感应驱动也在这里打开,方便在同一个地方把需要随时刷新的值都得到并及时更新到cflags里面去。 在监控温湿度的线程中,首先根据驱动给
文档评论(0)