CN105071953A - 一种物联网智能设备固件及应用程序升级方法 - Google Patents
一种物联网智能设备固件及应用程序升级方法 Download PDFInfo
- Publication number
- CN105071953A CN105071953A CN201510416030.5A CN201510416030A CN105071953A CN 105071953 A CN105071953 A CN 105071953A CN 201510416030 A CN201510416030 A CN 201510416030A CN 105071953 A CN105071953 A CN 105071953A
- Authority
- CN
- China
- Prior art keywords
- packet
- equipment
- field
- client
- server
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种物联网智能设备固件及应用程序升级方法,主要目的是为目前物联网设备固件及应用程序升级提供一种可行有效的升级方法。此升级***采用自定义的升级协议,通过局域网、NAT穿越和服务器这三种方法优化了升级模式,提高了升级文件的传输效率。设备端自动连网并通过心跳机制连接服务器,使开发人员可以通过电脑客户端在任意时刻控制设备进行远程升级。
Description
技术领域
本发明涉及计算机领域,具体而言,本发明涉及一种物联网智能设备固件及应用程序升级方法。
背景技术
随着物联网的兴起与发展,大量如传感器等智能设备连入互联网,它们数量众多,并需要不断地升级固件或应用程序来满足新的用户需求。如今已经实现通过互联网对设备进行远程固件及应该用程序升级,但升级大多采用传统的C/S结构,即通过服务器转发升级文件给设备端进行升级。同时随着设备数量不断增加,庞大的设备数量带来的是对升级效率的进一步苛求。在待升级设备数量众多的情况下,升级效率就会明显下降。
发明内容
为解决上述技术问题,本发明提供了一种物联网智能设备固件及应用程序升级方法,包括客户端、服务器和设备三者间的通信采用一个基于UDP协议的DHCP协议;
设备通过DHCP协议自动连网并通过心跳机制与服务器保持长连接,使服务器内存储的设备IP地址信息是最新的,保证服务器能够随时与设备通信;客户端通过服务器获取设备的IP地址信息,并根据实际网络选择升级方式;
DHCP协议的帧结构包括首部字段和数据字段;首部字段包括opcode、block、IP、Port和MAC字段,数据字段为Message字段;每次通信发送的数据包中,包含首部字段,不一定包含数据字段;
传输过程采用接收确认机制和超时重发机制:
接收确认机制采用一问一答方式实现;设备每次收到数据包后检查所述block字段的数据包ID,如数据包ID正确则回复确认消息给客户端进行确认,并等待接收此ID为下一号的数据包;如果数据包ID错误,则设备发送错误消息和错误代码,通知客户端重新发送此ID的数据包;
超时重发机制的过程为:当客户端发送完一个数据包时,立刻开始一段时间的计时,在此段时间内,如果客户端没有收到来自设备的接收确认消息,则认为数据包在传输过程中丢失,待计时结束后,客户端会重新发送此ID的数据包。
进一步地,部字段中的opcode为数据包的操作码,包括数据传输操作码、NAT穿越操作码和设备控制操作码。
进一步地,升级方式包括局域网升级模式、NAT穿越升级模式和服务器升级模式。
进一步地,block字段为储存升级数据包ID;IP、Port和MAC字段用于储存设备的地址信息。
进一步地,IP字段储存设备的IP地址信息;Port字段储存设备的端口号,MAC字段储存设备的MAC地址。
本发明所述的一种物联网智能设备固件及应用程序升级方法采用自定义的升级协议,通过局域网、NAT穿越和服务器这三种方法优化了升级模式,相比现有技术,提高了升级文件的传输效率。设备端自动连网并通过心跳机制连接服务器,使开发人员可以通过电脑客户端在任意时刻控制设备进行远程升级。
附图说明
为了使本发明的内容更容易被清楚的理解,下面结合附图,对本发明作进一步详细的说明,其中,
图1是本发明所述的一种物联网智能设备固件及应用程序升级方法的DHCP协议的帧结构示意图;
图2是本发明所述的一种物联网智能设备固件及应用程序升级方法的一次升级过程的示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
在本方法中,设备通过基于UDP协议的DHCP协议自动连网并通过心跳机制与服务器保持长连接,使服务器内存储的设备IP地址等信息是最新的,保证服务器能够随时与设备通信。客户端通过服务器获取设备的IP地址等信息,并根据实际网络选择最优的方式进行升级。升级方式分为三种:局域网升级模式、NAT穿越升级模式和服务器升级模式。此升级方法为三种模式设定优先级别,并根据客户端与设备端所处网络进行升级模式的选择。当客户端与设备处于同一局域网,通过服务器确认并选择局域网升级模式进行升级;当客户端与设备处于不同网络中,服务器检测二者是否可以NAT穿越,如果可以,则选择NAT穿越升级模式进行升级;当前两种方式都不可用的情况下,选择服务器升级模式进行升级。
如图1所示,DHCP协议的帧结构由两部分组成,分别为首部字段和数据字段,其中首部字段包括opcode、block、IP、Port和MAC字段,数据字段为Message字段。每次通信发送的数据包中,首部字段一定包含,数据字段选择性包含。首部字段中的opcode为数据包的操作码,相应数值和操作说明如表1所示,主要分为数据传输操作码、NAT穿越操作码和设备控制操作码。block字段储存升级数据包ID。IP、Port和MAC字段用于储存设备的地址信息等。
Name | opcode | Introduction |
RRQ | 1 | 读取文件请求 |
WRQ | 2 | 写入文件请求 |
DATA | 3 | 数据消息 |
ACK | 4 | 数据消息确认 |
ERROR | 5 | 错误消息 |
REGISTER | 10 | 设备向服务器发送心跳包 |
LIST | 11 | 向服务器请求在线设备列表 |
PUNCHING | 12 | 客户端向设备进行NAT穿越 |
MESSAGE | 13 | 客户端向设备发送消息(NAT穿越成功后) |
LIST_ACK | 14 | 服务器响应客户端LIST的请求 |
TRASH | 15 | 设备向客户端发送垃圾包 |
PUNCHED | 16 | 设备通知服务器,完成“打洞”步骤 |
P2PTEST | 17 | 客户端进行P2P测试,检测NAT穿越是否成功 |
P2PACK | 18 | 设备响应客户端P2PTEST消息,NAT穿越成功 |
LANCONNECT | 19 | 服务器通知客户端可以局域网内升级 |
UPDATE | 20 | 客户端向设备发送UPDATE消息,进行升级 |
表1
为确保升级文件传输准确,传输过程采用接收确认机制和超时重发机制,其中接收确认机制采用一问一答方式实现。设备每次收到数据包后检查block字段的数据包ID是否是自己需要的,如ID正确则回复确认消息给客户端进行确认,并等待接收ID为下一号的数据包;如果数据包ID错误,则设备发送错误消息和错误代码,通知客户端重新发送此ID的数据包。超时重发机制的过程为:当客户端发送完一个数据包时,立刻开始一段时间的计时,在此段时间内,如果客户端没有收到来自设备的接收确认消息,则认为数据包在传输过程中丢失,待计时结束后,客户端会重新发送此ID的数据包。
作为本实施例的具体实现方式,如图2所示,首先,客户端向设备发送UPDATE消息通知设备进行升级,数据包中包含了升级用到的文件名,存储在Message字段中。作为回应,设备发送RRQ消息给客户端,同时也将升级文件名储存在Message字段中进行发送。接收到RRQ消息后,客户端把包中的文件名进行比对,如果错误则重新发送UPDATE消息。确认文件名正确后,客户端开始向设备发送ID号为1、2、……、n的文件分包,相应的opcode字段为DATA,每个文件分包都传输512字节的升级数据给设备。设备响应每个升级文件分包,回发ID号为1、2、……、n的响应包,其opcode字段对应为ACK。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明的保护范围之中。
Claims (5)
1.一种物联网智能设备固件及应用程序升级方法,其特征在于,
客户端、服务器和设备三者间的通信采用一个基于UDP协议的DHCP协议;
所述设备通过所述DHCP协议自动连网并通过心跳机制与所述服务器保持长连接,使所述服务器内存储的所述设备IP地址信息是最新的,保证所述服务器能够随时与所述设备通信;所述客户端通过服务器获取所述设备的IP地址信息,并根据实际网络选择升级方式;
所述DHCP协议的帧结构包括首部字段和数据字段;所述首部字段包括opcode、block、IP、Port和MAC字段,所述数据字段为Message字段;每次通信发送的数据包中,包含所述首部字段,不一定包含所述数据字段;
传输过程采用接收确认机制和超时重发机制:
所述接收确认机制采用一问一答方式实现;所述设备每次收到数据包后检查所述block字段的数据包ID,如所述数据包ID正确则回复确认消息给所述客户端进行确认,并等待接收下一号的数据包;如果所述数据包ID错误,则所述设备发送错误消息和错误代码,通知所述客户端重新发送数据包;
所述超时重发机制的过程为:当所述客户端发送完一个数据包时,立刻开始一段时间的计时,在此段时间内,如果所述客户端没有收到来自所述设备的接收确认消息,则认为数据包在传输过程中丢失,待计时结束后,所述客户端会重新发送数据包。
2.根据权利要求1所述的物联网智能设备固件及应用程序升级方法,其特征在于,所述首部字段中的opcode为数据包的操作码,包括数据传输操作码、NAT穿越操作码和设备控制操作码。
3.根据权利要求1所述的物联网智能设备固件及应用程序升级方法,其特征在于,所述升级方式包括局域网升级模式、NAT穿越升级模式和服务器升级模式。
4.根据权利要求1所述的物联网智能设备固件及应用程序升级方法,其特征在于,所述block字段为储存升级数据包ID;所述IP、Port和MAC字段用于储存设备的地址信息。
5.根据权利要求4所述的物联网智能设备固件及应用程序升级方法,其特征在于,所述IP字段储存所述设备的IP地址信息;所述Port字段储存所述设备的端口号,所述MAC字段储存所述设备的MAC地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510416030.5A CN105071953B (zh) | 2015-07-16 | 2015-07-16 | 一种物联网智能设备固件及应用程序升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510416030.5A CN105071953B (zh) | 2015-07-16 | 2015-07-16 | 一种物联网智能设备固件及应用程序升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105071953A true CN105071953A (zh) | 2015-11-18 |
CN105071953B CN105071953B (zh) | 2018-08-28 |
Family
ID=54501240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510416030.5A Active CN105071953B (zh) | 2015-07-16 | 2015-07-16 | 一种物联网智能设备固件及应用程序升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105071953B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109298879A (zh) * | 2017-07-25 | 2019-02-01 | 深圳市中兴微电子技术有限公司 | 一种高效物联网fota升级的方法 |
CN113141263A (zh) * | 2020-01-02 | 2021-07-20 | 广东博智林机器人有限公司 | 一种升级方法、装置、***和存储介质 |
CN114745267A (zh) * | 2022-03-28 | 2022-07-12 | 杭州涂鸦信息技术有限公司 | 一种功能更新方法及相关装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030163341A1 (en) * | 2002-02-26 | 2003-08-28 | International Business Machines Corporation | Apparatus and method of dynamically updating dynamic host configuration protocol (DHCP) options |
CN101252458A (zh) * | 2008-01-30 | 2008-08-27 | 深圳市共进电子有限公司 | 一种固件批量升级方法 |
CN101296146A (zh) * | 2008-05-21 | 2008-10-29 | 深圳创维-Rgb电子有限公司 | 电视机远程升级*** |
CN101321350A (zh) * | 2008-07-24 | 2008-12-10 | 北京立通无限科技有限公司 | 移动终端应用软件自动升级的方法、装置和*** |
CN103580921A (zh) * | 2013-11-08 | 2014-02-12 | 深圳市共进电子股份有限公司 | 一种网络设备自动升级的方法及自动升级*** |
CN103970553A (zh) * | 2013-01-30 | 2014-08-06 | 广东美的制冷设备有限公司 | 一种家电产品功能升级的控制方法 |
-
2015
- 2015-07-16 CN CN201510416030.5A patent/CN105071953B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030163341A1 (en) * | 2002-02-26 | 2003-08-28 | International Business Machines Corporation | Apparatus and method of dynamically updating dynamic host configuration protocol (DHCP) options |
CN101252458A (zh) * | 2008-01-30 | 2008-08-27 | 深圳市共进电子有限公司 | 一种固件批量升级方法 |
CN101296146A (zh) * | 2008-05-21 | 2008-10-29 | 深圳创维-Rgb电子有限公司 | 电视机远程升级*** |
CN101321350A (zh) * | 2008-07-24 | 2008-12-10 | 北京立通无限科技有限公司 | 移动终端应用软件自动升级的方法、装置和*** |
CN103970553A (zh) * | 2013-01-30 | 2014-08-06 | 广东美的制冷设备有限公司 | 一种家电产品功能升级的控制方法 |
CN103580921A (zh) * | 2013-11-08 | 2014-02-12 | 深圳市共进电子股份有限公司 | 一种网络设备自动升级的方法及自动升级*** |
Non-Patent Citations (3)
Title |
---|
曹申会: ""NAT穿越技术研究与实现"", 《中国优秀硕士学位论文全文数据库-信息科技辑》 * |
王坤,林莉芸: ""心跳机制在DHCP协议中的应用"", 《新乡学院学报》 * |
黄亮: ""一个基于UDP协议的P2P即时通讯软件的设计与实现"", 《中国优秀硕士学位论文全文数据库-信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109298879A (zh) * | 2017-07-25 | 2019-02-01 | 深圳市中兴微电子技术有限公司 | 一种高效物联网fota升级的方法 |
CN113141263A (zh) * | 2020-01-02 | 2021-07-20 | 广东博智林机器人有限公司 | 一种升级方法、装置、***和存储介质 |
CN113141263B (zh) * | 2020-01-02 | 2022-09-27 | 广东博智林机器人有限公司 | 一种升级方法、装置、***和存储介质 |
CN114745267A (zh) * | 2022-03-28 | 2022-07-12 | 杭州涂鸦信息技术有限公司 | 一种功能更新方法及相关装置 |
CN114745267B (zh) * | 2022-03-28 | 2024-05-24 | 杭州涂鸦信息技术有限公司 | 一种功能更新方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105071953B (zh) | 2018-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101481443B1 (ko) | 통신 네트워크의 디바이스 관리 방법 및 시스템 | |
CN101645801B (zh) | 基于集群管理的软件版本升级方法及命令交换机 | |
CN105573810A (zh) | 一种无线传感器网络节点远程升级方法及装置 | |
US7664050B2 (en) | Auto-configuring operation modes for network elements | |
CN105229972B (zh) | 增强的动态主机配置协议方法 | |
CN104954502A (zh) | 生产线中的mac地址更新方法和*** | |
CN101686145A (zh) | 一种具有升级功能的设备、升级方法及*** | |
CN101951369A (zh) | 基于自动发现的终端批量升级方法及其*** | |
CN106301959A (zh) | 基于windows和linux平台的网关批量升级方法及*** | |
CN112566282B (zh) | 一种物联网信息传递方法及平台 | |
CN112583639B (zh) | 一种网络设备的配置方法及装置 | |
CN101621411A (zh) | 微控制器远程更新方法和更新*** | |
CN107567107A (zh) | 一种传输数据的方法及装置 | |
CN105306544A (zh) | 一种远程更新方法 | |
CN105071953A (zh) | 一种物联网智能设备固件及应用程序升级方法 | |
CN103312708A (zh) | 一种基于租约文件的ip设定方法及*** | |
CN105407149A (zh) | 消息推送方法及装置 | |
KR101428778B1 (ko) | 원격검침 단말의 원격 펌웨어 업그레이드 장치 및 방법 | |
CN111130865B (zh) | 一种基于二层交换的网络设备固件批量升级方法及*** | |
CN107968725A (zh) | 家庭网关单元型终端设备配置信息返回及配置方法、设备 | |
US10129083B2 (en) | Methods for optimizing an over-the-air update using a lightweight device update protocol (LWDUP) | |
CN103973502B (zh) | 智能家居***的设备的程序无线升级方法 | |
CN113259468B (zh) | 一种网络设备配置方法及装置 | |
US10979287B2 (en) | Method and apparatus for receiving a solution when configuration function verification fails in a terminal | |
WO2021203384A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |