基于ZigBee和RaspberryPi的智能家居系统的制作方法

文档序号:15730511发布日期:2018-10-23 17:10阅读:191来源:国知局

本实用新型涉及无线传感器网络通信技术领域,尤其涉及基于ZigBee和Raspberry Pi的智能家居系统。



背景技术:

随着智能家居市场的推广和人们消费习惯的培养,智能家居消费市场的潜力巨大,有着光明的前景。随着传感器技术、嵌入式系统和无线通信技术的进步以及智能手机的普及,也推动了物联网智能家居技术的蓬勃发展。目前物联网智能家居的三大技术发展趋势:1)网络的发展;2)无线技术;3)嵌入式微型系统的手持终端控制。

传统的家居智能控制系统有以下几种形式:有线方式,同轴电缆,USB,CAN总线。但有线网络具有布线复杂,扩展性差等固有特点,限制了智能家居系统朝网络技术发展的方向,因此在家庭网络中使用的无线网络技术已成为家居发展的趋势。相比于传统的有线智能家居,无线智能家居把通讯方式从繁杂布线的束缚中解脱出来,不仅让人们能够更加灵活的用双手掌控生活,更是促进了家居控制网络向无线智能化迈了一大步。

在智能家居领域,由于平台和组网方式的多样化,导致了智能家居的实现方案也是多样化的。就目前智能家居市场来看,嵌入式微型系统的手持终端也是各式各样,但也不免有些许缺点。例如:1.界面的单一化,以及手持控制终端功能单一化,也满足不了使用者需求;2.当前市面上所谓的智能家居基本上还是传统的家电设备,没有统一的设备接口,没有统一的协议标准,虽然也出现了一些半智能的家居控制,但他们都是独立存在的单元。针对现有技术的上述问题,目前尚未提出有效的解决方案。



技术实现要素:

有鉴于此,本实用新型提供了基于ZigBee和Raspberry Pi的智能家居系统,采用ZigBee无线通信技术和Raspberry Pi开发板相结合,智能网关可以自动添加家庭新设备到家庭内部网络内,弥补了目前由于各家厂商接口标准不统一而造成的新设备加入家居控制网络困难的问题。

为了达到上述目的,本实用新型采用如下技术方案:基于ZigBee和Raspberry Pi的智能家居系统,所述基于ZigBee和Raspberry Pi的智能家居系统包括网关平台和家庭终端节点,所述网关平台可以智能添加所述家庭终端节点;所述网关平台包括Raspberry Pi开发板和ZigBee协调器开发板,所述ZigBee协调器开发板包括WiFi模块和串口芯片,所述Raspberry Pi开发板通过所述串口芯片直连所述ZigBee协调器开发板来实现通信;所述家庭终端节点包括至少一个ZigBee终端开发板,所述ZigBee终端开发板上安装有至少一个传感器,所述ZigBee协调器开发板和所述家庭终端节点之间通过ZigBee通信协议来通信;所述Raspberry Pi开发板上安装有操作系统和基于所述操作系统开发的上位机应用程序,以供用户控制所述家庭终端节点。

进一步地,用户还可以通过智能设备控制所述家庭终端节点,所述智能设备通过所述WiFi模块进行数据交互,以实现对所述家庭终端节点的远程控制。

进一步地,所述Raspberry Pi开发板安装有Linux操作系统,且利用QT工具包开发基于Linux操作系统的所述上位机应用程序。

进一步地,所述Raspberry Pi开发板包括基于ARM的微型电脑主板。

进一步地,所述传感器包括气体传感器、温湿度传感器、人体红外传感器、光敏传感器、烟雾报警传感器中的一种或几种。

进一步地,所述ZigBee协调器开发板和所述家庭终端节点均通过USB接口上电。

进一步地,所述ZigBee协调器开发板和所述ZigBee终端开发板均采用CC2530芯片。

本实用新型的实施例提供的技术方案带来的有益效果是:

(1)本实用新型的网关平台采用ZigBee技术和功能丰富的Raspberry Pi开发板相结合,使用户可以自定义的添加智能家居终端设备,从而丰富了智能家居网关的功能,并且提高了其实用价值,比较满足消费者的需求;

(2)本实用新型的网关设备主控模块是由ARM Cortex-A53嵌入式处理器,Broadcom BCM2837芯片和少量外围电路构成完整的控制系统,充分利用了嵌入式处理器内部资源,使系统硬软件设计达到了最小化,具有硬件电路模块化,抗干扰能力强,成本低廉和体积小巧的优点;

(3)本实用新型的系统的上位机界面采用QT开发的,可以便于移植到其他的操作系统上。

附图说明

图1是本实用新型的基于ZigBee和Raspberry Pi的智能家居系统的组成框架图;

图2是本实用新型的ZigBee体系结构图;

图3是本实用新型的Z-stack协议栈开发平台;

图4是本实用新型的基于ZigBee和Raspberry Pi的智能家居系统的控制方法的流程图;

图5是本实用新型的家庭终端节点自动入网的流程图;

图6是本实用新型的网关平台智能添加家庭终端节点的流程图;

图7是本实用新型的上位机图形界面开发平台;

图8是本实用新型的上位机图形界面首页;

图9是本实用新型的上位机图形界面设置界面;

图10是本实用新型的上位机图形界面家居控制界面;

图11是本实用新型的上位机图形界面客厅界面;

图12是本实用新型的上位机图形界面厨房界面。

图中,1-网关平台,11-Raspberry Pi开发板,111-CPU,112-操作系统,113-上位机应用程序,12-ZigBee协调器开发板,121-WiFi模块,122-串口芯片,2-家庭终端节点,21-第一ZigBee家庭终端,22-第二ZigBee家庭终端,23-第三ZigBee家庭终端,24-第四ZigBee家庭终端,2n-第nZigBee家庭终端,211-第一传感器,221-第二传感器,231-第三传感器,241-第四传感器,2n1-第n传感器,3-智能设备,31-应用程序。

具体实施方式

为使本实用新型的目的、技术方案和优点更加清楚,下面将结合附图对本实用新型实施方式作进一步地描述。

图1所示的是本实用新型基于ZigBee和Raspberry Pi的智能家居系统的组成框架图,所述基于ZigBee和Raspberry Pi的智能家居系统包括网关平台1和家庭终端节点2,所述网关平台1可以智能添加所述家庭终端节点2。所述网关平台1包括Raspberry Pi开发板11和ZigBee协调器开发板12。其中,所述ZigBee协调器开发板12是集合了WiFi模块121、串口芯片122等的开发板。优选的,所述ZigBee协调器开发板12可以采用CC2530芯片,所述WiFi模块121可以是ESP8266WiFi模块,所述串口芯片122可以是CH341串口芯片。所述WiFi模块121可以实现与智能设备3的数据交互,用户使用所述智能设备3上设计好的应用程序31就能轻松的控制各个家庭终端了。所述智能设备3包括安装有Android或iOS操作系统的手机或平板电脑等,用户通过WiFi或移动网络打开并登录所述应用程序31,可以查看数据,还可以发送对应指令给所述家庭终端节点2。

所述Raspberry Pi开发板11包括CPU111。优选的,所述Raspberry Pi开发板11可以采用Broadcom BCM2837芯片,所述CPU111可以是ARM Cortex-A53 1.2GHz 64-bit quad-core ARMv8。所述Raspberry Pi开发板11通过所述串口芯片122,串口直连所述ZigBee协调器开发板12来实现通信。在所述Raspberry Pi开发板11上安装有操作系统112(例如Linux操作系统)和基于所述操作系统112开发的上位机应用程序113,例如下载QT工具包就可以开发基于Linux操作系统的上位机应用程序113,并且所述上位机应用程序113也可以很方便的移植到其他操作系统上,用户可通过所述上位机应用程序控制所述家庭终端节点2。所述Raspberry Pi开发板11是一款基于ARM的微型电脑主板,以SD/MicroSD卡为内存硬盘,有至少一个USB接口(例如4个)和一个10/100以太网接口,还可以连接键盘、鼠标和网线,同时还拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口,以上部件全部整合在一张主板上,具有所有PC(personal computer,个人计算机)的基本功能。

所述家庭终端节点2也就是智能家居终端设备,所述家庭终端节点2包括至少一个ZigBee终端开发板,也即图1中的第一ZigBee家庭终端21、第二ZigBee家庭终端22、第三ZigBee家庭终端23、第四ZigBee家庭终端24……第n ZigBee家庭终端2n,所述ZigBee终端开发板还可以安装至少一个传感器,也即图1中分别对应的第一传感器211、第二传感器221、第三传感器231、第四传感器241……第n传感器2n1,每个ZigBee终端开发板按照实际需求安装各式各样的传感器,所述传感器用于采集所需的参数数据。优选的,所述ZigBee终端开发板也可以采用CC2530芯片。所述传感器包括但不限于气体传感器、温湿度传感器、人体红外传感器、光敏传感器、烟雾报警传感器等。所述ZigBee协调器开发板12和所述家庭终端节点2均可以通过USB接口上电,所述ZigBee协调器开发板12和所述家庭终端节点2之间通过ZigBee通信协议来通信。

所述基于ZigBee和Raspberry Pi的智能家居系统的工作原理是:首先是给所述基于ZigBee和Raspberry Pi的智能家居系统上电,ZigBee组网,所述家庭终端节点2自动入网,至少一个ZigBee家庭终端(例如所述第一ZigBee家庭终端21、所述第二ZigBee家庭终端22、所述第三ZigBee家庭终端23、所述第四ZigBee家庭终端24……所述第n ZigBee家庭终端2n)分别采集室内的参数数据,通过ZigBee传输协议将采集的所述参数数据传输给所述ZigBee协调器开发板12,所述ZigBee协调器开发板12基于所述串口芯片122,通过串口通信传输给所述Raspberry Pi开发板11的上位机界面,实时显示所述参数数据,当其超过或低于预设阈值时,启动报警或触发某一事件发生。反过来,通过点击所述Raspberry Pi开发板11的上位机的控制按钮,产生的按钮指令通过串口通信传给所述ZigBee协调器开发板12,所述ZigBee协调器开发板12通过传输协议发送给各个所述家庭终端节点2,以达到通过上位机界面来控制下位机的终端设备的作用。与此同时,所述智能设备3也可以通过所述WiFi模块121进行数据交互,以达到远程控制家庭终端的作用。

由于家庭内部的无线网络连接距离较短,一般在几十米内,家电的位置和数量也容易改变,信息传送也主要集中在网关和家电之间的点对点通信,因此在本实用新型中,优选的,所述ZigBee组网采用的是星型网络作为网关的网络拓扑,所述星型网络具有结构简单、易于维护、成本低廉、容易扩充和管理的优势。ZigBee组网的无线网络,以下简称“网络”。

图2所示的是ZigBee的网络体系中的五层结构,包括从上至下依次设置的应用程序框架层、应用支持子层(APS)、网络层(NWK)、媒体介质访问层(MAC)和物理层(PHY),最底层的物理层和媒体介质访问层是由IEEE制定的,遵从802.15.4协议标准;最上层的应用程序框架层是由终端商制定的,应用开发在此层上完成;中间的应用支持子层和网络层由ZigBee联盟制定。

Z-stack协议栈作为ZigBee技术的核心,是符合ZigBee协议栈规范的一个硬件平台和软件平台,图3所示的是所述Z-stack协议栈应用集成开发环境IAR Embedded Workbench for MCS-51,在所述Z-stack协议栈中有一个用户可见的调度程序,叫做操作系统抽象层(Operating System Abstraction Layer,OSAL),用户通过所述操作系统抽象层可以调用系统封装的API接口(Application Programming Interface,应用程序编程接口)进行开发。其中协议栈的具体实现细节已经被封装在系统的库代码中了。在ZigBee协议栈中各层的通信和操作是通过原语来完成的,所述原语是从上至下一条一条执行的并返回执行的结果,因此,所述Z-stack协议栈是一个基于轮询机制的操作系统。

开发一个ZigBee无线通讯项目的一般步骤可以总结为三点:1.组网:协调器调用组网函数实现网络的建立,节点调用加入网络函数完成加入网络操作;2.数据格式的制定和发送:需要制定固定的数据格式来装载需要发送的数据,以便接受段进行处理,同时发送节点调用协议栈的无线发送函数实现无线数据的发送;3:数据的接收和发送:接收节点调用协议栈的无线数据接收函数接收发送过来的数据,并对这些数据进行分门别类的处理。因此,所述ZigBee协调器开发板12为本实用新型中所述网络的核心,在所述基于ZigBee和Raspberry Pi的智能家居系统上电后,由所述ZigBee协调器12启动所述网络。

如图4所示,本实用新型的基于ZigBee和Raspberry Pi的智能家居的控制方法,包括如下步骤:

步骤101:给所述基于ZigBee和Raspberry Pi的智能家居系统上电;

步骤102:ZigBee组网;

步骤103:所述家庭终端节点2自动入网;

步骤104:所述网关平台1监测到入网的所述家庭终端节点2,智能添加所述家庭终端节点2。

图5所示的是步骤103中所述家庭终端节点2自动入网的流程,包括如下步骤:

步骤201:查找网络:所述家庭终端节点2上电后,首先主动查找周围是否有建立好的网络;

步骤202:判断是否检测到网络:如果所述家庭终端节点2检测到所述网络就进入步骤203,否则回到步骤201,所述家庭终端节点2在一段时间后重新发起扫描进行查找;

步骤203:发送关联请求命令(Associate request command):所述家庭终端节点2发送关联请求命令给与所述网络对应的所述ZigBee协调器开发板12,并在选择好网络后对PIB(PAN information Bank)属性进行设置;

步骤204:判断是否允许关联请求:所述ZigBee协调器开发板12收到关联请求命令后,首先回复一个确认帧,同时向上层发送连接指示原语,当上层收到此原语后会根据自身的储存空间和能量情况来决定是否允许所述家庭终端节点2的加入请求;如果允许则进入步骤205,否则回到步骤203,所述家庭终端节点2会重新发送请求信息;

步骤205:等待协调器处理:当所述家庭终端节点2接收到所述ZigBee协调器开发板12发送的ACK后,会等待一段时间,如果在此期间又接收到所述ZigBee协调器开发板12发送过来的连接响应,所述家庭终端节点2会向上层报告该连接响应;此时,所述ZigBee协调器开发板12也会设置一个响应时间来处理加入请求命令,如果资源足够,所述ZigBee协调器开发板12会直接给所述家庭终端节点2分配一个16bit的短地址,完成和所述家庭终端节点2连接的建立;

步骤206:发送数据请求命令:在步骤205中,所述ZigBee协调器开发板12会产生关联响应命令,当响应时间过后,所述家庭终端节点2会发送数据请求命令给所述ZigBee协调器开发板12;

步骤207:判断是否允许数据请求:所述ZigBee协调器开发板12会根据自身的储存空间和能量情况来决定是否允许所述家庭终端节点2的数据请求,如果允许则进入步骤208,否则回到步骤206,所述家庭终端节点2再次发送数据请求命令;

步骤208:入网成功:所述ZigBee协调器开发板12会立即回复ACK,并将关联响应命令发给所述家庭终端节点2,所述家庭终端节点2收到关联响应命令后立即回复一个ACK给所述ZigBee协调器开发板12,此时所述家庭终端节点2已经获得所述ZigBee协调器开发板12分配的短地址和扩展地址,至此关联加入网络成功。

图6所示的是步骤104中所述网关平台1监测到入网的所述家庭终端节点2,智能添加所述家庭终端节点2的流程图,包括如下步骤:

步骤301:首先ZigBee组建好网络之后,当有新的所述家庭终端节点2加入时(所述家庭终端节点2自动入网),所述家庭终端节点2会把自身携带的信息(包括但不限于设备地址、设备类型、设备名称、设备编号和设备控制指令)发送给所述ZigBee协调器开发板12,其中,设备地址是所述ZigBee协调器开发板12自动分配给所述家庭终端节点2的,设备类型、设备名称、设备编号和设备控制指令都是用户事先设计好的写入终端程序里的;

步骤302:所述ZigBee协调器开发板12接收到所述信息后,通过串口连接发送给所述网关平台1,此时所述网关平台1一直处于监听状态,只要收到所述ZigBee协调器开发板12发过来的所述信息,就会对所述信息进行解析;

步骤303:获取所述家庭终端节点2的设备类型,判断家庭里面是否已有此类型,如果有,也即所述家庭终端节点2为旧类型,则进入步骤304,否则进入步骤305;

步骤304:获取所述家庭终端节点2的地址,绑定所述旧类型的一套设备控制指令,并把所述家庭终端节点2的图标添加到所述旧类型菜单组下以完成添加;

步骤305:如果没有,也即所述家庭终端节点2为新设备类型,则首先获取所述新设备类型的控制指令,并在界面类型菜单组下添加所述新设备类型图标;

步骤306:为所述新设备类型的控制指令选择一套按键布局与之绑定;

步骤307:获取所述新设备类型的地址,并在所述新设备类型的界面下添加设备图标以完成所述新类型设备的添加。

本实用新型中,可以采用多种方法开发基于所述操作系统112的所述上位机应用程序113,例如基于java的安卓手机应用程序开发、基于Java的Eclipse开发平台、基于C#的VS2008开发平台、基于C#/C++的Visual Studio开发平台。优选的,本实用新型采用基于C++的QT工具包开发基于Linux操作系统的所述上位机应用程序113,QT具有如下优势:(1)QT是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler,moc))以及一些宏,易于扩展、允许组件编程;(2)QT具有丰富的API和良好的封装性,方便用户开发;(3)QT提供了一种称为signals/slots的安全类型来替代callback,简化了各个元件之间的协同工作;(4)支持多种操作系统,如Microsoft Windows 95/98、Microsoft Windows NT、Linux、Solaris、SunOS、HP-UX、Digital UNIX(OSF/1,Tru64)、Irix、FreeBSD、BSD/OS、SCO、AIX、OS390、QNX等。图7所示的是跨平台的C++图形用户界面应用程序开发框架的工具——QT,QT既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。

图8所示的是在Raspberry Pi运行的智能家居系统的上位机图形界面的首页,分别显示当前的时间和日期,还有设置和其他控制按钮(例如家居控制、模式选择等)。图9所示的是设置界面,也即串口连接界面,自动识别设备的串口号,打开所述串口芯片122实现串口通信。这个界面也是开启串口通信大门的钥匙,下位机的所有数据传输都要通过这里上传到上位机界面。图10所示的是家居控制界面,为了方便理解,以卧室、客厅、厨房和安防四个部分为例,这四个部分也就分别对应图1中的第一ZigBee家庭终端21,第二ZigBee家庭终端22,第三ZigBee家庭终端23,第四ZigBee家庭终端24,每个终端可根据需求安装不同的传感器,例如在厨房中安装烟雾报警传感器。图11和图12所示的分别是客厅和厨房的界面,客厅内的当前温度和当前湿度如果超过用户自定义的预设温度和预设湿度,便会向用户界面发送提示信息,如果厨房的当前烟雾浓度超过了预设烟雾浓度,便会出现报警信息。

本实用新型的实施例提供的技术方案带来的有益效果是:

(1)本实用新型的网关平台采用ZigBee技术和功能丰富的Raspberry Pi开发板相结合,使用户可以自定义的添加智能家居终端设备,从而丰富了智能家居网关的功能,并且提高了其实用价值,比较满足消费者的需求;

(2)本实用新型的网关设备主控模块是由ARM Cortex-A53嵌入式处理器,Broadcom BCM2837芯片和少量外围电路构成完整的控制系统,充分利用了嵌入式处理器内部资源,使系统硬软件设计达到了最小化,具有硬件电路模块化,抗干扰能力强,成本低廉和体积小巧的优点;

(3)本实用新型的系统的上位机界面是采用QT开发的,可以便于移植到其他的操作系统上。

在不冲突的情况下,本文中上述实施例及实施例中的特征可以相互结合。

以上所述仅为本实用新型的较佳实施例,并不用以限制本实用新型,凡在本实用新型的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本实用新型的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1