CN103324501A - 无线传感器网络节点软件高效远程更新方法 - Google Patents
无线传感器网络节点软件高效远程更新方法 Download PDFInfo
- Publication number
- CN103324501A CN103324501A CN2013102047544A CN201310204754A CN103324501A CN 103324501 A CN103324501 A CN 103324501A CN 2013102047544 A CN2013102047544 A CN 2013102047544A CN 201310204754 A CN201310204754 A CN 201310204754A CN 103324501 A CN103324501 A CN 103324501A
- Authority
- CN
- China
- Prior art keywords
- node
- application
- program
- application program
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明无线传感器网络节点软件高效远程更新方法属于无线传感器网络的嵌入式节点软件远程更新领域,尤其涉及一种适合Flash型单片机软件的远程更新。该方法将节点MCU程序存储器划分为一个更新引导程序存储区和多个应用程序存储区,在节点出厂前将更新引导程序和原始应用程序烧录入节点ROM中;需要对节点的应用程序进行更新时,查询节点工作状态和应用程序版本信息和应用程序首地址,进而判断选择强制更新模式或正常更新模式对节点软件进行更新。本发明无需对节点硬件做任何改动,无需拆装节点,不需要本地下载器,通过软件方式实现对节点软件的远程更新。整个更新过程耗时少、效率高、保密性和可靠性强,有较强的实用性和通用性。
Description
技术领域
本发明属于无线传感器网络的嵌入式节点软件远程更新领域,尤其涉及一种适合Flash型单片机软件的远程更新。
背景技术
无线传感器网络是由部署在监测区域内的大量传感器节点通过以自组织和多跳方式构成的无线通信网络。无线传感器网络无需繁琐的布线,使用方便灵活,可以实现对重大装备、交通运输及人工难以实现监控的危险区域中关键指标进行监测、安全预警等功能,有着广泛的应用前景。
无线传感器网络中的节点可以实现实时监测监控对象的物理信息,并完成数据采集、处理、通信等功能,处于无线传感器网络的前端。无线传感器网络中节点一般是被随机部署到恶劣环境中,不易取回。但由于节点软件的设计研究不可能是一步到位的,需根据使用者的需求及时的对节点软件进行更新,传统的更新方法是取回节点,通过下载器对节点软件进行更新,该方法受设备、更新地点和操作人员的限制。现有的较先进的更新技术是通过物理总线与无线设备协同作业将编译器生成的程序文件直接写入MCU的ROM中。目前采用此方法存在可靠性低、传输效率不高得到问题。
发明内容
本发明为解决目前远程更新存在的可靠性低,更新效率不高的难题,发明了一种无线传感器网络节点软件高效远程更新方法,该方法基于无线传感器网络节点原有设备,无需本地下载器,通过软件方式实现对无线传感器网络节点软件高效高可靠性更新。
本发明采用的技术方案是一种无线传感器网络节点软件高效远程更新方法,该方法将节点MCU程序存储器划分为一个更新引导程序存储区和多个应用程序存储区,在节点出厂前将更新引导程序和原始应用程序烧录入节点ROM中;需要对节点的应用程序进行更新时,查询节点工作状态和应用程序版本信息和应用程序首地址,进而判断选择强制更新模式或正常更新模式对节点软件进行更新;在正常更新模式中,根据用户需求,依据节点应用软件首地址生成新的程序文件,通过节点应用软件版本信息检索到节点应用程序文件,通过对新旧程序文件的差异比较生成下载版本的程序文件;通过变格式传输将程序文件中的程序数据发送至节点,由节点写入本身的程序存储器中。具体更新方法如下:
步骤一:无线传感器网络节点在出厂前按设定分配地址,通过本地下载器烧录入更新引导程序和多个原始应用程序;
步骤二:用户欲更新节点应用程序时,首先通过上位机查询节点应用程序运行正常,如果节点工作正常,则查询节点应用程序版本信息和程序存储的首地址,并执行步骤三,否则执行步骤四;
步骤三:根据节点应用程序版本信息检索到节点正在运行的应用程序文件,并在上位机将新的程序通过编译器生成新的应用程序文件,对新旧应用程序文件进行差异比较,删除相同的程序数据,保留不同的程序数据,并根据应用程序首地址计算剩余的程序数据对应的在节点程序存储器中的地址,生成下载版本的应用程序文件;
步骤四:在上位机将新的应用程序通过编译器生成新的应用程序文件。上位机远程设置节点无线通信模块控制节点强制更新的GPIO口的电平状态为强制更新状态;
步骤五:上位机利用无线传感器网络通过节点的无线通信模块远程复位节点MCU;
步骤六:节点MCU复位后,首先检测强制更新引脚的状态,如果强制更新状态,则节点MCU直接进入更新函数;否则节点MCU检测更新标志位,如果更新标志位为更新模式则进入更新函数,否则跳过更新,执行相应的应用程序。
步骤七:进入更新函数后,节点MCU通过节点无线通信装置向上位机索要程序文件数据,上位机通过变格式数据传输将程序数据下发至节点。
步骤八:节点MCU在更新函数中接收并解析程序数据,写入ROM的相应位置。如果由于无线传感器网络不稳定等原因导致在规定时间节点MCU未完成更新,则节点MCU判断更新失败,直接跳入其余应用程序。如果更新成功,节点修改更新标志位,回复上位机节点更新成功,节点跳入并执行新的应用程序,上位机记录更新版本号与更新文件。
所述的一种无线传感器网络节点软件高效远程更新方法,其特征在于,该方法中,当多个应用程序内容完全一致时,则这些应用程序为相互备份的关系;当多个应用程序内容不一致时,则节点有不同的功能;对下载版本的节点程序文件进行无线传输时,对含有特殊字符的程序数据单独标识,并采用合适的数据格式读取并传输至节点,对不含有特殊字符的程序数据采用不同的数据格式读取并传输至节点。
所述的一种无线传感器网络节点软件高效远程更新方法,其特征在于,该方法中,强制更新为远程控制节点的无线通信模块的某几个GPIO口的电平状态,节点被远程复位后首先检测这几个GPIO口的电平状态,从而选择直接进入更新函数或某个应用程序,而不再通过标志位来判断判断是否跳入、跳入哪个应用程序。
本发明具有以下明显效果:无需对节点硬件做任何改动,无需本地下载器,整个更新过程由无线传感网络的程序数据交互完成,更新效率高,通用性和实用性好,具有较强的可靠性和保密性。
附图说明
图1为对无线传感器网络节点ROM划分示意图;
图2为更新方法流程图。
具体实施方式
下面将结合附图和技术方案详细说明本发明的具体实施,本发明是一种高可靠性的无线传感器网络节点软件高效远程更新方法,本实施例中首先需对节点ROM进行划分用来存储相应的程序。如图1所示,本实施例存储一个更新引导程序,两个应用程序:应用程序一和应用程序二。
图2为更新方法流程图,具体更新过程如下:
步骤一:无线传感器网络节点在出厂前按设定分配地址,通过本地下载器烧录入更新引导程序和多个原始应用程序,本例在节点出厂前将更新程序和应用程序通过本地下载器烧录入节点MCU的ROM中,并对节点应用程序的版本号和程序文件在上位机进行存储。
步骤二:用户通过上位机查询节点应用程序运行是否正常,如果正常,查询节点应用程序版本信息和应用程序在程序存储器中的首地址并执行步骤二,否则执行步骤三;
步骤三:上位机将新的应用程序通过编译器生成新的应用程序文件,同时根据查询到的节点应用程序版本信息检索到对应的程序文件,对新旧应用程序文件进行差异比较,删除相同的程序数据,保留不同的程序数据,并根据应用程序首地址计算保留的程序数据对应的地址,生成下载版本的应用程序文件;
步骤四:在上位机将新的程序通过编译器生成新的应用程序文件。上位机远程设置节点无线通信模块控制节点强制更新的GPIO口状态为更新状态;
步骤五:上位机利用无线传感器网络通过节点的无线通信模块远程复位节点MCU;
步骤六:节点MCU复位后,首先检测强制更新引脚的电平状态,如果为强制更新状态,则节点MCU直接进入更新函数;否则节点MCU检测更新标志位,如果更新标志位为更新模式则进入更新函数,否则跳过更新,执行相应的应用程序。
步骤七:进入更新函数后,节点MCU通过节点无线通信装置向上位机索要程序文件数据,由于程序文件中含有特殊字符的程序数据较少,统一格式下发会造成通信资源的浪费,因此上位机通过变格式数据传输将程序数据下发至节点。例如,需要传输的程序数据为:
3000
7E 00 05 08 00 44 35 01 7C 0A 11 E3 07 B0 0000
如果直接采用ASCII的形式下发,则无线传感网络传输的数据为:
4033303030
3745303030353038303034343335303137433041313145333037423030303030
如果对于含有“”等字符的数据行与其余数据行外加一个字节单独标识,且分别以ASCII和Hex形式下发,则无线传感网络传输的数据为:
004033303030
017E000508004435017C0A11E307B00000
步骤八:节点MCU在更新函数中接收并解析程序数据,写入ROM的相应位置。如果由于无线传感器网络不稳定等原因导致在规定时间节点MCU未完成更新,则节点MCU判断更新失败,直接跳入其余应用程序。如果更新成功,节点修改更新标志位,回复上位机节点更新成功,节点跳入并执行新的应用程序,上位机记录更新版本号与更新文件。
综上所述,本发明无需对节点硬件做任何改动,无需拆装节点,不需要本地下载器,通过软件方式实现对节点软件的远程更新。整个更新过程耗时少、效率高、保密性和可靠性强,有较强的实用性和通用性,适用于可对本身程序存储器进行读写操作的嵌入式设备。
Claims (3)
1.一种无线传感器网络节点软件高效远程更新方法,其特征在于,该方法将节点MCU程序存储器划分为一个更新引导程序存储区和多个应用程序存储区,在节点出厂前将更新引导程序和原始应用程序烧录入节点ROM中;需要对节点的应用程序进行更新时,查询节点工作状态和应用程序版本信息和应用程序首地址,进而判断选择强制更新模式或正常更新模式对节点软件进行更新;在正常更新模式中,根据用户需求,依据节点应用软件首地址生成新的程序文件,通过节点应用软件版本信息检索到节点应用程序文件,通过对新旧程序文件的差异比较生成下载版本的程序文件;通过变格式传输将程序文件中的程序数据发送至节点,由节点写入本身的程序存储器中;具体更新方法如下:
步骤一:无线传感器网络节点在出厂前按设定分配地址,通过本地下载器烧录入更新引导程序和多个原始应用程序;
步骤二:用户欲更新节点应用程序时,首先通过上位机查询节点应用程序运行是否正常,如果节点工作正常,则查询节点应用程序版本信息和在程序存储器中的首地址,并执行步骤三,否则执行步骤四;
步骤三:根据节点应用程序版本信息检索到节点正在运行的应用程序文件,并在上位机将新的程序通过编译器生成新的应用程序文件,对新旧应用程序文件进行差异比较,删除相同的程序数据,保留不同的程序数据,并根据应用程序首地址计算剩余的程序数据对应的在节点程序存储器中的地址,生成下载版本的应用程序文件;
步骤四:在上位机将新的应用程序通过编译器生成新的应用程序文件。上位机远程设置节点无线通信模块控制节点强制更新的GPIO口的电平状态为强制更新状态;
步骤五:上位机利用无线传感器网络通过节点的无线通信模块远程复位节点MCU;
步骤六:节点MCU复位后,首先检测强制更新引脚的状态,如果强制更新状态,则节点MCU直接进入更新函数;否则节点MCU检测更新标志位,如果更新标志位为更新模式则进入更新函数,否则跳过更新,执行相应的应用程序;
步骤七:进入更新函数后,节点MCU通过节点无线通信装置向上位机索要程序文件数据,上位机通过变格式数据传输将程序数据下发至节点;
步骤八:节点MCU在更新函数中接收并解析程序数据,写入ROM的相应位置;如果由于无线传感器网络不稳定等原因导致在规定时间节点MCU未完成更新,则节点MCU判断更新失败,直接跳入其余应用程序;如果更新成功,节点修改更新标志位,回复上位机节点更新成功,节点跳入并执行新的应用程序,上位机记录更新版本号与更新文件。
2.根据权利要求1所述的一种无线传感器网络节点软件高效远程更新方法,其特征在于,该方法中,当多个应用程序内容完全一致时,则这些应用程序为相互备份的关系;当多个应用程序内容不一致时,则节点有不同的功能;对下载版本的节点程序文件进行无线传输时,对含有特殊字符的程序数据单独标识,并采用合适的数据格式读取并传输至节点,对不含有特殊字符的程序数据采用不同的数据格式读取并传输至节点。
3.根据权利要求1或2所述的一种无线传感器网络节点软件高效远程更新方法,其特征在于,该方法中,强制更新为远程控制节点的无线通信模块的某几个GPIO口的电平状态,节点被远程复位后首先检测这几个GPIO口的电平状态,从而选择直接进入更新函数或某个应用程序,而不再通过标志位来判断判断是否跳入、跳入哪个应用程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310204754.4A CN103324501B (zh) | 2013-05-28 | 2013-05-28 | 无线传感器网络节点软件高效远程更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310204754.4A CN103324501B (zh) | 2013-05-28 | 2013-05-28 | 无线传感器网络节点软件高效远程更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103324501A true CN103324501A (zh) | 2013-09-25 |
CN103324501B CN103324501B (zh) | 2015-12-23 |
Family
ID=49193268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310204754.4A Expired - Fee Related CN103324501B (zh) | 2013-05-28 | 2013-05-28 | 无线传感器网络节点软件高效远程更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103324501B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744704A (zh) * | 2014-01-13 | 2014-04-23 | 浪潮集团有限公司 | 一种基于蓝牙技术的51单片机下载方法 |
CN103905245A (zh) * | 2014-03-04 | 2014-07-02 | 上海挚连科技有限公司 | 传感器节点的管理方法 |
CN104239108A (zh) * | 2014-09-28 | 2014-12-24 | 北京奇虎科技有限公司 | 软件更新方法、软件更新服务器、客户端和系统 |
CN104281470A (zh) * | 2014-05-09 | 2015-01-14 | 浙江大学 | 一种基于单外接串口的多mcu系统软件升级方法 |
CN105871571A (zh) * | 2015-01-20 | 2016-08-17 | 中国科学院上海高等研究院 | 一种传感器网络管理方法及系统 |
CN106020905A (zh) * | 2016-05-31 | 2016-10-12 | 上海庆科信息技术有限公司 | 一种微控制器固件开发与更新的方法及系统 |
CN107832079A (zh) * | 2017-11-15 | 2018-03-23 | 中国石油天然气股份有限公司 | 油气井监控器的升级方法、装置及计算机可读存储介质 |
CN107894900A (zh) * | 2017-12-06 | 2018-04-10 | 郑州云海信息技术有限公司 | 一种mcu升级的方法及系统 |
CN108958764A (zh) * | 2018-06-08 | 2018-12-07 | 无锡飞翎电子有限公司 | 家用电器的应用程序更新方法、装置及家用电器 |
CN112235337A (zh) * | 2019-07-15 | 2021-01-15 | 波音公司 | 源节点上的ad-hoc数据处理的无线ad hoc网络中的软件分发 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582339A (zh) * | 2018-12-06 | 2019-04-05 | 许继集团有限公司 | 一种组串式光伏逆变器程序远程无线更新系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101232516A (zh) * | 2008-01-31 | 2008-07-30 | 北京航空航天大学 | 无线传感器网络应用中使用差分压缩的低功耗系统更新方法 |
WO2009078589A1 (en) * | 2007-12-17 | 2009-06-25 | Electronics And Telecommunications Research Institute | Apparatus and method of dynamically managing sensor module on sensor node in wireless sensor network |
CN101765109A (zh) * | 2009-12-14 | 2010-06-30 | 浙江大学 | 可抵御妥协节点攻击的无线传感器网络程序动态更新方法 |
CN101877723A (zh) * | 2010-06-18 | 2010-11-03 | 中兴通讯股份有限公司 | 无线传感器网络节点远程升级系统、方法及设备 |
-
2013
- 2013-05-28 CN CN201310204754.4A patent/CN103324501B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009078589A1 (en) * | 2007-12-17 | 2009-06-25 | Electronics And Telecommunications Research Institute | Apparatus and method of dynamically managing sensor module on sensor node in wireless sensor network |
CN101232516A (zh) * | 2008-01-31 | 2008-07-30 | 北京航空航天大学 | 无线传感器网络应用中使用差分压缩的低功耗系统更新方法 |
CN101765109A (zh) * | 2009-12-14 | 2010-06-30 | 浙江大学 | 可抵御妥协节点攻击的无线传感器网络程序动态更新方法 |
CN101877723A (zh) * | 2010-06-18 | 2010-11-03 | 中兴通讯股份有限公司 | 无线传感器网络节点远程升级系统、方法及设备 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744704A (zh) * | 2014-01-13 | 2014-04-23 | 浪潮集团有限公司 | 一种基于蓝牙技术的51单片机下载方法 |
CN103905245A (zh) * | 2014-03-04 | 2014-07-02 | 上海挚连科技有限公司 | 传感器节点的管理方法 |
CN103905245B (zh) * | 2014-03-04 | 2017-05-10 | 广采网络科技(上海)有限公司 | 传感器节点的管理方法 |
CN104281470A (zh) * | 2014-05-09 | 2015-01-14 | 浙江大学 | 一种基于单外接串口的多mcu系统软件升级方法 |
CN104281470B (zh) * | 2014-05-09 | 2017-07-21 | 浙江大学 | 一种基于单外接串口的多mcu系统软件升级方法 |
CN104239108A (zh) * | 2014-09-28 | 2014-12-24 | 北京奇虎科技有限公司 | 软件更新方法、软件更新服务器、客户端和系统 |
CN105871571B (zh) * | 2015-01-20 | 2019-02-22 | 中国科学院上海高等研究院 | 一种传感器网络管理方法及系统 |
CN105871571A (zh) * | 2015-01-20 | 2016-08-17 | 中国科学院上海高等研究院 | 一种传感器网络管理方法及系统 |
CN106020905A (zh) * | 2016-05-31 | 2016-10-12 | 上海庆科信息技术有限公司 | 一种微控制器固件开发与更新的方法及系统 |
CN107832079A (zh) * | 2017-11-15 | 2018-03-23 | 中国石油天然气股份有限公司 | 油气井监控器的升级方法、装置及计算机可读存储介质 |
CN107894900A (zh) * | 2017-12-06 | 2018-04-10 | 郑州云海信息技术有限公司 | 一种mcu升级的方法及系统 |
CN107894900B (zh) * | 2017-12-06 | 2021-06-29 | 郑州云海信息技术有限公司 | 一种mcu升级的方法及系统 |
CN108958764A (zh) * | 2018-06-08 | 2018-12-07 | 无锡飞翎电子有限公司 | 家用电器的应用程序更新方法、装置及家用电器 |
CN108958764B (zh) * | 2018-06-08 | 2022-12-20 | 无锡飞翎电子有限公司 | 家用电器的应用程序更新方法、装置及家用电器 |
CN112235337A (zh) * | 2019-07-15 | 2021-01-15 | 波音公司 | 源节点上的ad-hoc数据处理的无线ad hoc网络中的软件分发 |
CN112235337B (zh) * | 2019-07-15 | 2023-12-08 | 波音公司 | 源节点上的ad-hoc数据处理的无线ad hoc网络中的软件分发 |
Also Published As
Publication number | Publication date |
---|---|
CN103324501B (zh) | 2015-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103324501A (zh) | 无线传感器网络节点软件高效远程更新方法 | |
CN103793238A (zh) | 机柜与其同时更新多个基本输入输出系统的方法 | |
CN105446806B (zh) | 一种应用程序无响应的处理方法及装置 | |
CN103914992B (zh) | 一种基于无线传感器网络的智能停车检测系统 | |
CN103942061A (zh) | 电池固件更新方法、便携式电子装置及充电电池模块 | |
CN109656597A (zh) | 固件升级方法、装置及计算机可读存储介质 | |
CN107402776A (zh) | 一种基于蓝牙4的手机无线升级stm32单片机控制器固件方法 | |
CN110633091A (zh) | 一种电子模块及其软件无线升级方法 | |
CN105224362A (zh) | 上位机对下位机进行程序升级的方法及系统 | |
CN104144466A (zh) | 物联网中传感器接入方法、物联网系统和服务器 | |
CN104239083A (zh) | 移动终端的应用的迁移方法、装置以及系统 | |
CN112256348B (zh) | 一种云服务平台创建方法、系统及电子设备和存储介质 | |
CN106020875A (zh) | 嵌入式终端的固件更新管理方法和装置 | |
CN109871221B (zh) | 一种针对移动终端设备快速装机部署移动应用软件的系统 | |
CN112131156B (zh) | 一种数据传输方法、系统及电子设备和存储介质 | |
CN109451098A (zh) | Fpga加速卡mac地址配置方法、装置及加速卡 | |
CN104391714A (zh) | 一种车辆的软件更新方法和装置 | |
CN102147612A (zh) | 一种基于32位微处理器的无线传感器网络数据采集系统 | |
CN102567054A (zh) | 双塔放大器的控制方法及相应的装置 | |
CN102801818A (zh) | 基于ZigBee技术的传感器通用接口采集系统 | |
CN111008106B (zh) | 一种服务器监控管理方法、装置及电子设备和存储介质 | |
CN113741933A (zh) | 控制器的远程升级方法、控制器及系统 | |
CN108877188A (zh) | 一种环保数据并发采集及多网络发布方法和装置 | |
CN106100866B (zh) | 一种基于区域联动的智能探测装置、配置装置及方法 | |
CN108366131A (zh) | 数据传输方法、装置、终端以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20151223 Termination date: 20210528 |
|
CF01 | Termination of patent right due to non-payment of annual fee |