【技术实现步骤摘要】
一种基于MQTT通讯协议的单片机固件升级通讯方法
[0001]本专利技术涉及一种基于MQTT通讯协议的单片机空中下载固件升级方法。
技术介绍
[0002]物联网是一个通过信息技术将各种物体连接成网络以帮助人们获取这些物体的信息的媒介,其已被广泛应用到智能物流、智能交通、金融管理等各个领域。大量的低成本物联网设备采用低价低性能的单片机作为中央处理器,其常用的通讯协议为MQTT,单片机的空中下载固件升级(firmware update Over The Air)是一个重要的功能。
[0003]MQTT(消息队列遥测传输)是ISO标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议。
[0004]MQTT协议是为大量计算能力有限且工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议,它具有以下主要的几项特性:
[0005]特性一)使用发布/订阅消息模式,提供一对多的消 ...
【技术保护点】
【技术特征摘要】
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值以及新固件的镜...
【专利技术属性】
技术研发人员:王维,黄海峰,邢瑞毅,王天瑞,苏慧杰,
申请(专利权)人:上海建工集团股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。