CN109889368B - 一种基于stm32控制器的gprs远程升级方法 - Google Patents

一种基于stm32控制器的gprs远程升级方法 Download PDF

Info

Publication number
CN109889368B
CN109889368B CN201910014473.XA CN201910014473A CN109889368B CN 109889368 B CN109889368 B CN 109889368B CN 201910014473 A CN201910014473 A CN 201910014473A CN 109889368 B CN109889368 B CN 109889368B
Authority
CN
China
Prior art keywords
server
program
equipment end
upgrading
equipment
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.)
Active
Application number
CN201910014473.XA
Other languages
English (en)
Other versions
CN109889368A (zh
Inventor
董辉
季祥
刘白龙
周祥清
周伯男
张宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201910014473.XA priority Critical patent/CN109889368B/zh
Publication of CN109889368A publication Critical patent/CN109889368A/zh
Application granted granted Critical
Publication of CN109889368B publication Critical patent/CN109889368B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种基于STM32控制器的GPRS远程升级方法,包括以下步骤:1)通过类似keil编译器将文件生成HEX文件格式,再将HEX文件加载到服务器端;2)服务器通过人为主动点选进行单台或者多台设备的固件升级;3)服务器向设备端发送程序更新消息,设备端开始进行升级;4)设备端预处理;5)设备端接收升级程序处理:设备端向服务器发送开始升级程序指令时,设备端开始采用防误码通信协议机制进行接收服务器升级程序固件,并通过动态规划计算出设备端需要等待服务器下发的时间T,即自适应系统延时;6)设备将存储的程序在线下载到应用程序空间。本发明能有效的解决远程升级时间过长、失败率高和升级不稳定问题。

Description

一种基于STM32控制器的GPRS远程升级方法
技术领域
本发明涉及一种远程升级方法,尤其是一种基于STM32控制器的GPRS远程升级方法,属于无线通信领域。
背景技术
当前,设备在进行功能升级时,需要对设备进行重新下载程序。传统的设备在进行程序升级的时候,只能现场用仿真器对控制器下载程序,这给厂家带来了极大的不便,并且许多远程控制设备在进行远程升级程序时,容易导致升级不成功。
发明内容
为了提高现有的远程升级设备的升级效率,本发明提供了一种能提高远程升级稳定性,缩短升级时间的基于STM32控制器的GPRS远程升级方法。
本发明解决其技术问题所采用的技术方案如下:
一种基于STM32控制器的GPRS远程升级方法,所述GPRS的远程升级方法包括如下步骤:
1)程序生成阶段:通过类似keil编译器将文件生成HEX文件格式,再将HEX文件加载到服务器端;
2)设备选中:服务器可以通过人为主动点选进行单台或者多台设备的固件升级;
3)程序升级消息通知:服务器向设备端发送程序更新消息,设备端开始进行升级;
4)设备端预处理:设备端在进行升级前,STM32控制器采用随机采样的方法计算求出信号质量
Figure BDA0001937087300000021
并判断出该条件下是否允许设备升级程序;
5)设备端接收升级程序处理:设备端向服务器发送开始升级程序指令时,设备端开始采用防误码通信协议机制进行接收服务器升级程序固件,即设备端在接收程序包时,包序列要与设备端包计数一致。在接收完所有包时,设备端计算程序校验值,并与服务器下发校验值比较。另外,设备端需要通过动态规划计算出设备端每次接收完当前包后需要等待服务器下发下一个包的时间T,即自适应系统延时;
6)设备端IAP在线程序升级:设备将存储在外部FLASH的程序转换成BIN格式在线下载到应用程序空间,完成升级。
进一步,在所述步骤4)中,设备获取信号质量
Figure BDA0001937087300000022
包括以下步骤:
A.在设备向服务器发送长度为L的数据包后,芯片不断向通信模块查询信号量,得到N组信号质量(Q1,Q2,...,QN);
B.分析得到的N组信号质量(Q1,Q2,...,QN),求出理想的信号质量
Figure BDA0001937087300000023
C.将步骤A和步骤B进行S次,得到一组信号质量
Figure BDA0001937087300000024
再进一步,在所述步骤5)中,设备等待时间T的动态规划过程,包括以下步骤:
a.设备向服务器发送数据长度为L的数据包,L的取值范围为0-300;
b.在设备向服务器发送长度为L的数据包后,打开芯片定时器开始计数,直到芯片接收到服务器发回的应答信号,定时器停止计数,设备按此操作重复发送S组数据包,得到时间(T0,T1,...,TS);
c.计算当前等待时间,服务器需查询本次的信号质量,记为Q;
d.自适应等待时间T:
Figure BDA0001937087300000031
由公式(1)得到
Figure BDA0001937087300000032
Figure BDA0001937087300000033
记为M,由(2)得到
Figure BDA0001937087300000034
其中,C=1,K个信号质量
Figure BDA0001937087300000035
是从S组信号质量中筛选出的。
在所述步骤4)中,设备得到区间中信号质量
Figure BDA0001937087300000036
中有不低于S*0.7个信号质量大于等于20,否则,设备端向服务器请求取消远程升级消息。
在所述步骤d中,K个信号质量
Figure BDA0001937087300000037
是从S组信号质量中筛选出的,筛选遵循规则数值大于等于20。
所述步骤a和b都是在所述步骤4)中进行的,在设备允许程序升级时,求出固定值
Figure BDA0001937087300000041
再进一步,在所述步骤5)中,在计算每次设备端需要等待服务器下发的时间前,服务器只需查询当前的信号质量Q,就可根据公式得到当前自适应时间T。
本发明的有益效果表现在:(1)通过在升级前随机向服务器发送几组数据包,判断当前的信号质量是否允许升级,提高远程升级的成功率;(2)动态规划自适应的RTO,提高了整个升级过程的效率;(3)防误码通信机制提高了整个升级过程的准确性,防止出现丢包,误码,以及单片机在线升级失败的情况;(4)控制方法基于STM32实现,资源丰富并且能减小控制器的体积。
附图说明
图1为基于STM32远程升级实现的软件流程图。
图2为基于STM32远程升级实现的硬件流程图。
具体实施方式
下面结合附图对本发明的实施方式作进一步描述。
参照图1和图2,一种基于STM32控制器的GPRS远程升级方法,所述GPRS的远程升级方法包括以下步骤:
1)程序生成阶段:通过类似keil编译器将文件生成HEX文件格式,再将HEX文件加载到服务器端;
2)设备选中:服务器可以通过人为主动点选进行单台或者多台设备的固件升级;
3)程序升级消息通知:服务器向设备端发送程序更新消息,设备端开始进行升级;
4)设备端预处理:设备端在进行升级前,STM32控制器采用随机采样的方法计算求出信号质量
Figure BDA0001937087300000051
并判断出该条件下是否允许设备升级程序;
5)设备端接收升级程序处理:设备端向服务器发送开始升级程序指令时,设备端开始采用防误码通信协议机制进行接收服务器升级程序固件,即设备端在接收程序包时,包序列要与设备端包计数一致。在接收完所有包时,设备端计算程序校验值,并与服务器下发校验值比较。另外,设备端需要通过动态规划计算出设备端每次接收完当前包后需要等待服务器下发下一个包的时间T,即自适应系统延时;
6)设备端IAP在线程序升级:设备将存储在外部FLASH的程序转换成BIN格式在线下载到应用程序空间,完成升级。
进一步,在所述步骤2)中,服务器在人为选择设备升级之前,设备应向服务器发送注册帧,注册帧中包含设备MAC地址、SIM卡的SIM卡号、软件版本号和硬件版本号,这个是用来区分升级程序的每个子设备。
再进一步,在所述步骤3)中,设备端发送程序更新消息时,设备端应先判断是否是空闲状态,若是空闲状态,则向服务器发送等待下发程序应答指令,否则向服务器发送结束升级程序应答指令。
再进一步,在所述步骤4)中,设备获取信号质量
Figure BDA0001937087300000052
包括以下步骤:
A.在设备向服务器发送长度为L的数据包后,芯片不断向通信模块查询信号量,得到N组信号质量(Q1,Q2,...,QN);
B.分析得到的N组信号质量(Q1,Q2,...,QN),求出理想的信号质量
Figure BDA0001937087300000061
将步骤A和步骤B进行S次,得到一组信号质量
Figure BDA0001937087300000062
再进一步,在步骤4)中,设备得到区间中信号质量
Figure BDA0001937087300000063
中有不低于S*0.7个信号质量大于等于20,否则,设备端向服务器请求取消远程升级消息,信号质量总的取值范围0-31。
再进一步,在所述步骤5)中,设备等待时间T的动态规划过程,包括以下步骤:
a.设备向服务器发送数据长度为L的数据包,L的取值范围为0-300;
b.在设备向服务器发送长度为L的数据包后,打开芯片定时器开始计数,直到芯片接收到服务器发回的应答信号,定时器停止计数,设备按此操作重复发送S组数据包,得到时间(T0,T1,...,TS);
c.计算当前等待时间,服务器需查询本次的信号质量,记为Q;
d.自适应等待时间T:
Figure BDA0001937087300000064
由公式(1)得到
Figure BDA0001937087300000065
Figure BDA0001937087300000071
记为M,由(2)得到
Figure BDA0001937087300000072
其中,C=1,K个信号质量
Figure BDA0001937087300000073
是从S组信号质量中筛选出的,筛选遵循规则数值大于等于20,还有步骤a和b都是在权利要求1的步骤4)中进行的,在设备允许程序升级时,求出固定值
Figure BDA0001937087300000074
再进一步,在步骤5)中,防误码通信机制,包括以下步骤:
5.1)服务器分包下发程序时,服务器首先要将待下载的HEX文件,按照HEX文件检查规则,如若错误,本次固件升级的过程终止;
5.2)由于HEX文件每行都有校验,将HEX文件分包下发时,每包的包校验等于每行的校验之和;
5.3)将HEX文件前面的冒号去掉转化成16进制文件形式发送,服务器开始向设备发送固件升级消息,采取握手应答的方式,服务器先发出第1条固件升级消息,设备端收到回复一条固件升级消息,服务器收到回复后再发送第2条升级消息......,直到最后一条固件升级消息回复到服务器;
5.4)由于HEX文件每行的字节数偏少,因此每发送一包固件升级信息可以包含HEX文件中的10行信息,最后不足10条的按实际条数发送;
5.5)协议中每个包有包序列,设备接收包时也对包进行计数,这样,保证了不会产生丢包和错包,当在等待时间内未接到或接到包序列不一致的包,设备向服务器发送重发指令,服务器进行当前包重发,在规定的等待时间内,设备端发起3次重发指令,最后还是未接受到正确的包,则本次升级失败,这种升级方式保证了通信的正常进行;
5.6)当接收完所有包之后,服务器下发升级完成消息,首先,设备按照HEX文件检查规则,如若错误,本次固件升级的过程终止;其次,消息中包含了HEX文件每行的校验和的后两位,设备再将接收到的HEX程序每一行校验值相加,取最后两位与升级完成消息的校验位进行匹配,一致时,设备发起升级完成消息,否则,发送升级失败消息,设备在升级失败的时候都恢复升级前的状态,等待服务器下一次的升级消息。
最后,在所述步骤6)中,设备端程序升级:对于出厂模式的设备和工作模式的设备,设备进行升级的方式有所不同,如图2所示,出厂模式的设备在进行升级时是程序在STM32芯片内部FLASH的bootloader区中运行,正在运行的程序将通信模块的接收到的程序存储到外部flash中,接收完升级程序时,再往内部FLASH中APP区中进行烧写程序,烧写完后再跳入APP程序中;而工作模式的设备在升级时是通过APP区中正在运行的程序将通信模块接收到的程序存储到外部flash中,接收完升级程序时,芯片复位,STM32芯片从APP区跳到bootloader区,再通过bootloader区将外部flash的程序烧写到APP区中,程序再从bootloader区跳到APP区中运行。
本发明提出的一种基于STM32控制器的GPRS的远程升级方法,采用在升级之前判断当前信号质量是否良好,是否适合升级,提高了升级的成功率,设备端每次接收包到服务器发下一个包需要等待的时间采用动态规划,缩小了整个升级程序的时间,提高了设备在实际时使用中可以缩小程序升级时间,更快的进入工作模式。对于出厂模式和工作模式的设备,STM32分为两种方式进行升级,提高了单片机在线升级的成功率。

Claims (6)

1.一种基于STM32控制器的GPRS远程升级方法,其特征在于,所述GPRS远程升级方法包括如下步骤:
1)程序生成阶段:通过keil编译器将文件生成HEX格式的文件,再将HEX格式的文件加载到服务器;
2)设备选中:服务器可以通过人为主动点选进行单台或者多台设备的固件升级;
3)程序升级消息通知:服务器向设备端发送程序更新消息,设备端开始进行升级;
4)设备端预处理:设备端在进行升级前,STM32控制器采用随机采样的方法计算求出理想的信号质量
Figure FDA0003387712840000011
设备端得到区间中理想的信号质量
Figure FDA0003387712840000012
中有不低于S*0.7个理想的信号质量大于等于20时,允许设备升级程序;否则,设备端向服务器请求取消远程升级消息;
5)设备端接收升级程序处理:设备端向服务器发送开始升级程序指令时,设备端开始采用防误码通信协议机制进行接收服务器升级程序固件,即设备端在接收程序包时,包序列要与设备端包计数一致;在接收完所有包时,设备端计算程序校验值,并与服务器下发校验值比较;另外,设备端需要通过动态规划计算出设备端每次接收完当前包后需要等待服务器下发下一个包的时间T,即设备端等待时间;
6)设备端IAP在线程序升级:设备端将存储在外部FLASH的程序转换成BIN格式在线下载到应用程序空间,完成升级。
2.如权利要求1所述的一种基于STM32控制器的GPRS远程升级方法,其特征在于:在所述步骤4)中,设备端获取理想的信号质量
Figure FDA0003387712840000021
包括以下步骤:
A.在设备端向服务器发送长度为L的数据包后,芯片不断向通信模块查询信号质量,得到N组信号质量(Q1,Q2,...,QN);
B.分析得到的N组信号质量(Q1,Q2,...,QN),求出理想的信号质量
Figure FDA0003387712840000022
C.将步骤A和步骤B进行S次,得到一组理想的信号质量
Figure FDA0003387712840000023
3.如权利要求2所述的一种基于STM32控制器的GPRS远程升级方法,其特征在于:在所述步骤5)中,设备端等待时间T的动态规划过程,包括以下步骤:
a.设备端向服务器发送数据长度为L的数据包,L的取值范围为0-300;
b.在设备端向服务器发送数据长度为L的数据包后,打开芯片定时器开始计数,直到芯片接收到服务器发回的应答信号,定时器停止计数,设备端按此操作重复发送S组数据包,得到时间(T0,T1,...,TS);
c.计算当前等待时间,服务器需查询本次的信号质量,记为Q;
d.设备端等待时间T:
Figure FDA0003387712840000024
由公式(1)得到
Figure FDA0003387712840000031
Figure FDA0003387712840000032
记为M,由(2)得到
Figure FDA0003387712840000033
其中,C=1,K个理想的信号质量
Figure FDA0003387712840000034
是从S组信号质量中筛选出的。
4.如权利要求3所述的一种基于STM32控制器的GPRS远程升级方法,其特征在于:在所述步骤d中,K个理想的信号质量
Figure FDA0003387712840000035
是从S组信号质量中筛选出的,筛选遵循规则理想的信号质量大于等于20。
5.如权利要求3所述的一种基于STM32控制器的GPRS远程升级方法,其特征在于:所述步骤a和b都是在所述步骤5)中进行的,在设备端允许程序升级时,求出固定值
Figure FDA0003387712840000036
6.如权利要求3所述的一种基于STM32控制器的GPRS远程升级方法,其特征在于:在计算每次设备端需要等待服务器下发的时间前,服务器只需查询当前的信号质量Q,就根据公式得到当前设备端等待时间T。
CN201910014473.XA 2019-01-07 2019-01-07 一种基于stm32控制器的gprs远程升级方法 Active CN109889368B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910014473.XA CN109889368B (zh) 2019-01-07 2019-01-07 一种基于stm32控制器的gprs远程升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910014473.XA CN109889368B (zh) 2019-01-07 2019-01-07 一种基于stm32控制器的gprs远程升级方法

Publications (2)

Publication Number Publication Date
CN109889368A CN109889368A (zh) 2019-06-14
CN109889368B true CN109889368B (zh) 2022-04-08

Family

ID=66925670

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910014473.XA Active CN109889368B (zh) 2019-01-07 2019-01-07 一种基于stm32控制器的gprs远程升级方法

Country Status (1)

Country Link
CN (1) CN109889368B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110933663B (zh) * 2019-12-17 2020-11-24 珠海格力电器股份有限公司 多联空调机组及其远程升级方法
CN112764777B (zh) * 2021-01-18 2022-07-22 苏州浪潮智能科技有限公司 低速总线设备的升级方法、装置、设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107402776A (zh) * 2016-05-20 2017-11-28 南京阿波罗机器人科技有限公司 一种基于蓝牙4的手机无线升级stm32单片机控制器固件方法
CN108845811A (zh) * 2018-05-30 2018-11-20 武汉高仕达电气有限公司 一种基于can总线的双核dsp固件升级方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102314369B (zh) * 2011-10-09 2014-07-23 杭州先锋电子技术股份有限公司 一种远程在线监控系统中设备自升级方法
WO2016183542A1 (en) * 2015-05-14 2016-11-17 Walleye Software, LLC Computer data system position-index mapping
KR101886209B1 (ko) * 2016-04-19 2018-08-08 (주)휴맥스 미디어 서비스 제공 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107402776A (zh) * 2016-05-20 2017-11-28 南京阿波罗机器人科技有限公司 一种基于蓝牙4的手机无线升级stm32单片机控制器固件方法
CN108845811A (zh) * 2018-05-30 2018-11-20 武汉高仕达电气有限公司 一种基于can总线的双核dsp固件升级方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Privacy and Security in Internet of Things and Wearable Devices;Orlando Arias等;《 IEEE Transactions on Multi-Scale Computing Systems》;20151106;全文 *
基于惯性传感器的坐姿和摔倒检测系统设计;季祥;《中国优秀硕士学位论文数据库(电子期刊)》;20200815;全文 *
面对电动车的车联网技术的研究和应用;卞羽生;《中国优秀硕士学位论文数据库(电子期刊)》;20180415;全文 *

Also Published As

Publication number Publication date
CN109889368A (zh) 2019-06-14

Similar Documents

Publication Publication Date Title
CN109889368B (zh) 一种基于stm32控制器的gprs远程升级方法
CN102510409A (zh) 一种利用无线网络对移动终端程序快速远程更新的方法及系统
JP2003018050A (ja) 電力線通信システムの適応型多重チャンネルパケットの伝送方法
WO2011006328A1 (zh) 设备固件升级系统及方法、设备管理服务器及移动终端
CN110109693A (zh) 嵌入式设备远程固件升级方法
CN103379446B (zh) 一种基于wifi的多终端控制方法及设备
CN110708205A (zh) 通过网关对设备进行fota的方法及系统
CN113746892B (zh) 一种远程升级方法及无线终端设备
CN111211918A (zh) 一种用于LoRa私有协议的组网方法
CN114915671A (zh) 一种基于NB-IoT的路灯控制器的远程升级方法
CN112286556A (zh) 通信设备及其mcu的远程升级方法
CN112565349A (zh) 一种基于中央油烟机的无线通信方法及相关设备
CN108958781B (zh) 一种远程嵌入式固件在线升级方法
CN106648721A (zh) 一种软件升级方法及装置
CN114440389A (zh) 空调器及其升级方法、计算机设备和计算机可读存储介质
CN105471660A (zh) 一种适用于新型低轨卫星平台的数据获取方法
CN111417112B (zh) 一种分布式ota网关组网及终端接入方法及ota升级系统
CN114745740B (zh) 一种智能家电的升级系统及方法
CN109358872A (zh) 远程固件升级方法、装置及计算机可读存储介质
CN113949733B (zh) 一种电能表的固件升级方法
US20040127202A1 (en) Method for remotely updating software for radio port
CN107832072A (zh) 一种基于串口通信静默升级单片机固件的方法
JP2002027010A (ja) 伝送装置及び伝送方法
CN113596623A (zh) 一种plc广播批量升级方法及系统
CN114257509A (zh) 模块升级方法及装置、存储介质及电子装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant