一种远程软件更新方法

来源:互联网 发布:linux如何挂载分区 编辑:程序博客网 时间:2024/05/16 19:24

发明名称:

一种远程软件更新方法

摘要:

一种远程软件更新方法,在目标硬件及U-boot引导软件环境下,将软件镜像通过远程通信方式下载到目标硬件,实现目标硬件上的包含操作系统与应用程序部分的非U-boot部分软件升级。这种更新方法,在上位机软件中实现对了对更新的软件版本记录管理、无线组网中的各相同硬件配置的节点软件更新状态管理。应用本方法,可以在特定的目标硬件环境下实现在目标硬件节点的操作系统与应用程序升级,避免了对每个硬件点的软件升级的人工操作,有效减少了开发、维护人员的工作量,降低运行维护成本。

权利要求书:

1.一种远程软件更新方法,包括如下步骤: (O针对传感器节点的硬件平台定制u-boot ; (2)将U-boot写入到网关节点的存贮器上; (3)后台服务器采用3G或GPRS或移动无线网络或WiFi或者以太网与传感器网络中的网关节点建立通信; (4)利用配套的开发工具链编译生成更新所用的软件镜像文件,并将该软件镜像文件部署到后台服务器上; (5)后台服务器向传感器各节点发出软件更新指令; (6)传感器节点收到更新指令后,节点系统自动重新启动,U-boot向后台服务器请求更新所需要的软件镜像文件,并将该文件写入节点上的存贮器; (7)写入操作完成后,节点系统重新启动,该节点向服务器端查询验证软件版本一致后发出更新成功状态数据,否则发出更新失败状态数据; (8)重复步骤(4)〜(7),直到网络中所有节点更新完毕。

2.如权利要求1所述的远程软件更新方法,其特征在于,所述存储器是片外存贮器芯片。

3.如权利要求1所述的远程软件更新方法,其特征在于,传感器网络中的各节点在通信链路上由近而远依次更新软件。

4.如权利要求1所述的远程软件更新方法,其特征在于,所述网关节点之间采用Zigbee 或 433Mhz 通信。

技术领域:

[0001] 本发明属于计算机嵌入式软件、物联网领域,具体涉及一种基于u-boot的物联网多节点硬件上的软件远程更新方法。

背景技术:

[0002] 软件更新,是指软件开发者在编写软件的时候,由于设计人员考虑不全面或程序功能不完善,在软件发行后,通过对程序的修改或加入新的功能后,再次发布并部署到目标系统的过程。

[0003] U-boot,即Universal BootLoader,是一个开源的系统引导软件。由开源项目PPCBoot发展起来的,ARMboot并入了 PPCBoot,和其他一些arch的Loader合称U-Boot。2002年12月17日第一个版本U-Boot-0.2.0发布。U-Boot提供两种操作模式:启动加载(Boot loading)模式和下载(Downloading)模式,并具有大型Boot Loader的全部功能。U-Boot受GPL授权协议保护。

[0004] 传感网络中的节点属于嵌入式系统类型,一般情况下,这些节点的系统的软件更新需要以RS232或JTAG接口方式,用有线电缆连接到上位机进行依次对每个节点的软件进行更新。一个传感网络由大量传感器节点构成,在整个传感网络部署以后,采用有线线缆连接依次对每个节点进行软件更新的方式难以操作,更新成本较高,影响了传感器网络的实际部署应用。

发明内容:

[0005] 为了解决在传感器网络环境下,各传感器节点的软件更新较为困难的问题,本发明提供一种基于U-boot的远程软件更新方法,其主要内容在于:

[0006] 一种远程软件更新方法,包括如下步骤:

[0007] (I)针对传感器节点的硬件平台,定制U-boot, U-boot能实现硬件平台的软件镜像下载、传输、写入、校验、无线通信及更新反馈等功能;

[0008] (2)将U-boot写入到网关节点的存贮器上;

[0009] (3)后台服务器采用3G或GPRS或移动无线网络或WiFi或者以太网与传感器网络中的网关节点建立通信;

[0010] (4)利用配套的开发工具链编译生成更新所用的软件镜像文件,并将该软件镜像文件部署到后台服务器上,由后台服务器管理软件进行管理;

[0011] (5)后台服务器向传感器各节点发出软件更新指令;

[0012] (6)传感器节点收到更新指令后,传感器节点系统自动重新启动,U-boot向后台服务器请求更新所需要的软件镜像文件,并将该文件写入网关节点上的存贮器;

[0013] (7)写入操作完成后,传感器节点系统重新启动,该节点向服务器端查询验证软件版本一致后发出更新成功状态数据,否则发出更新失败状态数据;

[0014] (8)重复步骤(4)〜(7),直到网络中所有节点更新完毕。[0015] 进一步地,所述存储器是片外存贮器芯片。

[0016] 进一步地,所述网关节点之间采用Zigbee或433Mhz通信

[0017] 进一步地,传感器网络中的各节点,在通信链路上由近而远依次更新软件。

[0018] 本发明提供了一种远程更新传感器网络的解决方案,针对特定的目标硬件平台的传感器节点,在该节点的Boot Loader上增加了软件更新的镜像文件传输、写入等功能,结合后台服务器的软件功能,从而实现整个传感器网络各节点的软件更新。

[0019] 本发明的创新点在于以下几方面:

[0020] 本发明为传感器网络中的各节点提供了一种基于非电缆连接的批量更新网络中各节点软件的方法。

[0021] 本发明在后台服务器上以软件方式实现了对目标节点更新软件的镜像管理。

[0022] 本发明在各传感器节点所用的U-boot上定制,新增了文件下载、校验、写入特定型号存贮器等功能。

[0023] 利用本方案,可以很方便的对传感器网络中的节点实现软件批量更新。

附图说明:

[0024] 图1为物联网网络连接示意图。

[0025] 1-后台服务器 2-传感器网络

[0026] 3-后台服务器与传感 器网络的通信方式4-传感器网络内Zigbee通信协议

[0027] 5-传感器网络网关节点 6-传感器节点

具体实施方式:

[0028] 下面结合附图对本发明提出的远程软件更新方法的具体过程进行详细描述。

[0029] 本发明方案的实现,分为两个阶段一即在传感器节点部署前的U-boot定制与整个传感器网络部署后的软件更新阶段。

[0030] (I)各节点部署前,对U-boot进行定制并写入到节点的存贮器上;

[0031 ] (2)部署后,利用配套的开发工具链编译生成更新所用的软件镜像文件,通过后台服务器向传感器网络各节点发出更新指令,依次对各节点上的非U-boot部分的软件进行更新,从而实现整个传感器网络节点的软件更新。

[0032] 本发明的技术方案具体如下:

[0033] U-boot定制。针对传感器节点的硬件平台,在U-boot上实现针对节点硬件存忙芯的镜像文件写入、文件传输、文件校验、无线通信等功能,增加实现对系统自动启动指令和镜像文件更新完成后,发送更新状态到后台服务器的功能。

[0034] 建立后台服务器与节点的通信。后台服务器采用3G或GPRS或移动无线网络或WIFi或者以太网与传感器网络中的网关节点建立通信,各节点采用Zigbee或433Mhz通信。

[0035] 应用与软件更新阶段工作。

[0036] 在各传感器节点部署完成,形成传感器网络后,需要对各传感器节点上的软件进行更新时,按以下流程执行:

[0037] 与传感器节点配套的工具链将更新后的程序编译成更新所用的镜像文件,并将该文件部署到后台服务器上,由服务器管理软件进行管理。[0038] 后台服务器向传感器各节点发出软件更新指令。

[0039] 传感器节点收到更新指令后,节点系统自动重新启动,U-boot向后台服务器请求更新所需要的软件镜像文件,并将该文件写入网关节点上的存贮器。写入操作完成后,节点系统重新启动,该节点向服务器端查询验证软件版本一致后发出更新成功状态数据,否则发出更新失败状态数据。传感器网络中的各节点,在通信链路上由近而远依次按此法更新软件,直到网络中所有节点更新完毕。

[0040] 下面结合附图和具体实施方式对本发明作进一步说明:

[0041] 图1描述了本方案的示意图。

[0042] 后台服务器I采用3G或GPRS或移动无线网络或WIFi或者以太网与传感器网络中的网关5节点建立通信,各节点采用Zigbee或433Mhz通信。

[0043] 与传感器节点6配套的工具链将更新后的程序编译成更新所用的镜像文件,并将该文件部署到后台服务器I上,由服务器管理软件进行管理。

[0044] 后台服务器I向传感器各节点6发出软件更新指令。

[0045] 传感器节点6收到更新指令后,传感器节点6系统自动重新启动,U-boot向后台服务器I请求更新所需要的软件镜像文件,并将该文件写入网关节点5上的存贮器。写入操作完成后,传感器节点6系统重新启动,传感器节点6向后台服务器I查询验证软件版本一致后发出更新成功状态数据,否则发出更新失败状态数据。传感器网络中的各节点,在通信链路上由近而远依次按此法更新软件,直到网络中所有节点更新完毕。

[0046] 最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。

附图:





0 0
原创粉丝点击