快速升级智能家居中ZigBee控制器的方法及系统与流程

文档序号:17531064发布日期:2019-04-29 13:31阅读:215来源:国知局

本发明涉及ZigBee(基于IEEE802.15.4标准的低功耗局域网协议,又称紫蜂协议)智能家居控制器领域,具体涉及一种基于家庭网关的快速升级智能家居中ZigBee控制器的方法及系统。



背景技术:

随着互联网技术的发展,智能家居已经成为物联网的主要应用场景。智能家居系统一般是指利用计算机网络通信技术将与家居生活有关的各种各样的设备有机地结合在一起,通过便捷的操作,让家居生活更加舒适、快捷、安全和节能。与传统的家居相比,智能家居不仅仅具有传统的居住和实用功能,还提供舒适安全、高品位的家庭生活空间,并且提供全方位的信息交换功能,确保家庭内部与外界之间保持良好的交流与沟通,增强家居生活的安全性,节约能耗,帮助人们有效安排时间,优化人们的生活和工作方式。智能家居的解决方案较多,但是大多存在智能家居产品价格较高的问题。在传统网关的基础上,加入ZigBee控制器,将网关升级为智能家居控制中心,这种解决方案明显的降低生产、研发成本。

由于智能家居产品日新月异,这就要求ZigBee控制器的用户程序不断升级。和网关的在线升级不同,网关具有大容量的随机存储器,可以将升级的镜像文件缓存于随机存储器中,之后从随机存储器读取数据烧写闪存。而ZigBee控制器多为单片机系统,随机存储器容量小,闪存的容量往往大于随机存储器容量,无法通过下载完整镜像到随机存储器再写闪存的方法升级。升级ZigBee控制器的用户程序,通常需要其他处理器的支持。

目前,现有ZigBee控制器的用户程序一般在生产时烧写完成,用户程序的升级方法一般为:通过电脑上的专用烧写工具和专用调试接口进行升级。升级时,要首先将网关的外壳拆开,露出调试接口,将烧写工具通过飞线连接到调试接口,再通过配套的烧写软件将用户程序升级更新。

但是,现有的对ZigBee控制器用户程序的升级方法存在以下不足:

(1)升级ZigBee控制器的用户程序需要通过人工进行硬件的连接、以及软硬件烧写工具的配合,单次升级需要多个步骤,不仅操作过程比较复杂,而且在设备批量升级时耗时较多,升级效率较低。

(2)对于用户已经开始使用的ZigBee控制器,无法采用上述升级方法进行远程升级,设备可维护性差。

综上所述,现有的ZigBee控制器用户程序升级方法不能完全满足基于家庭网关的ZigBee控制器升级需求。基于家庭网关的ZigBee控制器需要一种自动、高效的升级方法。



技术实现要素:

针对现有技术中存在的缺陷,本发明解决的技术问题为:简化升级ZigBee控制器的用户程序的过程,提高升级ZigBee控制器的用户程序的效率。本发明能够实现对ZigBee控制器用户程序的远程升级,可维护性较高。

为达到以上目的,本发明提供的基于家庭网关的快速升级智能家居中ZigBee控制器的方法,该方法包括以下步骤:

S101:家庭网关获取ZigBee控制器的当前用户程序的版本后,判断ZigBee控制器的当前用户程序版本,与家庭网关中ZigBee控制器的用户程序版本是否相同,若是,则不需要升级;否则需要升级,转到S102;

S102:家庭网关控制ZigBee控制器跳转至Boot Loader运行,转到S103;

S103:家庭网关读取ZigBee控制器升级所需的用户程序镜像文件后,根据用户程序镜像文件数据和用户程序镜像文件的烧写地址组装成数据帧;家庭网关将组装的数据帧发送至ZigBee控制器,转到S104;

S104:ZigBee控制器根据烧写地址将正确的用户程序镜像文件数据写入闪存后,向家庭网关返回写入用户程序镜像文件数据的闪存地址,转到S105;

S105:家庭网关确认闪存地址正确后,若升级所需的用户程序镜像文件全部发送完成,转到S106;

S106:家庭网关控制ZigBee控制器在升级后的用户程序起始地址上运行该用户程序。

在上述技术方案的基础上,S103中所述组装成数据帧的具体流程为:家庭网关根据用户程序镜像文件数据得到对应的烧写地址,按照校验机制计算用户程序镜像文件数据的校验码,家庭网关将用户程序镜像文件数据、烧写地址和校验码组装成数据帧。

在上述技术方案的基础上,S104中所述正确的用户程序镜像文件数据的判断方法为:ZigBee控制器的Boot Loader对所述校验码进行校验,若校验成功,则用户程序镜像文件数据正确,否则zigbee控制器的Boot Loader返回错误至家庭网关后转到S103,家庭网关重新读取ZigBee控制器升级所需的用户程序镜像文件。

在上述技术方案的基础上,S103中所述家庭网关将组装的数据帧发送至ZigBee控制器后,还包括以下步骤:家庭网关以主动查询的方式等待ZigBee控制器的回复。

在上述技术方案的基础上,S103中所述家庭网关读取ZigBee控制器升级所需的用户程序镜像文件的具体流程为:家庭网关每次读取若干字节ZigBee控制器升级所需的用户程序镜像文件。

在上述技术方案的基础上,S105中若升级所需的用户程序镜像文件未全部发送完成,则继续执行S103。

在上述技术方案的基础上,S105中若家庭网关收到的闪存地址错误,则重新向ZigBee控制器发送S103中组装的数据帧。

在上述技术方案的基础上,S106之后还包括以下步骤:重新执行S101,确认升级是否成功。

在上述技术方案的基础上,S101之前还包括以下步骤:家庭网关上电,ZigBee控制器初始化。

本发明提供的用于上述方法的基于家庭网关的快速升级智能家居中ZigBee控制器的系统,该系统包括升级判定模块、Boot Loader运行模块、升级文件组装模块、升级文件写入模块、闪存地址确认模块和升级文件运行模块;

升级判定模块用于:控制家庭网关获取ZigBee控制器的当前用户程序的版本后,判断ZigBee控制器的当前用户程序版本,与家庭网关中ZigBee控制器的用户程序版本是否相同,若是,则不需要升级;否则需要升级,向Boot Loader运行模块发送Boot Loader运行信号;

Boot Loader运行模块用于:收到Boot Loader运行信号后,控制ZigBee控制器跳转至Boot Loader运行,向升级文件组装模块发送升级信号;

升级文件组装模块用于:收到升级信号后,控制家庭网关读取ZigBee控制器升级所需的用户程序镜像文件后,根据用户程序镜像文件数据和用户程序镜像文件的烧写地址组装成数据帧;将组装的数据帧发送至ZigBee控制器后,向升级文件写入模块发送升级文件写入信号;

升级文件写入模块用于:收到升级文件写入信号后,控制家庭网关根据烧写地址将正确的用户程序镜像文件数据写入闪存后,向家庭网关返回写入用户程序镜像文件数据的闪存地址,向闪存地址确认发送闪存地址确认信号;

闪存地址确认模块用于:收到闪存地址确认信号后,控制家庭网关确认正确的闪存地址,若升级所需的用户程序镜像文件全部发送完成,向升级文件运行模块发送升级文件运行信号;

升级文件运行模块用于:收到向升级文件运行信号后,控制ZigBee控制器在升级后的用户程序起始地址上运行该用户程序。

与现有技术相比,本发明的优点在于:

(1)本发明通过家庭网关自动对ZigBee控制器的用户程序进行升级,不仅操作过程比较简单,不需要人工参与,而且升级速度较快,耗时较短,升级效率较高。

(2)通过本发明的方法,能够实现对ZigBee控制器用户程序的远程升级,进而降低了对家庭网关产品的维护难度。

附图说明

图1为本发明实施例中的基于家庭网关快速升级智能家居中ZigBee控制器的方法的流程图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

参见图1所示,本发明实施例中的基于家庭网关快速升级智能家居中ZigBee控制器的方法,包括以下步骤:

S101:家庭网关的主控制器获取ZigBee控制器的当前用户程序的版本后,判断ZigBee控制器的当前用户程序版本,与家庭网关中ZigBee控制器的用户程序版本是否相同,若是,则不需要升级,结束,否则需要升级,转到S102。

S101之前还包括以下步骤:家庭网关上电,ZigBee控制器初始化(配置ZigBee控制器的串口、闪存等)。

S101的工作原理为:ZigBee控制器通过串口主处理器进行信息交互,为了实现自动升级功能,ZigBee控制器用户程序需要支持一些升级所需要的命令,其中包括版本号的查询命令。

S102:家庭网关的主处理器(以下简称主处理器)控制ZigBee控制器跳转至Boot Loader运行,转到S103。

S102的工作原理为:Boot Loader一般指在操作系统内核运行之前运行的一段程序。通过Boot Loader可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。

由于ZigBee控制器一般为单片机系统,不需要运行复杂的操作系统,因此ZigBee控制器没有Boot Loader也可以正常启动,而配置软硬件状态的功能则由一段启动代码实现。

但是,要实现基于串口的自动升级功能,需要ZigBee控制器用户程序中含有Boot Loader,用来配合网关主处理器实现用户程序的升级。此时的Boot Loader运行在用户程序之前。当ZigBee控制器的用户程序需要升级时,ZigBee控制器跳转至Boot Loader运行,用来接收和处理升级数据,并将数据写入闪存。

S103:主处理器读取ZigBee控制器升级所需的用户程序镜像文件后(每次读取若干字节),根据用户程序镜像文件数据和用户程序镜像文件的烧写地址组装成数据帧;主处理器将组装的数据帧发送至ZigBee控制器、并以主动查询的方式等待ZigBee控制器的回复(主动查询能够显著的加快升级效率,缩短升级时间),转到S104。

S103中组装成数据帧的具体流程为:主处理器根据用户程序镜像文件数据得到对应的烧写地址,按照校验机制计算用户程序镜像文件数据的校验码,主处理器将用户程序镜像文件数据、烧写地址和校验码组装成数据帧。

S104:ZigBee控制器根据烧写地址将正确的用户程序镜像文件数据写入闪存后,向主处理器返回写入用户程序镜像文件数据的闪存地址,转到S105。

S104中正确的用户程序镜像文件数据的判断方法为:ZigBee控制器的Boot Loader对校验码进行校验,若校验成功,则用户程序镜像文件数据正确,否则zigbee控制器的Boot Loader返回错误至主处理器转到S103,主处理器重新读取ZigBee控制器升级所需的用户程序镜像文件。

S105:主处理器确认闪存地址正确后(若闪存地址错误,则重新向ZigBee控制器发送S103中组装的数据帧),判断升级所需的用户程序镜像文件是否全部发送完成,若是,则升级完成,转到S106;否则升级未完成,继续执行S103,直至所有升级所需的用户程序镜像文件发送完成。

S106:主控制器控制ZigBee控制器在升级后的用户程序起始地址上运行该用户程序,Boot Loader终止,重新执行S101。

S106中重新执行S101是为了判断升级是否成功,若升级失败则转到S103重新升级。

本发明实施例中的基于家庭网关快速升级智能家居中ZigBee控制器的方法实施时,ZigBee控制器的软件主要包括三部分:启动程序、Boot Loader和用户程序。ZigBee控制器上电时,以上三部分依次运行;其中启动程序用来初始化ZigBee控制器的硬件;Boot Loader用来实现用户程序的升级功能;用户程序负责实现ZigBee通信的相关功能。

本发明实施例中的用于上述方法的基于家庭网关快速升级智能家居中ZigBee控制器的系统,与权利要求书中的描述相同,在此不做赘述。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

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