CN114020297A - 一种基于蓝牙智能水表程序升级方法、装置、设备和介质 - Google Patents
一种基于蓝牙智能水表程序升级方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN114020297A CN114020297A CN202111307818.4A CN202111307818A CN114020297A CN 114020297 A CN114020297 A CN 114020297A CN 202111307818 A CN202111307818 A CN 202111307818A CN 114020297 A CN114020297 A CN 114020297A
- Authority
- CN
- China
- Prior art keywords
- upgrading
- instruction
- upgrade
- code returning
- code
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Mobile Radio Communication Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种基于蓝牙智能水表程序升级方法、装置、设备和介质,该方法运用于手机端,包括下述步骤:初始化手机APP蓝牙连接智能水表;读取本地升级文件,并将所述升级文件中的升级数据写入缓存中;向所述智能水表发送请求升级指令,并接收回码指令;校验及解析所述回码指令,判断所述回码指令是否丢失或正确:若所述回码指令丢失或不正确,则会触发重传机制;若所述回码指令正确,则判断所述回码指令类型;发送分块升级指令,并接收下一回码指令,如此循环。本发明提供一种基于蓝牙智能水表程序升级方法、装置、设备和介质,旨在物联网智能水表设备维护更新更加灵活方便和降低成本,固件更新采用无线升级的方法。
Description
技术领域
本发明涉及智能水表技术领域,特别涉及一种基于蓝牙BLE智能水表程序升级的方法、装置、设备和介质。
背景技术
蓝牙技术迅速发展成熟,越来越多的行业用到蓝牙模块技术,智能水表也不例外。传统水表的功能仅是流量采集和使用水量在机械指针上面的显示,就需要人工抄表,随着蓝牙智能水表的出现,相对于传统水表而言就更加的方便和快捷,我们所出现的蓝牙智能水表就是利用低功耗蓝牙模块技术来进行短距离通讯传输,随时随地可以在网络上查看水表用水量情况。
随着用户体验的不断增加,智能水表程序的升级变得越来越频繁,在目前的智能水表升级通讯软件中,有一次性升级方法,但并不能完全保障数据的安全性,可靠性,持续性,而且时间耗费长,一旦升级中途出现问题,就得重新开始,造成了耗时耗力的现象,这样很不方便用户使用软件进行工作,也会影响用户使用体验和效率。
发明内容
本发明要解决的技术问题,在于提供一种基于蓝牙智能水表程序升级方法、装置、设备和介质,旨在物联网智能水表设备维护更新更加灵活方便和降低成本,固件更新采用无线升级的方法。
第一方面,本发明提供了一种基于蓝牙智能水表程序升级的方法,该方法运用于手机端,包括下述步骤:
S1、初始化手机APP,并蓝牙连接智能水表;
S2、读取本地升级文件,获取所述升级文件中的当前版本号和目标版本号,并将所述升级文件中的升级数据写入缓存中;
S3、向所述智能水表发送带有当前版本号和目标版本号的请求升级指令,并接收所述智能水表的回码指令,所述回码指令包括回码指令类型和回码实体数据;
S4、校验及解析所述回码指令,具体为:
S41、判断所述回码指令是否丢失或正确:若所述回码指令丢失或不正确,则会触发重传机制,返回步骤S3;若所述回码指令正确,则进行步骤S42;
S42、判断所述回码指令类型,所述回码指令类型包括请求升级指令类型、分块升级包指令类型和升级结束指令类型;
当所述回码指令类型为请求升级指令类型时,通过所述回码实体数据解析出升级标志,判断所述升级标志是否需要升级;若所述升级标志为不需要升级,则提示不能升级的情况说明;若所述升级标志为需要升级,则通过所述回码实体数据解析出升级包号、升级包长和目标版本号信息,且根据本地缓存总字节数和升级包长,计算出总包数,并进入步骤S5;
当所述回码指令类型为分块升级包指令类型时,通过所述回码实体数据解析出升级包号、升级包长和目标版本号信息,并进入步骤S5;
当所述回码指令类型为升级结束指令类型时,通过回码实体数解析出升级完成标志,当所述升级完成标志为升级成功时,手机APP提示升级成功,更新用户界面;当所述升级完成标志为升级失败时,手机APP提示升级失败;
S5、向所述智能水表发送带有升级包号、升级包长和升级包数据的分块升级指令,并接收下一回码指令,并对所述回码指令进行步骤S4的校验和解析,如此循环,直到升级包号与总包数相同时,并接收到所述回码指令类型为升级结束指令类型时,则完成程序升级。
进一步的,所述步骤S41中,当触发重传机制次数超过三次,则提示用户此次升级失败,所述重传机制为设置重传次数mCount变量,每次重传都会重新发送所述请求升级指令,重传一次mCount增加1,并在接收到下一次回码指令时会解析出上一次失败的升级包号、升级包长和升级目标版本号信息,并继续完成升级过程,如果触发重传机制次数超过三次,则提示用户此次升级失败,重传次数mCount重置为0。
进一步的,所述步骤S4中,计算总包数的方法如下:用本地缓存总字节数取模升级包长字节数:若结果为0,则用本地缓存总字节数整除升级包长字节数,得到升级总包长数为M;若结果不为0,则用本地缓存总字节数整除升级包长字节数,得到升级总包长数为M+1。
第二方面,本发明提供了一种基于蓝牙智能水表程序升级装置,所述装置用于手机端,包括:
读取模块,用于手机APP与智能水表蓝牙连接,读取本地升级文件,获取所述升级文件中的当前版本号和目标版本号,并将所述升级文件中的升级数据写入缓存中;
发送模块,用于向所述智能水表发送请求升级指令和分块升级指令;
接收模块,用于接收所述智能水表的回码指令;
校验模块,用于校验及解析所述回码指令;及
重传模块,用于所述回码指令丢失或不正确时,重新发送所述请求升级指令。
进一步的,所述装置还包括计算模块,用于根据本地缓存总字节数和升级包长,计算出总包数。
进一步的,校验及解析所述回码指令的具体方法如下:判断所述回码指令是否丢失或正确:若所述回码指令丢失或不正确,则会触发重传机制,返回重新发送所述请求升级指令,当触发重传机制次数超过三次,则提示用户此次升级失败;若所述回码指令正确,则进行判断所述回码指令类型,所述回码指令类型包括请求升级指令类型、分块升级包指令类型和升级结束指令类型;当所述回码指令类型为请求升级指令类型时,通过所述回码实体数据解析出升级标志,判断所述升级标志是否需要升级;若所述升级标志为不需要升级,则提示不能升级的情况说明;若所述升级标志为需要升级,则通过所述回码实体数据解析出升级包号、升级包长和目标版本号信息,且根据本地缓存总字节数和升级包长,计算出总包数,并向所述智能水表发送带有升级包号、升级包长和升级包数据的分块升级指令,且接收下一回码指令,并对所述回码指令进行校验和解析;当所述回码指令类型为分块升级包指令类型时,通过所述回码实体数据解析出升级包号、升级包长和目标版本号信息,并向所述智能水表发送带有升级包号、升级包长和升级包数据的分块升级指令,且接收下一回码指令,并对所述回码指令进行校验和解析;当所述回码指令类型为升级结束指令类型时,通过回码实体数解析出升级完成标志,当所述升级完成标志为升级成功时,手机APP提示升级成功,更新用户界面;当所述升级完成标志为升级失败时,手机APP提示升级失败;如此循环,直到升级包号与总包数相同时,并接收到所述回码指令类型为升级结束指令类型时,则完成程序升级。
第三方面,本发明提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:本发明是一种基于蓝牙智能水表程序升级方法、装置、设备和介质,此方法采用了手机app直接连接蓝牙BLE智能水表,通过读取模块获取升级文件中的当前版本号和目标版本号,并将所述升级文件中的升级数据写入缓存中,通过校验模块用于校验及解析所述回码指令,通过重传模块用于所述回码指令丢失或不正确时,重新发送所述请求升级指令,并且校验模块在接收到下一次回码指令时会解析出上一次失败的升级包号、升级包长和升级目标版本号信息,然后继续传送升级包数据,通过这种断点续传技术够很好的解决在智能水表领域设备升级工作,断点续传是一种结合本地存储和传输存储的技术,主要用来解决传输失效时的数据丢失问题,断点续传支持从文件上次中断的地方开始传送数据,而并非是从文件开头传送。本发明还通过设置三次重传机制,在智能水表不能正常返回回码指令或回码指令不正确时,才会触发等重传机制,整个升级过程中,不能超过三次失败情况,如果超过自动退出升级过程,这一机制可以很好的防止升级过程中偶尔出现异常情况,使程序升级终止。本发明通过此技术使升级效率高,耗时短,大大降低了升级维护的人工成本,使用户能够自主更新已投入使用的设备升级,具有功耗低,操作灵活的特点。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明一种基于蓝牙智能水表程序升级的***框架示意图;
图2为本发明实施例一中一种基于蓝牙智能水表程序升级方法中的流程图;
图3为本发明实施例二中一种基于蓝牙智能水表程序升级装置的结构示意图;
图4为本发明实施例三中电子设备的结构示意图;
图5为本发明实施例四中介质的结构示意图。
具体实施方式
本申请实施例通过提供一种基于蓝牙智能水表程序升级方法、装置、设备和介质,旨在物联网智能水表设备维护更新更加灵活方便和降低成本,固件更新采用无线升级的方法,通过断点续传技术和重传机制能有效完成便捷式智能水表主程序更新,使用户能够自主更新已投入使用的设备升级,具有功耗低,操作灵活的特点。
本申请实施例中的技术方案,总体思路如下:采用了手机app直接连接蓝牙BLE智能水表,通过读取模块获取升级文件中的当前版本号和目标版本号,并将所述升级文件中的升级数据写入缓存中,通过校验模块用于校验及解析所述回码指令,通过重传模块用于所述回码指令丢失或不正确时,重新发送所述请求升级指令,并且所述校验模块在接收到下一次回码指令时会解析出上一次失败的升级包号、升级包长和升级目标版本号信息,然后继续传送升级包数据,通过这种断点续传技术够很好的解决在智能水表领域设备升级工作,断点续传是一种结合本地存储和传输存储的技术,主要用来解决传输失效时的数据丢失问题,断点续传支持从文件上次中断的地方开始传送数据,而并非是从文件开头传送。本发明还通过设置三次重传机制,在智能水表不能正常返回回码指令或回码指令不正确时,才会触发等重传机制,整个升级过程中,不能超过三次失败情况,如果超过自动退出升级过程,这一机制可以很好的防止升级过程中偶尔出现异常情况,使程序升级终止。
在介绍具体实施例之前,先介绍本申请实施例方法所对应的***框架,如图1所示,***大概分两个部分:手机端和智能水表。
实施例一
本实施例提供一种基于蓝牙智能水表程序升级方法,如图2所示,该方法运用于图1中的手机端,包括下述步骤:
S1、初始化手机APP,并蓝牙连接智能水表。
S2、读取本地升级文件,获取所述升级文件中的当前版本号和目标版本号,并将所述升级文件中的升级数据写入缓存中。
S3、向所述智能水表发送带有当前版本号和目标版本号的请求升级指令,并接收所述智能水表的回码指令,所述回码指令包括回码指令类型和回码实体数据。
S4、校验及解析所述回码指令,具体为:
S41、判断所述回码指令是否丢失或正确:若所述回码指令丢失或不正确,则会触发重传机制,返回步骤S3;若所述回码指令正确,则进行步骤S42。
S42、判断所述回码指令类型,所述回码指令类型包括请求升级指令类型、分块升级包指令类型和升级结束指令类型。
当所述回码指令类型为请求升级指令类型时,通过所述回码实体数据解析出升级标志,判断所述升级标志是否需要升级,若所述升级标志为不需要升级,则升级标志显示为2或3,提示不能升级的情况说明,升级标志显示为2时,表示不需要升级,升级标志显示为3时,表示当前版本与目标版本号不匹配,表示不能升级;若所述升级标志为需要升级,则升级标志为显示1,表示需要升级,则通过所述回码实体数据解析出升级包号、升级包长和目标版本号信息,且根据本地缓存总字节数和升级包长,计算出总包数,并进入步骤S5。
当所述回码指令类型为分块升级包指令类型时,通过所述回码实体数据解析出升级包号、升级包长和目标版本号信息,并进入步骤S5。
当所述回码指令类型为升级结束指令类型时,通过回码实体数解析出升级完成标志,当所述升级完成标志为1时表示升级成功,手机APP提示升级成功,更新用户界面;当所述升级完成标志为2时表示升级失败时,手机APP提示升级失败。
S5、向所述智能水表发送带有升级包号、升级包长和升级包数据的分块升级指令,并接收下一回码指令,并对所述回码指令进行步骤S4的校验和解析,如此循环,直到升级包号与总包数相同时,并接收到所述回码指令类型为升级结束指令类型时,则完成程序升级。
在本申请实施例所述步骤S41中,,当触发重传机制次数超过三次,则提示用户此次升级失败,所述重传机制为设置重传次数mCount变量,每次重传都会重新发送所述请求升级指令,重传一次mCount增加1,智能水表会自动记录上一次分块升级指令正确接收数据情况,并在接收到下一次请求升级指令时,所述回码指令会返回上一次失败的升级包号、升级包长和目标版本号信息,校验模块在接收到下一次回码指令时会解析出上一次失败的升级包号、升级包长和升级目标版本号信息,并继续完成升级过程,如果触发重传机制次数超过三次,则提示用户此次升级失败,重传次数mCount重置为0。
在本申请实施例所述步骤S4中,计算总包数的方法如下:用本地缓存总字节数取模升级包长字节数:若结果为0,则用本地缓存总字节数整除升级包长字节数,得到升级总包长数为M;若结果不为0,则用本地缓存总字节数整除升级包长字节数,得到升级总包长数为M+1。
其中,作为本实施例的一种更优或更为具体的实现方式,所述方法还包括:
基于同一发明构思,本申请还提供了与实施例一中的方法对应的装置,详见实施例二。
实施例二
在本实施例中提供了一种基于蓝牙智能水表程序升级装置,如图3所示,包括:所述装置用于手机端,包括:
读取模块,用于手机APP与智能水表蓝牙连接,读取本地升级文件,获取所述升级文件中的当前版本号和目标版本号,并将所述升级文件中的升级数据写入缓存中。
发送模块,用于向所述智能水表发送请求升级指令和分块升级指令。
接收模块,用于接收所述智能水表的回码指令。
校验模块,用于校验及解析所述回码指令。
及重传模块,用于所述回码指令丢失或不正确时,重新发送所述请求升级指令。
所述装置还包括计算模块,用于根据本地缓存总字节数和升级包长,计算出总包数。
校验及解析所述回码指令的具体方法如下:判断所述回码指令是否丢失或正确:若所述回码指令丢失或不正确,则会触发重传机制,返回重新发送所述请求升级指令,当触发重传机制次数超过三次,则提示用户此次升级失败;若所述回码指令正确,则进行判断所述回码指令类型,所述回码指令类型包括请求升级指令类型、分块升级包指令类型和升级结束指令类型;当所述回码指令类型为请求升级指令类型时,通过所述回码实体数据解析出升级标志,判断所述升级标志是否需要升级;若所述升级标志为不需要升级,则提示不能升级的情况说明;若所述升级标志为需要升级,则通过所述回码实体数据解析出升级包号、升级包长和目标版本号信息,且根据本地缓存总字节数和升级包长,计算出总包数,并向所述智能水表发送带有升级包号、升级包长和升级包数据的分块升级指令,且接收下一回码指令,并对所述回码指令进行校验和解析;当所述回码指令类型为分块升级包指令类型时,通过所述回码实体数据解析出升级包号、升级包长和目标版本号信息,并向所述智能水表发送带有升级包号、升级包长和升级包数据的分块升级指令,且接收下一回码指令,并对所述回码指令进行校验和解析;当所述回码指令类型为升级结束指令类型时,通过回码实体数解析出升级完成标志,当所述升级完成标志为升级成功时,手机APP提示升级成功,更新用户界面;当所述升级完成标志为升级失败时,手机APP提示升级失败;如此循环,直到升级包号与总包数相同时,并接收到所述回码指令类型为升级结束指令类型时,则完成程序升级。
由于本发明实施例二所介绍的装置,为实施本发明实施例一的方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的电子设备实施例,详见实施例三。
实施例三
本实施例提供了一种电子设备,如图4所示,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,可以实现实施例一中任一实施方式。
由于本实施例所介绍的电子设备为实施本申请实施例一中方法所采用的设备,故而基于本申请实施例一中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的存储介质,详见实施例四。
实施例四
本实施例提供一种计算机可读存储介质,如图5所示,其上存储有计算机程序,该计算机程序被处理器执行时,可以实现实施例一中任一实施方式。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:本申请实施例提供的一种基于蓝牙智能水表程序升级方法、装置、***、设备及介质,本发明通过断点续传技术和重传机制能有效完成便捷式智能水表主程序更新,使用户能够自主更新已投入使用的设备升级,具有升级效率高,耗时短,大大降低了升级维护的人工成本,操作灵活的特点。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置或***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (8)
1.一种基于蓝牙智能水表程序升级的方法,其特征在于:该方法运用于手机端,包括下述步骤:
S1、初始化手机APP,并蓝牙连接智能水表;
S2、读取本地升级文件,获取所述升级文件中的当前版本号和目标版本号,并将所述升级文件中的升级数据写入缓存中;
S3、向所述智能水表发送带有当前版本号和目标版本号的请求升级指令,并接收所述智能水表的回码指令,所述回码指令包括回码指令类型和回码实体数据;
S4、校验及解析所述回码指令,具体为:
S41、判断所述回码指令是否丢失或正确:若所述回码指令丢失或不正确,则会触发重传机制,返回步骤S3;若所述回码指令正确,则进行步骤S42;
S42、判断所述回码指令类型;
当所述回码指令类型为请求升级指令类型时,通过所述回码实体数据解析出升级标志,判断所述升级标志是否需要升级;若所述升级标志为不需要升级,则提示不能升级的情况说明;若所述升级标志为需要升级,则通过所述回码实体数据解析出升级包号、升级包长和目标版本号信息,且根据本地缓存总字节数和升级包长,计算出总包数,并进入步骤S5;
当所述回码指令类型为分块升级包指令类型时,通过所述回码实体数据解析出升级包号、升级包长和目标版本号信息,并进入步骤S5;
当所述回码指令类型为升级结束指令类型时,通过回码实体数解析出升级完成标志,当所述升级完成标志为升级成功时,手机APP提示升级成功,更新用户界面;当所述升级完成标志为升级失败时,手机APP提示升级失败;
S5、向所述智能水表发送带有升级包号、升级包长和升级包数据的分块升级指令,并接收下一回码指令,并对所述回码指令进行步骤S4的校验和解析,如此循环,直到升级包号与总包数相同时,并接收到所述回码指令类型为升级结束指令类型时,则完成程序升级。
2.根据权利要求1所述的一种基于蓝牙智能水表程序升级方法,其特征在于:所述步骤S41中,当触发重传机制次数超过三次,则提示用户此次升级失败,所述重传机制为设置重传次数mCount变量,每次重传都会重新发送所述请求升级指令,重传一次mCount增加1,并在接收到下一次回码指令时会解析出上一次失败的升级包号、升级包长和升级目标版本号信息,并继续完成升级过程,如果触发重传机制次数超过三次,则提示用户此次升级失败,重传次数mCount重置为0。
3.根据权利要求1所述的一种基于蓝牙智能水表程序升级方法,其特征在于:所述步骤S4中,计算总包数的方法如下:用本地缓存总字节数取模升级包长字节数:若结果为0,则用本地缓存总字节数整除升级包长字节数,得到升级总包长数为M;若结果不为0,则用本地缓存总字节数整除升级包长字节数,得到升级总包长数为M+1。
4.一种基于蓝牙智能水表程序升级装置,其特征在于:所述装置用于手机端,包括:
读取模块,用于手机APP与智能水表蓝牙连接,读取本地升级文件,获取所述升级文件中的当前版本号和目标版本号,并将所述升级文件中的升级数据写入缓存中;
发送模块,用于向所述智能水表发送请求升级指令和分块升级指令;
接收模块,用于接收所述智能水表的回码指令;
校验模块,用于校验及解析所述回码指令;及
重传模块,用于所述回码指令丢失或不正确时,重新发送所述请求升级指令。
5.根据权利要求4所述的一种基于蓝牙智能水表程序升级装置,其特征在于:所述装置还包括计算模块,用于根据本地缓存总字节数和升级包长,计算出总包数。
6.根据权利要求5所述的一种基于蓝牙智能水表程序升级装置,其特征在于:校验及解析所述回码指令的具体方法如下:判断所述回码指令是否丢失或正确:若所述回码指令丢失或不正确,则会触发重传机制,返回重新发送所述请求升级指令,当触发重传机制次数超过三次,则提示用户此次升级失败;若所述回码指令正确,则进行判断所述回码指令类型,所述回码指令类型包括请求升级指令类型、分块升级包指令类型和升级结束指令类型;当所述回码指令类型为请求升级指令类型时,通过所述回码实体数据解析出升级标志,判断所述升级标志是否需要升级;若所述升级标志为不需要升级,则提示不能升级的情况说明;若所述升级标志为需要升级,则通过所述回码实体数据解析出升级包号、升级包长和目标版本号信息,且根据本地缓存总字节数和升级包长,计算出总包数,并向所述智能水表发送带有升级包号、升级包长和升级包数据的分块升级指令,且接收下一回码指令,并对所述回码指令进行校验和解析;当所述回码指令类型为分块升级包指令类型时,通过所述回码实体数据解析出升级包号、升级包长和目标版本号信息,并向所述智能水表发送带有升级包号、升级包长和升级包数据的分块升级指令,且接收下一回码指令,并对所述回码指令进行校验和解析;当所述回码指令类型为升级结束指令类型时,通过回码实体数解析出升级完成标志,当所述升级完成标志为升级成功时,手机APP提示升级成功,更新用户界面;当所述升级完成标志为升级失败时,手机APP提示升级失败;如此循环,直到升级包号与总包数相同时,并接收到所述回码指令类型为升级结束指令类型时,则完成程序升级。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至3任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至3任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111307818.4A CN114020297A (zh) | 2021-11-05 | 2021-11-05 | 一种基于蓝牙智能水表程序升级方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111307818.4A CN114020297A (zh) | 2021-11-05 | 2021-11-05 | 一种基于蓝牙智能水表程序升级方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114020297A true CN114020297A (zh) | 2022-02-08 |
Family
ID=80061868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111307818.4A Pending CN114020297A (zh) | 2021-11-05 | 2021-11-05 | 一种基于蓝牙智能水表程序升级方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114020297A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115686586A (zh) * | 2022-11-16 | 2023-02-03 | 深圳市拓邦自动化技术有限公司 | 终端设备程序升级方法、装置及用电设备 |
CN116088912A (zh) * | 2023-04-11 | 2023-05-09 | 瑞纳智能设备股份有限公司 | 户端设备升级应用***、方法及计算机可读存储介质 |
CN117573156A (zh) * | 2023-10-19 | 2024-02-20 | 京源中科科技股份有限公司 | 支持红外功能的超声波水表升级方法、***及装置 |
-
2021
- 2021-11-05 CN CN202111307818.4A patent/CN114020297A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115686586A (zh) * | 2022-11-16 | 2023-02-03 | 深圳市拓邦自动化技术有限公司 | 终端设备程序升级方法、装置及用电设备 |
CN116088912A (zh) * | 2023-04-11 | 2023-05-09 | 瑞纳智能设备股份有限公司 | 户端设备升级应用***、方法及计算机可读存储介质 |
CN117573156A (zh) * | 2023-10-19 | 2024-02-20 | 京源中科科技股份有限公司 | 支持红外功能的超声波水表升级方法、***及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114020297A (zh) | 一种基于蓝牙智能水表程序升级方法、装置、设备和介质 | |
CN106569847B (zh) | 一种用于车载***基于移动网络实现iap远程升级的方法 | |
CN108011935B (zh) | 一种nb-iot设备的程序升级方法、服务器及nb-iot设备 | |
EP3206110A1 (en) | Method of providing handwriting style correction function and electronic device adapted thereto | |
CN106843942A (zh) | 穿戴式设备的固件升级方法及穿戴式设备 | |
CN105262627A (zh) | 一种固件升级方法、装置及*** | |
CN104090796A (zh) | 一种嵌入式设备程序更新方法和*** | |
CN107908417B (zh) | 固件升级方法及电子设备 | |
US20170068585A1 (en) | Method and Apparatus for Recovering System Software of Intelligent Terminal | |
CN112100081B (zh) | 基于双芯智能电表的升级测试方法、装置和计算机设备 | |
CN113972990B (zh) | 数据校验方法、装置、存储介质及电子设备 | |
EP4224317A1 (en) | Method and apparatus for controlling distributed operation system, and device, medium and program product | |
CN112131092A (zh) | 页面调试方法和装置 | |
CN112631911A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN105045671B (zh) | 一种智能终端的***升级方法及装置 | |
CN106055420A (zh) | 一种数据校验方法、装置及设备 | |
CN110569058A (zh) | ***升级方法、装置、终端及计算机可读存储介质 | |
CN113360161B (zh) | 资源升级方法及相关产品 | |
CN110532203B (zh) | 一种nand复位方法、装置、电子设备和存储介质 | |
CN107515757A (zh) | 软件程序升级方法和***、终端 | |
CN105791514B (zh) | 一种应用启动监测方法及装置 | |
CN115129509B (zh) | 一种数据传输方法、装置、介质 | |
EP4407892A1 (en) | Infrared communication method and apparatus, and storage medium and electronic apparatus | |
CN109150414B (zh) | 加强设备之间蓝牙通信稳定方法、装置、设备及存储介质 | |
CN116243949A (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 |