一种基于云服务及ZigBee技术的智能家居系统及其设计方法_2

文档序号:9600889阅读:来源:国知局
操作不同即可。
[0031]步骤3-4,设置状态机,在状态机中判断帧头和数据包原地址是否来自协调者,然后进行命令解析,调用在步骤3-3种所设置的动作,进行控制或者查询,在整个状态机中,首先要将接收到的命令进行分析,第一要务便是确定帧头是否为0X7f且命令是否来自协调者,即确定其发送数据的源地址是否为0x0000,如果帧头或者源地址确定失败,则节点自带LED2会一直亮着,,如果确定成功的话,会在返回缓存数组中存入帧头0x7f,然后进行检验设备类型,是否为步骤3-1中相应的设备类型,如果对所有的设备类型都无法匹配的话,那么返回缓存数组会在设备类型这栏中存入0x6f,即代表设备类型选择错误,如果能够匹配到相应的设备的话,就会去检验命令类型,根据不同命令类型可以去执行不同的动作,当然如果发送的数据中的没有该项,那么会在该栏中存入0x6f,以提示命令的错误。当进入命令类型选择成功后,便是对命令控制的类型解析,针对终端需要什么动作,,然后再去解析设备ID号,需要针对哪个外设进行控制,当然在状态机前会根据房间号以确定哪个房间的设备。注意在查询命令的时候,终端会在命令类型一栏中返回查询应答,而在控制命令执行的时候,终端会在命令类型一栏中返回控制应答,这样以确保控制与查询的准确性。最后通过步骤2-1所提及的网络传输回调函数,将返回缓存数组的所有内容全部都返回给协调者。
[0032]进一步的,上述本发明的步骤4包括:在Andr1d系统下的家庭网关,当启动智能家居系统的服务器应用后就可以进行NDK的监听,NDK监听包含串口波特率设置,串口输入流,输出流的设置,让相关Activity继承NDK的类得以监听串口发送的相关数据以及发送相关的命令模式。
[0033]进一步的,上述本发明步骤4实现包括以下步骤:
[0034]步骤4-1,建立相关的NDK编辑器:
[0035]在设置NDK的时候需要Eclipse建立一个专门用于编译C/C++的编译器,在NDK版本7以后,就已经集成了这样的编译器。在工程目录选择Properties,新建一个Builder,在Main选项卡中选择相应的NDK编译器,例如目录:D: \xxx\ndk_build.cmd,然后选择相关的工程目录。
[0036]步骤4-2,建立NDK相关的C语言文件:在Jni目录中建立自己的NDK串口通信文件,申明Linux文件描述符,串口速率和java的文件描述,通过回调函数得到所设置的波特率并判断其是否成功获取了波特率,接着打开在回调函数中所串口的地址,用Linux文件描述符打开文件,并将回调函数中地址转变UTF-8格式。在得到串口地址与波特率数值的情况下,还需要对串口进行初始化设置。串口的配置与Linux中的term1s结构体配置一样,输入相应的波特率即可,原因在于该发明所使用的家庭网关搭载了安卓系统,而安卓系统源自Linux,因而其设置是相同的。
[0037]步骤4-3,在设置好串口之后,豕庭网关设备端就可以通过串口与ZigBee协调者进行通信,在家庭网关的NDK文件中需要对使用的NDK应用进行申明,即引用在步骤4-1生成的 libs 文件,其具体申明为 “static {System.loadLibrary (〃serialport-jni〃)
[0038]步骤4-4,在完成了串口的库引用申明后,需要在回调函数里输入串口端口号和串口波特率,使步骤4-2能够得到相关信息来打开串口,得到串口的输入输出流,进行写入数据与读取数据。
[0039]步骤4-5,可以让Activity继承相关的串口初始化文件,在串口初始化文件中开辟线程来监听ZigBee协调者的数据,而监听是通过监听线程中断islnterrupted ()函数来进行监听的,如果接到数据,就会将所得数据通过函数回调的方式暴露给应用,然后通过调用这个回调函数解析ZigBee的命令得到相关的操作信息,并通过UI线程进行UI操作。
[0040]进一步的,上述本发明的步骤5包括:在服务器上安装WampServer,该软件直接集成了 Apache、PHP和MySql的服务器软件,将写好的PHP后台文件放在D:\software\wamp\www\smarthome 下,注意 wamp 是 WampServer 安装目录。
[0041]进一步的,上述本发明步骤5实现包括以下步骤:
[0042]步骤5-1,首先要设置编码格式,接着选择相应的数据库表单,输入相关的数据库用户名,密码等信息,从而连接MySQL数据库。
[0043]步骤5-2,为了使后台数据与家庭网关数据能够相同,需要对不同的信息设置更改接口与状态信息接口:
[0044]1)设置状态信息更改接口,首先需要设置接口的编码方式utf-8,以防止家庭网关及手机接收的信息不出现乱码的情况,预设所有的设备相关值均为0,接着使用php的get方法来获取当前状态下的状态,然后连接数据库,使用sql语句将相关信息插入到相关的表单,在插入数据后关闭数据库,最后以json格式的返回是否插入成功。
[0045]2)设置状态信息接口,首先需要设置接口的编码方式utf-8,以防止家庭网关及手机接收的信息不出现乱码的情况,连接数据库,从相应的表单中取出与家庭网关同步的设备状态,以json格式的返回当前设备状态,然后关闭数据库。
[0046]步骤5-3设置好命令接受发送信息:
[0047]1)设置接收命令接口,首先需要设置接口的编码方式utf-8,以防止家庭网关及手机接收的信息不出现乱码的情况,将步骤3-1的命令使用php的get方法来获取命令信息,接着使用php的get方法来获取当前状态下的状态,然后连接数据库,使用sql语句将相关信息插入到相关的表单,在插入数据后关闭数据库,最后以json格式的返回是否插入成功。
[0048]2)发送命令接口:首先需要设置接口的编码方式utf-8,以防止家庭网关及手机接收的信息不出现乱码的情况,连接数据库,从相应的表单中取出接收命令接口,以json格式的返回,然后关闭数据库。
[0049]家庭网关会实时地监听该接口,该接口的数据也只有10秒钟有效,因而家庭网关每9秒请求一次,保证命令的及时性。
[0050]有益效果:
[0051]本发明设计出一种有云服务的智能家居系统,而且是采用Android操作系统作为手机客户端,Apache作为Web服务器,MySql作为数据库,Android平台作为家庭网关的具备云服务的智能家居系统。该系统在符合智能控制基本家电的基础上,还具备提及体积小,远程控制,简单容易操作,友好界面操作,易于移植的特点,最终还需要通过此平台对智能家电进行控制设计出相关的电路。该方案不仅包含了硬件测试平台的设计,而且还包含了软件设计模块,包括:
[0052](1)根据调查现今智能家居系统正在向可拓展性高,使用简单,低功耗的发展趋势,在硬件平台上使用目前较为广泛使用的ZigBee技术,并且通过Android设备端实时展现当前的房间状态,并将该状态,通过HTTP请求传递到相应的服务器上,然后使用Android手机客户端与服务器进行通讯,实现人机交互,使用户得到友好的交互界面。
[0053](2)为了能够实现短途房间控制及远程控制能力,本发明所采用的是当下流行的无线网传感网络技术中的ZigBee技术及云服务平台Apache,通过ZigBee技术可以在房间内进行较为短途的传输数据,且ZigBee技术与W1-Fi不存在IP冲突现象,保证了家庭网络的可靠性与速率,云服务平台提供了非常好的远程控制能力,只要通过相关的云服务接口,就能够轻松控制各类终端家电。
[0054](3)硬件设计已经成为一个模块化,能够通过模块化的硬件进行相关修正,确保其成为产品时能够统一只生产一个模块,而且其他不同模块功能够在同一个模板模块上得到定制。这使得本系统的可扩展性更强,维护更为简易,即在硬件上预留各类接口,用户可以根据自己的需求连接相关设备进行控制,例如当用户又在房间内添加了新的家用电器,需要该家用电器进行电源控制,用户就可以直接将该家用电器的电源设备与相关预留继电器模块相连即可。软件采用层次化设计确保了通用性,这使得整个系统的软硬件的适用性很强。
[0055](4)Android系统确保了用户不仅仅可以在自己智能手机上对设备进行操作,家庭网关也可使用户在家对住宅内的家电进行控制,使用户能够更加简便地操作设备。
【附图说明】
[0056]图1为本发明系统总体框架图。主要介绍系统的总体框架,系统包含家庭网关,月艮务器,手机客户端,其中家庭网关包含ZigBee协调者,服务器包含了 MySql数据库。
[0057]图2为本发明硬件框架图。主要介绍一个ZigBee终端上包含的模块,当然在整体系统中可以有多个ZigBee终端,它们均可与ZigBee协调者进行连接,从而达到控制的基本硬件框架,ZigBee协调者可以与家庭网关处理器进行数据通信后,通过W1-Fi模块进行数据的发送。
[0058]图3为本发明软件框架图。主要介绍整个系统大体的软件实现流程,包含了ZigBee终端模块软件编写,ZigBee协调者收集数据模块编写,NDK软件通讯及家庭网关软件的编写,服务器Apache建立与数据库连接调用的编写以及上位机客户端应用程序的编写。
[0059]图4为本发明家庭网关W1-Fi接口原理图。
[0060]图5为本发明家庭网关串口接口原理图。
[0061]图6为本发明ZigBee终端节点设计原理图。该原理图为通用终端节点设计图,包括LED,温度,光强,烟雾,电源设计,ZigBee节点接口,DEBUG接口以及给出的所有I/O 口,生产产家可以根据需求对相关的节点进行直接连接即可。
[0062]图7为本发明ZigBee组网数据传输步骤图。
[0063]图8为本发明示例ZigBee节点网络映射表。本图主要举出相应的网络映射表,特别是节点短地址是完全不定的
[0064]图9为本发明家庭网关控制监听流程图。
[0065]图10为本发明手机客户端流程图。
[0066]图11为本发明家庭网关设备初始化界面图。在启动家庭网关应用会启动此界面。
[0067]图12为本发明家庭网关设备初始化成功界面图。当该系统将所有的节点信息查询后,并且查询成功后,可进入此界面,当然在检查的过程中,如有设备不成功即可得到相关提不。
[0068]图13为本发明家庭网关客厅界面图。可显示当前客厅的所有设备状况,可以通过点击按钮进行对客厅的设备进行操作。
[0069]图14为本发明家庭网关卧室界面图。可显示当前卧室的所有设备状况,可以通过点击按钮进行对卧室的设备进行操作。
[0070]图15为本发明家庭网关厨房界面图。可显示当前厨房的所有设备状况,可以通过点击按钮进行对厨房的设备进行操作。
[0071]图16为本发明手机客户端主界面图。启动该应用时所进入的主界面,需要用户进行登录。
[0072]图17为本发明手机客户端登录界面图。需要用户输入正确的用户名和密码。
[0073]图18为本发明手机客户端使用主界面图。分别可进入客厅、卧室、厨房等控制界面。
[0074]图19为本发明手机客户端客厅控制界面图。可显示当前客厅的所有设备状况,可以通过点击按钮进行对客厅的设备进行操作。
[0075]图20为本发明手机客户端卧室控制界面图。可显示当前卧室的所有设备状况,可以通过点击按钮进行对卧室的设备进行操作。
[0076]图21为本发明手机客户端厨房控制界面图。可显示当前厨房的所有设备状况,可以通过点击按钮进行对厨房的设备进行操作。
【具体实施方式】
[0077]下面结合说明书附图对本发明创造作进一步的详细说明。
[0078]—种基于云服务及ZigBee技术的智能家居系统,
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1