首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >10.腾讯云物联网设备端学习---固件升级

10.腾讯云物联网设备端学习---固件升级

原创
作者头像
fancyxu
发布于 2021-06-28 12:28:56
发布于 2021-06-28 12:28:56
2K0
举报
文章被收录于专栏:腾讯云IoT腾讯云IoT

本系列主要目的在于记录腾讯云物联网设备端的学习笔记,并且对设备端SDK进行补充说明。

简介

固件升级
固件升级

固件升级基本上算是物联网设备必备的功能,固件升级功能在IoT Hub和IoT Explorer都得到了支持。其实简单的可以看做两个部分:

  • 控制消息:和腾讯云物联网平台进行交互,包括获取固件下载的信息,实现交互的逻辑
  • 固件数据:和腾讯云对象存储平台进行交互,拉取实际的固件数据

大致的流程如下所示:

固件升级流程
固件升级流程

开发注意事项

固件升级是十分敏感的操作,要实现较为稳定的固件升级一般需要做到以下几点:

  • 固件校验:开发者对于下载的固件需要在设备端做好校验(此处不仅指md5校验,还应包括设备商自己的校验,因为md5只能保证文件的正确性,并不能保证固件本身的问题),以免造成事故。
  • 断点续传:针对弱网场景或者固件较大的设备,需要做好断点续传,保证下载的成功率,即每次下载完一段将断点的信息保存在相应的存储中(一般为flash中,也有放置于ram中,仅针对开机场景下的断点)。SDK已经支持该特性。
  • 固件备份:常规来说,待升级的固件存储在备份区域,当设备上电后,通过程序从备份区域读取固件进行升级,由于备份区只读,所以即使中途出现了掉电等异常情况,也能保证设备的可用性。
  • 多固件:其实多固件和单固件并无本质区别,因为固件升级面向的是文件,可以在文件中加入信息来将单个文件分割成多个固件。当然,还有一种方法是使用资源下载(后续文章会提及),这个也是腾讯云物联网支持的重要特性之一。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Kafka简介、基本原理、执行流程与使用场景
Apache Kafka是分布式发布-订阅消息系统,在 kafka官网上对 kafka 的定义:一个分布式发布-订阅消息传递系统。 它最初由LinkedIn公司开发,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。
Java后端技术
2018/08/09
9980
Kafka简介、基本原理、执行流程与使用场景
大数据--kafka学习第一部分 Kafka架构与实战
每个集群都有一个broker是集群控制器(自动从集群的活跃成员中选举出来) 控制器负责管理工作: 将分区分配给broker 监控broker 集群中一个分区属于一个broker,该broker称为分区首领。 一个分区可以分配给多个broker,此时会发生分区复制。 分区的复制提供了消息冗余,高可用。副本分区不负责处理消息的读写。
用户2337871
2021/01/13
6800
大数据--kafka学习第一部分 Kafka架构与实战
kafka学习之路(二)——提高
消息发送流程 因为Kafka内在就是分布式的,一个Kafka集群通常包括多个代理。为了均衡负载,将话题分成多个分区,每个代理存储一或多个分区。多个生产者和消费者能够同时生产和获取消息。 过程: 1.Producer根据指定的partition方法(round-robin、hash等),将消息发布到指定topic的partition里面 2.kafka集群接收到Producer发过来的消息后,将其持久化到硬盘,并保留消息指定时长(可配置),而不关注消息是否被消费。 3.Consumer从kafka集群pu
汤高
2018/01/11
9000
Kafka概述与设计原理
本篇属于大数据技术-> kafka 系列的开篇,本文从以下几个基础层面概述Kafka的知识点,后续在针对于单个的技术点扩展每篇博文。
用户5252199
2022/04/18
4710
Kafka概述与设计原理
【Kafka】(一)Kafka的简介
Kafka 是最初由 Linkedin 公司开发,是一个分布式、分区的、多副本的、多订阅者,基于 zookeeper 协调的分布式日志系统(也可以当做 MQ 系统),常见可以用于 web/nginx 日志、访问日志,消息服务等等,Linkedin 于 2010 年贡献给了 Apache 基金会并成为顶级开源项目。
redszhao
2021/08/09
2.6K0
【Kafka】(一)Kafka的简介
Kafka基本原理详解(超详细!)
Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于2010年贡献给了Apache基金会并成为顶级开源 项目。
全栈程序员站长
2022/08/31
26.9K3
Kafka系列1:Kafka概况
Kafka是当前分布式系统中最流行的消息中间件之一,凭借着其高吞吐量的设计,在日志收集系统和消息系统的应用场景中深得开发者喜爱。本篇就聊聊Kafka相关的一些知识点。主要包括以下内容:
王金龙
2020/02/17
8560
科普:Kafka是啥?干嘛用的?
kafka-高产出的分布式消息系统(A high-throughput distributed messaging system)。
程序猿DD
2021/04/20
11.7K0
kafka学习之Kafka 的简介(一)
Kafka 是一款分布式消息发布和订阅系统,具有高性能、高吞吐量的特点而被广泛应用与大数据传输场景。它是由 LinkedIn 公司开发,使用 Scala 语言编写,之后成为 Apache 基金会的一个顶级项目。kafka 提供了类似 JMS 的特性,但是在设计和实现上是完全不同的,而且他也不是 JMS 规范的实现。
周杰伦本人
2022/10/25
5330
kafka学习之Kafka 的简介(一)
进击消息中间件系列(一):Kafka 入门(基本概念与架构)
系统的一部分组件失效时,不会影响到整个系统。消息队列降低了进程间的耦合度,所以即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统恢复后被处理。
民工哥
2023/08/22
2.5K0
进击消息中间件系列(一):Kafka 入门(基本概念与架构)
图文详解:Kafka到底有哪些秘密让我对它情有独钟呢?
最近很少发文,一是开始总结了一下自己做了两个多月的公号了,都收获了什么,学到了什么。
浅羽技术
2020/12/17
5210
图文详解:Kafka到底有哪些秘密让我对它情有独钟呢?
kafka主要用来做什么_kafka概念
Kafka 最初由LinkedIn公司开发的,并于 2010 年贡献给了 Apache 基金会,之后成为 Apache 顶级项目。
全栈程序员站长
2022/11/09
2.8K0
kafka主要用来做什么_kafka概念
kafka集群搭建及Java客户端使用
Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、Storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。 优势:
茶半香初
2021/11/26
1.1K0
kafka集群搭建及Java客户端使用
Kafka原理解析
Kafka 是由 LinkedIn 开发的一个分布式的消息系统,使用 Scala 编写,它以可水平扩展和高吞吐率而被广泛使用。
我有一只萌妹子
2022/06/23
3290
Kafka原理解析
Kafka-简介与入门
作者介绍:简历上没有一个精通的运维工程师,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
运维小路
2025/06/07
1850
Kafka-简介与入门
分布式专题|想进入大厂,你得会点kafka
Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、Storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于2010年贡献给了Apache基金会并成为顶级开源 项目
AI码师
2020/12/11
6760
分布式专题|想进入大厂,你得会点kafka
Kafka 基础概念及架构
Kafka是⼀个分布式、分区的、多副本的、多⽣产者、多订阅者,基于zookeeper协调的分布式⽇志系统(也可以当做MQ系统),常⻅可以⽤于web/nginx⽇志、访问⽇志,消息服务等等。 Kafka主要应⽤场景:⽇志收集系统和消息系统
用户7353950
2022/06/23
1K0
Kafka 基础概念及架构
Kafka集群搭建与部署
Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一个分布式的,可划分的,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。
胡齐
2019/12/05
1.3K0
Apache Kafka-初体验Kafka(01)-入门整体认识kafka
快速开始: https://kafka.apache.org/documentation/#quickstart
小小工匠
2021/08/17
2850
Kafka 整体介绍
简述:     Kafka是一个消息中间件,一个分布式的流平台,    是Spark生态中重要的组件,支持分布式,高可用,高吞吐,多副本     是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统     Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。 能力:     1. 发布和订阅流数据,类似消息队列或消息系统     2. 高容错存储流数据     3. 支持处理数据流 Kafka能解决什么问题:     1. 日志收集:一个公司可以用Kafka可以收集各种服务的log,通过kafka以统一接口服务的方式开放给各种consumer,例如hadoop、Hbase、Solr等。     2. 消息系统:解耦和生产者和消费者、缓存消息等。     3. 用户活动跟踪:Kafka经常被用来记录web用户或者app用户的各种活动,如浏览网页、搜索、点击等活动,这些活动信息被各个服务器发布到kafka的topic中,然后订阅者通过订阅这些topic来做实时的监控分析,或者装载到hadoop、数据仓库中做离线分析和挖掘。    4. 运营指标:Kafka也经常用来记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈,比如报警和报告。    5. 流式处理:比如spark streaming和storm
Freedom123
2024/03/29
1470
相关推荐
Kafka简介、基本原理、执行流程与使用场景
更多 >
交个朋友
加入HAI高性能应用服务器交流群
探索HAI应用新境界 共享实践心得
加入云开发企业交流群
企业云开发实战交流 探讨技术架构优化
加入[游戏服务器] 腾讯云官方交流站
游戏服运维小技巧 常见问题齐排查
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档