第三章 智能家居系统的架构及设计方案
3.1 系统的设计概述
智能家居的设计初衷应该是为家庭带来更先进的生活方式。给一般的家用电器注入新的生命力,使他们更贴合人们的需求和期许,更人性化的为家庭提供服务。智能家居系统的硬件和软件两部分都应该具有一定的领先性,从而延长其生命力,避免短时间内被淘汰。
并且应保证其低廉的价格和强劲的性能,从而得到市场的青睐,扩大智能家居的需求市场,让普通用户也可以体验高科技带来的便捷生活。
在系统的设计过程中,应充分考虑现阶段人们对家居和生活的进一步需求,提供方便灵活的全新生活方式,并且尽量避免带来过重的生活压力。系统的各个部分应留下接口以便日后的功能升级所用。
3.2 系统的需求分析
3.2.1 系统的目标
本文将智能家居系统分为数据采集控制系统和 Android 监控平台两大部分。通过无线通信技术、自动控制技术、计算机技术、Wi-Fi 技术等相结合而实现。整个系统预先设置了四种模式:分别是室内、外出、休眠和娱乐模式。在室内模式中,各个子系统的预先设定功能被开启,用户可以对各个家电自行控制;在外出模式中,各个家电被自动关闭,在省心的同时也响应了节能减排的号召;休眠模式关闭了电灯、热水器等电器,但不关闭空调;而娱乐模式则可以一键开启影音设备和电视等电器。
本系统采用 ESP8266 模块作为 Wi-Fi 模块,实现 APP 端到模块串口的传感器节点数据的传输,远程指令发送控制等功能。每个数据采集控制子系统讲接收 Android 监控平台发来的指令并完成监控功能,同时将家电设备的实时数据信息反馈回 Android 监控平台。
数据采集控制系统的作用是对室内环境进行控制和检测,主要为电动窗帘控制系统,灯光控制系统,温湿度监控系统,烟雾与可燃气体监控系统四个子系统。
终端系统采用当下最流行的 Android 操作系统,具有广大的用户基础,更替了传统的PC 端控制系统,具有更好的灵活性和移动性。用户可以使用任何一台配有 Android 系统的手机或平板电脑等设备对家电进行监控。
与传统的智能家居控制系统相比之下,本系统不需要复杂的布线的步骤,因此成本较低,普通的用户也可以消费的起。同时也使得现有的普通家电变得智能化,而采用的终端系统又有着广阔的用户群,使得市场推广变得更加容易,让便捷的低成本的智能家居走进普通百姓的生活。
3.2.2 系统的功能需求
本文所设计的智能家居系统的主要功能是用户可以在手机等移动端远程查询,监控和设置家中的各个家电设备的工作,家电设备通过无线通信模块从云服务器接收到手机端发来的动作指令,将接收到的指令转换为物理动作,再把相应的信息通过无线模块上传至云服务器,手机端即显示更新后的家电设备的工作状态。如图 3-1 为系统功能需求模块图。
终端系统的功能还有用户登录、电器设备控制、场景模式、智能监控报警等。以下是具体的功能设计:
1.用户通过互联网注册本文的智能家居系统得到一个专属的账号和密码,输入正确的密码登陆后,才可以对相应的家电进行监控和设置,保证用户个人隐私和财产的安全。
2.用户通过手机能够远程监测管理到家中的各个家电设备(如灯光,窗帘等)的工作状态,并对其进行相应的开关控制。
3.用户可以自行添加房间及其中相应的不同设备,对家电设备进行查询和控制。同时也可以对家电信息进行群操作,即场景模式的设定。默认情况下有外出模式、室内模式、休眠模式和娱乐模式四种初始模式设定。同时也提供自定义的模式的功能,用户可以对已有的模式进行修改或增添新模式,系统的控制单个或多个家电设备。
4.用户可以通过自定义来控制某个家电设备或设置某种场景模式,通过模式配置界面进行设定后确认发送请求,将返回的数据存储在数据库中。
5.用户通过移动终端系统可以实时监测家电设备节点的传感器数据,如房屋的温度湿度,可燃气浓度等等,可针对异常情况做出判断并采取相应的措施。
3.2.3 系统的性能需求
1.系统的传输速率和误码率
用户通过手机等移动终端发出指令后,系统需要及时的做出响应,系统响应时间应小于人的感觉和视觉范围(<1s),系统响应时间需要足够迅速(<5s)才能满足用户的需求。这就要求系统的传输速率达到一定的高度,同时也需要保证指令数据的精确度,即降低误码率,否则将无法完成用户指定的操作。
2.易用性和安全性的需求
系统的界面要简单易懂,同时也要具有一定的观赏性,操作界面一目了然,方便用户操作和学习,符合用户的期待。当用户的输入不符合设定时,可以对用户做出提醒。与此同时保证用户资料的保密,当用户输入了正确的账号与密码时,才可以进入系统界面。对用户的要资料加密处理,保障用户的隐私和信息安全。
3.适应性的需求对不同属性的家电设备进行集中统一的智能化管理和操作,并对不同平台的智能家电有一定的适应能力。
3.3 系统的整体架构设计
在本智能家居系统中,Wi-Fi模块通过Wi-Fi无线网络连接到服务器获取数据,Android系统的移动终端通过 2G/3G/4G/Wi-Fi 网络连接到 Wi-Fi 模块,各个数据采集终端节点则通过 GPIO 连接到 Wi-Fi 模块。本系统的 Wi-Fi 模块是 ESP8266.各个数据采集终端中的单片机接收到 Android 监控平台发送来的操控信息后完成指定工作,并将家电设备的状态及报警信息发回 Android 监控平台。图 3-2 为本智能家居系统的整体架构示意图。
3.3.1 网络通信技术方案的选择
在现阶段中,网络通信方案基本可以分为有线技术和无线技术两大块。主要的有线技术方案有:电力载波方案和总线连接方案等,而比较流行的无线技术则包括了 Wi-Fi[52-53]、Zig Bee[54]、蓝牙 Bluetooth[55]、超宽带通信 UWB[56]、近场通信 NFC[57]、射频识别 RFID[58]等等。与无线技术相比而言,有线技术的工作展开都比较繁琐并且成本较高,为智能家居系统的家庭布置带去了很多麻烦。而无线技术几乎无需布线,调试简单,所需要的维护很少这些优点,为它在智能家居行业的应用带来了得天独厚的优势。所以无线技术非常适用于智能家居系统,也是现阶段研究智能家居系统的网络通信技术的热点。现通过传输速度、通信距离等几项指标来比较这几种流行的无线技术。表 3-1 列出了各个无线技术的相关指标数据。
由表 3-1 可以得知,Wi-Fi 技术的传输速度比较快,并且通信距离也是最远的。而且Wi-Fi 是大众熟悉度最高的无线技术,分布范围广泛,有良好的用户基础,接受程度也就更大,方便系统的推广。根据智能家居系统的需要,本文最终选择 Wi-Fi 技术作为智能家居系统的网络通信技术方案。
3.3.2 控制终端操作系统的选择
为了提高智能家居系统的便捷性和实用性,同时又降低成本,促进智能家居行业的发展,本文设计的智能家居系统将采用智能手机或平板电脑等移动设备作为整个系统的监控终端。而监控终端的操作系统则需要选择一个实用性强,市场占有率大的嵌入式操作系统。
同时也需要综合的考虑操作系统的开发语言、开源性、可否迁移、未来扩展等等指标。目前常见的嵌入式操作系统包括 Android[59]、iOs、Windows Phone[61]、Symbian[62]、Linux[63]和 Palm OS[64].下面将对这些嵌入式操作系统的各项指标列表来进行比较。如表 3-2 所示。一个有竞争力的监控终端必须能够为用户提供一种流畅的交互界面,并且具有强大的数据处理能力。而操作系统的性能直接影响到了监控终端的竞争力。通过对几种操作系统各个方面的特点进行分析和比较之后,本智能家居系统最终选择 Android 系统对移动终端的软件进行开发。理由如下:
Android 的市场占有率具有绝对优势。虽然 Android 问世的时间不算长,但它现在正处于势头颇为迅猛的发展阶段,对一直以来领头的传统手机平台塞班(Symbian)造成了几乎毁灭性的打击,并很快的赶超了 iOS.根据相关资料显示,2015 年底对中国手机市场智能手机的操作系统进行统计,Android 系统的关注比为 82.02%,牢牢的占领第一的位置。
第二名是苹果的 iOS 系统,关注比为 15.03%.第三名是关注度为 2.01%的 Windows Phone系统[15].由此看来,Android 系统至少在短期内依然可以称霸天下。选择 Android 有利于本系统日后的推广。
由于其开放源码的特性,Android 的安全性能较好,也便于开发者对软件程序创新,开发成本比其他操作系统低很多,系统的升级也会很容易。Android 具有很好的移植性,有利于本系统在不同的硬件平台上推广运行。
由于 Android 系统的实用性强、可靠性好,以及在市场占有率上的绝对优势,Android的开发队伍日益庞大,Android 应用程序也得到了很大的提升和丰富,这有利于开拓智能家居系统更多的功能,增加娱乐性。
3.3.3 系统的主要硬件
根据智能家居系统的功能需求,本系统选用 ESP8266 Wi-Fi 模块和 Arduino 模块相结合的方式来实现数据的交互与电器的控制。ESP8266 模块作为一个 Wi-Fi 网络解决方案来说比较完整并且自成体系,它可以搭载一些软件应用,或者利用另一个应用处理器来对所有的 Wi-Fi 网络功能进行卸载。
ESP8266 搭载了软件应用并且是当前设备里仅有的一个应用处理器的时候,它可以直接在外接的闪存里驱动。其内置的高速缓存可以有益于提升系统性能,并且可以降低内存需求。
另一种情况就是当 Wi-Fi 适配器的任务由无线上网接入负责时,可以把 ESP8266 芯片放置到任何一种基于微控制器的电路设计当中,线路的连接也非常简明容易操作,只要透过 SPI/SDIO 接口连接或者中央处理器 AHB 桥接口连接就可以完成。
ESP8266 芯片具有非常卓越的片上处理能力和存储的能力,因此,它可以利用 GPIO接口集成一些传感器和其它特定的应用设备,前期开发非常少并且在运行中占用最少的系统资源。ESP8266 的片内集成度非常的高,包含了天线开关的平衡转换器、电源的管理转换器等,因此它的外围电路会很少,并且它在设计时将 PCB 空间占用比降到了最低,即使加上前端模块,它的整体解决方案也是如此。
若系统中装有 ESP8266,系统将会具有一系列的领先特征,例如节能 VoIP(IP 承载语音)可以在睡眠模式和唤醒模式之间进行快速的切换、自适应无线电偏置可以配合低功率的操作、具有对前端信号进行处理的功能、对故障进行排除以及无线电系统都有的特性:可以对蜂窝、蓝牙、DDR、LVDS、LCD 这些干扰进行消除。
3.3.4 系统终端开发流程的设计
在系统终端开发之前,需要将每个步骤环节规划清楚,考虑好系统开发的每一个细节,才能使开发过程的顺利进行以及系统最终符合预先的设计效果。图 3-4 为智能家居系统软件终端开发的流程图。
如图 3-4 所示,本智能家居系统的开发流程是:第一步,要对现阶段市场及用户的需求做一个充分的调查,分析智能家居行业的趋势发展,了解大众对智能家居系统功能的期待和想法,将调查结果归类,并在系统移动终端平台上实现。第二步是交互设计,通过对移动终端软件的界面和行为进行交互设计,改善用户的使用体验,使系统的使用感更轻松。
第三步是视觉设计,视觉设计直接决定了用户对移动终端软件的直观感受,色彩和谐的视觉设计可以大大提高软件终端的操作性和可读性,用简洁的颜色和图片来表达准确的信息,用可视化的语言来简化逻辑问题。第四步就是根据以上的分析和总结进行代码设计,实现每一个模块的功能。
每一个模块的代码设计完之后需要功能测试,并且还要把每个模块架构到整体框架中进行整体测试。随后再对代码进行修改优化。