基于WSN 智能家庭温湿度监测系统设计论文
随着物联网技术的发展,比尔盖茨的智能家庭开始有机会走进寻常百姓家。该文主要介绍一种基于WSN技术实现家庭温湿度环境监控的方案,本系统易于扩展,可以作为智能科技家庭的框架,通过扩展模块,可以作为一个完整的智能家庭解决方案。笔者对软硬件方面进行了研究分析,着重分析系统架构模型,并对子模块的功能和工作原理做了简单描述。该系统云平台采用最新的Node.js技术做支撑,系统基于RESTful风格构建。
1 引言
随着社会的发展,人们对于生活居住条件的要求越来越高,人们希望可以像比尔盖茨一样随时随地掌控居住环境。近些年,由于信息技术和传感器技术等的不断发展,智能家庭正在悄悄走进千家万户。智能家庭是在联网设备的基础上,通过传感器采集数据,网络后台获取并存储数据,通过特定的算法对数据进行分析,将得到的结果返回给执行机构或通知用户,从而为用户提供一个智能的居家生活环境。目前智能家庭系统方案众多,各有优缺点。
笔者在智能家庭方面进行了研究,提出了一套易于扩展、高性能的智能家庭系统。本系统是一个轻量级的但功能完整的智能家庭系统。传统的智能家庭对设备的控制大多基于局域网络,只适应于家庭内部进行监测控制,本系统以家庭为单位,将所有家庭的数据采集到云端存储,便于以后的分析挖掘,使本系统可以更加智能,同时系统采用分层的模块化架构,便于维护和扩展。本系统在设计的时候充分考虑安全和成本,力求在安全的前提下降低系统成本。
2 系统架构
2.1 整体架构设计
如图1所示,每个家庭都通过 TCP/IP 协议接入智能家庭云平台,在家庭和Internet 之间通过网关管理控制,家庭内部则采用 Zigbee 构建的局域网进行通信,达到监测和控制的目的。用户可以通过客户端连接到云平台查看家庭环境数据和控制家庭中的联网设备。云平台可以通过特殊的算法对采集到的数据进行分析处理,层而达到越用越聪明的目的。
Zigbee 是一种低功耗、短距离、低速短延时、简单大容量、安全可靠的无线网络传输技术[1]。zigbee 具有强大的自组织网络性能,主要工作在ISM 频段。其中,2.4GHz 频段较为常见,并且免费使用。在每一个家庭中通过 Zigbee 构建局域网络,达到安全可靠、成本低、低功耗的家庭网络的需求。
家庭网关采用Arduino 模块。Arduino 是一块基于开放原始代码的 Simple I/O 平台[2],因为 Arduino 是为业余电子爱好者开发的,所以开发语言和开发环境具有简单易懂的特点,同时Arduino 开发语言是建立在 C语言的基础上,功能强大,可以尽情发挥想象[3]。Arduino 以其简单、便宜、功能强大赢得了成千上万电子工程师的喜爱。
客户端采用 WEB 形式,降低开发成本并且具有很高的兼容性。当模块增多,功能复杂的时候可以考虑开发APP,本身 APP 也可以通过 webview 等组建直接嵌入 WEB页面,同时 WEB 也可以直接和微信打通,方便用户使用。
2.2 云平台架构设计
本系统采用 REST 架构。REST(Representational State Transfer)表征状态转移是从资源的角度看待整个网络[4],分布在网络中的各种资源都是通过 URL(统一资源定位器)来唯一确定,应用程序可以通过 URL 来取得网络资源的表征,从而改变其状态。REST 架构希望通过统一的 Hypermedia Controls,实现标准的可扩展性高的标准语义及表现形式,从而达到无需人工干预、机器之间通用的交互协议边的目的[5]。
物联网(Internet of things)能够让被独立寻址的物体互相连通,其中涉及的联网设备非常庞大,物联网包含的物体个数保守估计在千万亿级别,面对如此强大的资源世界,采用 REST 架构构建物联网系统,在目前来看是最好的解决方案。
3 硬件实现
3.1 主控制器设计
主控制器采用Arduino+Zigbee模块,如图,Arduino 拥有14个数字IO 接口和6个模拟 IO 接口,外部供电5V~9V 直流电源,输出5V 和3.3V 直流电压,采用 Atmega328微处理器控制器芯片。 Zigbee 模块使用 TI 公司的 CC2530芯片,此芯片具有增强型 8051CPU,系统内部可以编程闪存,且其具有4种不同的闪存运行模式模式,可直接在片上系统进行编程且代码移植性好,技术成熟,成本低等优势让其成为目前 ZIGBEE 开发的主流芯片。
3.2 温湿度监测模块
通过DHT11温湿度传感器实时采集数据并通过 Zigbee 网络传输给网关。DHT11具有快速响应、全程测量、数字输出等优点。
3.3 继电器控制模块
主要由继电器和简单的`电路构成,用于接收动作命令控制大功率家电设备。
3.4 电路检错模块
电路检错模块独立封装,用于检测设备是否正常,检错电路工作原理:协调器获得开灯指令后,如果电路输出为高电压状态,即设备损坏或电路接触不良等,则客户端和主控制器检错指示灯亮,提醒用户检查电路情况。
4 软件实现
4.1 硬件系统工作流程
设备开始运行先进行初始化,然后尝试连接到云平台,如果没有连接成功则写入日志并再次尝试,三次之后若还没有成功则对用户做出反馈。硬件设备成功连接到网络之后开始等待指令,得到指令之后立即执行指令,成功则继续等待执行下一条指令,如果执行不成功则记录到日志并对用户做出反馈。用户可以随时查看设备日志,方便发现问题并解决问题。
4.2 云平台设计实现用
服务器采用 Node.js 技术实现。Node.js 是一个可以让服务器运行 javascript 脚本的平台,使 javascript 可以像 PHP、Perl、Ruby、Python 等语言一样不需要依赖于浏览器运行。 Node.js 是为实时 WEB 而生,在构建之初就考虑在实时响应、超大规模数据要求下架构的可扩展性。
Node.js的特点是单线程、异步 IO、事件驱动,这种程序设计模型的优点是性能优异、开发效率高[10]。目前 Node.js 凭借其优秀的特性吸引了一大批开发者和公司,形成了一个庞大的生态系统。成千上万的第三方模块让 Node.js 开发更加高效,因此我们选择采用 Node.js 技术构建智能家庭系统的服务器平台。
4.3 客户端设计实现
通过服务器提供的 API,可以很方便实现各个平台的客户端。为了减少开发周期和尽可能多的适配客户端,我们选择先实现自适应的 WEB 客户端。采用WEB 技术实现客户端,可以一次开发多种
客户端适配,不同尺寸、不同平台的设备都可以得到一个完美的呈现。
5结束语
本文是在参考了其他智能家庭实现方案的基础上,进一步简化流程和优化操作之后设计的一种智能家庭解决方案。相比以往Zigbee网络的智能家庭系统,主要增加了HTTP协议支持,让用户随时随地掌控家庭;采用RESTful风格设计,方便设备连接和二次开发,加入云平台的概念,给智能家庭带来无限可能。目前系统存在的不足是服务器端无法直接发起会话,后期会通过mqtt协议解决这个问题。
【基于WSN 智能家庭温湿度监测系统设计论文】相关文章:
本文来源:https://www.010zaixian.com/shiyongwen/2476948.htm