[发明专利]一种基于MQTT通讯协议的单片机固件升级通讯方法有效

专利信息
申请号: 202011139933.0 申请日: 2020-10-22
公开(公告)号: CN112291323B 公开(公告)日: 2023-05-05
发明(设计)人: 王维;黄海峰;邢瑞毅;王天瑞;苏慧杰 申请(专利权)人: 上海电科智能系统股份有限公司;上海建工集团股份有限公司
主分类号: H04L67/12 分类号: H04L67/12;H04L67/00;H04L41/082;G06F8/65
代理公司: 上海璀汇知识产权代理事务所(普通合伙) 31367 代理人: 王文颖
地址: 200063 上海市*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 mqtt 通讯 协议 单片机 升级 方法
【权利要求书】:

1.一种基于MQTT通讯协议的单片机固件升级通讯方法,包括上位机、MQTT服务器及物联网设备,其中,MQTT服务器位于云端,上位机和物联网设备均为MQTT客户端,上位机和物联网设备之间通过MQTT服务器交互Json数据,其特征在于,所述单片机固件升级通讯方法包括以下步骤:

步骤1、若新的固件发布,则上位机启动后加载新固件的镜像文件,并获取新固件的版本号;

步骤2、上位机通过对固件版本字段Ver的订阅,确保固件版本字段Ver更新为新固件的版本号的值;

步骤3、上位机订阅物联网设备通讯字段Device和上位机通讯字段Host,通过对上位机通讯字段Host的订阅,确保上位机通讯字段名Host可成功更新;

步骤4、物联网设备上电启动后进入Bootloader程序,通过对固件版本字段名Ver的订阅获得最新的固件版本号A,将固件版本号A与当前物联网设备的当前固件版本号B进行比较,若固件版本号A大于当前固件版本号B,则进入步骤5,否则,进入步骤8;

步骤5、物联网设备申请进行固件下载,包括以下步骤:

步骤501、物联网设备更新物联网设备通讯字段Device的值为固件版本号A;

步骤502、上位机获取更新后的物联网设备通讯字段Device,核对物联网设备通讯字段Device中的版本号与固件版本字段Ver对应的版本号,如相符则更新上位机通讯字段Host为固件参数,否则更新上位机通讯字段Host为表示放弃操作的值;

步骤503、物联网设备在周期T内获取上位机通讯字段Host,若获取失败,则进入步骤505,若获取成功,则进入步骤504;

步骤504、若上位机通讯字段Host为固件参数,则擦除对应ROM,更新物联网设备通讯字段Device为表示请求第i+1行内容的值后将进入步骤6,i值初始化为0,物联网设备将变量C赋值为i值,若上位机通讯字段Host为表示放弃操作的值,则进入步骤8;

步骤505、若重复获取次数超过最大重复次数K,则进入步骤8,否则返回步骤501;

步骤6、进行固件传输,包括以下步骤:

步骤601、上位机获取物联网设备通讯字段Device,将i值更新为i+1后,更新上位机通讯字段Host,将上位机通讯字段Host的值更新为i值以及新固件的镜像文件第i行的内容;

步骤602、物联网设备获取上位机通讯字段Host,先判断上位机通讯字段Host中的i值是否为C+1,若不是,则将当前数据包丢弃,请求上位机重发数据包;若上位机通讯字段Host中的i值是为C+1,则解析上位机通讯字段Host中所包含的新固件的镜像文件第i行的内容,写入ROM,将变量C赋值为更新后的i值,进入步骤603;

步骤603、判断变量C的值是否小于新固件的镜像文件的最大行数,若是,则将物联网设备通讯字段Device更新为表示请求第i+1行内容的值后,返回步骤601,若不是,则进入步骤7;

步骤7、物联网设备进行固件完整性校验,若完整性校验成功,则将结果和新固件版本号写入ROM,单次更新物联网设备通讯字段Device为表示固件更新成功的值,跳转至步骤8;若完整性校验失败,则单次更新物联网设备通讯字段Device为表示固件更新失败的值,重启物联网设备;

若上位机获取的物联网设备通讯字段Device为表示固件更新成功的值或为表示固件更新失败的值,则更新上位机通讯字段Host为空字段;

步骤8、跳转进入App程序,物联网设备正常工作。

2.如权利要求1所述的一种基于MQTT通讯协议的单片机固件升级通讯方法,其特征在于,所述步骤2或步骤3中,对所述固件版本字段Ver或所述上位机通讯字段Host的订阅及更新包括以下步骤:

步骤201:以固定数据重发周期T,对固件版本字段Ver或上位机通讯字段Host进行更新,并获取更新后的固件版本字段Ver的值或上位机通讯字段Host的值,设上位机在当前数据重发周期T内更新的固件版本字段Ver的值或上位机通讯字段Host的值为V1,进入步骤202;

步骤202:上位机在当前数据重发周期T内获得固件版本字段Ver的值或上位机通讯字段Host的值为V2,进入步骤203;

步骤203:若V1=V2,则固件版本字段Ver或上位机通讯字段Host更新成功,结束对固件版本字段Ver或上位机通讯字段Host的订阅,否则,返回步骤201。

3.如权利要求1所述的一种基于MQTT通讯协议的单片机固件升级通讯方法,其特征在于,所述步骤4中,所述物联网设备运行自带定时重启功能。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海电科智能系统股份有限公司;上海建工集团股份有限公司,未经上海电科智能系统股份有限公司;上海建工集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202011139933.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top