适用于618/7xx芯片平台 AT开发 远程FOTA升级指南教程

简介

AT版本的远程升级主要是对AT固件版本进行升级,实际方式为通过合宙官方IOT平台升级或者使用自己搭建的服务器进行升级服务。

该文档教程流程适用于 618/716S/718P 芯片平台的Cat.1模块

合宙IOT平台配置

升级日志 —— 如何查看

在这里插入图片描述

升级日志 —— 响应码列表

响应码响应信息问题以及解决办法云平台日志结果
3无效的设备检查请求键名(imei小写)正确性
17无权限设备会上报imei、固件名、项目key。 服务器会以此查出设备、固件、项目三 条记录, 如果 这三者不在同一个用户名下,就会认为无权限。 设备不在项目key对应的账户下, 可寻找合宙技术支持查询该设备在哪个账户下, 核实情况后可修改设备归属无权限
2121不允许从1.0.2升到1.0.321
25无效的项目productkey不一致,检查是否存在拼写错误, 检查模块是否在本人账户下,若不在本人账户下,请联系合宙工作人员处理未找到项目
26无效的固件固件名称错误,项目中没有对应的固件。用户自己修改了固件名称,可对照升级日志中设备当前固件名与升级配置中固件名是否相同(固件名称,固件功能要完全一致,只是版本号不同)。找不到固件
27已是最新版本1、设备固件版本高于云平台 2、固件版本设备脚本版本高于云平台版本 3、用户项目升级配置中未添加该设备 4、云平台升级配置中,是否升级配置为否已是最新版本 设备不在配置的升级设备列表中
40循环升级云平台进入设备列表搜索被禁止的imei,解除禁止升级就好了。 云平台防止模块在升级失败后,反复请求升级导致流量耗尽, 在模块一天请求升级六次后会禁止模块升级。可在平台解除。检测到循环升级 (已禁止升级,请到设备列表解除)
43请等待云平台生成差分升级包需要等待, 一到三分钟后云平台生成完成差分包便可以请求成功。正在生成版本,请等待
44基础版本缺失平台未收录设备固件(多为定制固件, 可寻找合宙技术支持人员添加,需提供定制固件邮件)基础CORE版本缺失

使用默认项目名配置

此为合宙IOT平台对应链接。

客户在向合宙采购4G模块时,如果采购人员没有告知这批模块应该放在IOT平台的哪个产品下,合宙则会以采购人的手机号为账号,默认密码888888

618 芯片平台的模块,需要创建一个"Air7XXE标准模块"的项目。

716s/718p 芯片平台的模块,需要创建一个"Air7XXF标准模块"的项目

注意:以上方命名创建的项目为对应芯片平台模块 默认OTA请求升级的项目。并将此次所采购的所有模块都放在这个项目下,如果模块没在该项目下或者需要更换项目请联系合宙工作人员。
在这里插入图片描述

在这里插入图片描述

配置流程

以780ET为例,获取[AT固件版本](AirM2M_EC718-EC716_AT 发行版 - Gitee.com),下载到本地后解压并将dfota.bin文件上传到dfota中。

  1. 在IOT平台-我的项目页面点击固件列表
    在这里插入图片描述

  2. 创建固件,上传对应文件

在这里插入图片描述

在这里插入图片描述

  1. 上传好文件之后会自动生成固件名称,不需要修改

在这里插入图片描述

  1. 如果配置“升级全部设备”选项为“是”,则无需配置IMEI,按照上述内容配置即可。如果选择“否”,还需添加IMEI,如下图所示。

在这里插入图片描述

AT指令触发升级

手动触发升级

如下模块从V1015升级到V1016的流程

在这里插入图片描述

自动升级(默认24小时内自动触发)

自动升级是模块定期向后台发送升级请求,来获取新固件进行更新的,大致流程如下

在这里插入图片描述

可以通过AT+UPGRADE=“PERIOD”,60设置自动升级时间,这里设置为60s来作为演示

在这里插入图片描述

使用自建项目名配置

客户从合宙采购完模块之后,注册登录合宙IOT平台,在IOT平台我的项目页面新建一个项目,并要求合宙工作人员将这批模块放入新建的项目中(客户本身无权限进行操作)。本示例就以“远程升级模块”为项目名进行远程升级。

在这里插入图片描述

该项目下的模块可通过设备列表查看
在这里插入图片描述

在这里插入图片描述

配置流程

以780ET为例,获取[AT固件版本](AirM2M_EC718-EC716_AT 发行版 - Gitee.com),下载到本地后解压并将dfota.bin文件上传到dfota中。

  1. 在IOT平台-我的项目页面点击固件列表

在这里插入图片描述

  1. 创建固件,上传对应文件

在这里插入图片描述
在这里插入图片描述

  1. 上传好文件之后会自动生成固件名称,不需要修改

在这里插入图片描述

  1. 如果配置“升级全部设备”选项为“是”,则无需配置IMEI,按照上述内容配置即可。如果选择“否”,还需添加IMEI,如下图所示。

在这里插入图片描述

AT指令触发升级

手动触发升级
  1. 通过下方图示操作,找到对应项目的项目Key。

在这里插入图片描述

  1. 复制项目Key,用AT+UPGRADE=“KEY”,ProductKey进行配置,该命令会参数会写入nv,掉电保存,其中ProductKey为对应项目Key。
    然后再用AT+UPGRADE进行远程升级。

在这里插入图片描述

自动升级(默认24小时内自动触发)

自动升级是模块定期向后台发送升级请求,来获取新固件进行更新的,大致流程如下

在这里插入图片描述

可以通过AT+UPGRADE=“PERIOD”,60设置自动升级时间,这里设置为60s来作为演示

在这里插入图片描述

自定义服务器升级

  • 使用自己的服务器来升级模块和使用iot平台升级最重要的区别是下载固件的来源不同。
  • 其实FOTA的过程是新老版本生成差分包再进行升级的过程,那么这个差分的过程在哪里呢?使用合宙iot平台升级,差分的过程在iot服务器后台,那使用自己的服务器该怎么办呢?答案当然是自己来完成差分的过程,放在服务器等待模块来下载。

差分包生成工具

​ 手动生成差分包的过程使用doc平台工具中的差分工具 差分工具

blog.csdnimg.cn/direct/64404bdf900f4b20874e15aace9c4fea.png#pic_center
在这里插入图片描述

下载生成的差分文件

在这里插入图片描述

  • 本次我们从V1015升级到V1016需要准备各自的bin远程升级文件,上传完成后等待差分完成,下载得到的差分文件,这里将名字改为dfota_final_AirM2M_AirM2M_V1016.bin

配置流程

  • 把生成的固件放到服务器上,然后通过**AT+UPGRADE=“URL”,“”**指令设置对应的URL链接。
  • 配置完差分包URL地址成功后,AT+UPGRADE 主动触发升级。
  • 升级流程如下,这里选择了USB的另外一个端口,可以上报模块的升级过程:

服务器上,然后通过**AT+UPGRADE=“URL”,“”**指令设置对应的URL链接。

  • 配置完差分包URL地址成功后,AT+UPGRADE 主动触发升级。
  • 升级流程如下,这里选择了USB的另外一个端口,可以上报模块的升级过程:

在这里插入图片描述

恭喜你成功从V1015版本通过自己服务器搭建FOTA服务的方式升级到了更新的V1016版本!

咨询电话合宙市场部葛理想1372324537

企业微信

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/381185.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【BUG】已解决:ModuleNotFoundError: No module named ‘torch‘

已解决:ModuleNotFoundError: No module named ‘torch‘ 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,武汉城市…

Unity-URP-SSAO记录

勾选After Opacity Unity-URP管线,本来又一个“bug”, 网上查不到很多关于ssao的资料 以为会不会又是一个极度少人用的东西 而且几乎都是要第三方替代 也完全没有SSAO大概的消耗是多少,完全是黑盒(因为用的人少,研究的人少,优…

ubuntu2204配置anacondacuda4090nvidia驱动

背景 某个机房的几台机器前段时间通过dnat暴露至公网后被入侵挖矿,为避免一些安全隐患将这几台机器执行重装系统操作; 这里主要记录配置nvidia驱动及cuda&anaconda。 步骤 大概分为几个步骤 禁用nouveau配置grub显示菜单install nvidia-driveri…

Qt Style Sheets-使用样式表自定义 Qt 部件

使用样式表自定义 Qt 部件 在使用样式表时,每个小部件都被视为具有四个同心矩形的框:边距矩形、边框矩形、填充矩形和内容矩形。框模型对此进行了更详细的描述。 盒模型 以下是四个同心矩形在概念上的呈现方式: 边距超出边框。边框绘制在边…

1.Fabric框架

要了解Fabric,首先要知道Hyperledger开源项目。 2015年12月,由开源世界的旗舰组织Linux基金会牵头,30家初始企业成员共同宣布Hyperledger联合项目成立。Hyperledger 超级账本,是首个面向企业应用场景的分布式账本平台&#xff0c…

【Spark官方文档部分翻译】RDD编程指南(RDD Programming Guide)

写在前面 内容如何选择 本翻译只翻译本人认为精华的部分,本人认为的Spark的一些核心理念,编程思想。一些特别基础的操作包括但不限于搭建环境就不在此赘述了。 配套版本 本系列基于Spark 3.3.1,Scala 2.12.10,进行翻译总结 原…

nginx通过nginx_upstream_check_module实现后端健康检查

1、简介说明 nginx是常用的反向代理和负载均衡服务,具有强大并发能力、稳定性、丰富的功能集、低资源的消耗。 nginx自身是没有针对后端节点健康检查的,但是可以通过默认自带的ngx_http_proxy_module 模块和ngx_http_upstream_module模块中的相关指令来完…

Redis之List列表

目录 一.列表讲解 二.列表命令 三.内部编码 四.应用场景 Redis的学习专栏:http://t.csdnimg.cn/a8cvV 一.列表讲解 列表类型是用来存储多个有序的字符串,如下所示,a、b、c、d、e五个元素从左到右组成了一个有序的列表,列表中的…

单例模式_Golang

目录 一、单例模式 1.1 基本概念 1.2 使用场景 二、Golang实现 2.1 懒汉模式(Lazy Loading) 一、单例模式 1.1 基本概念 一个类只能生成一个实例,且该类能自行创建这个实例的一种模式,这个定义个人感觉可以拆的通俗一些,在项目的生命周…

uniapp小程序上传pdf文件

<template><view class"mainInnBox"><view class"formBox"><!-- 注意&#xff0c;如果需要兼容微信小程序&#xff0c;最好通过setRules方法设置rules规则 --><u-form :model"form" ref"uForm" :rules&quo…

C语言:数组-学习笔记(万字笔记)——翻新版

目录 前言&#xff1a; 1、 数组的概念 1.1 什么是数组 1.2 为什么学习数组&#xff1f; 2. ⼀维数组的创建和初始化 2.1 数组创建 2.2 数组的初始化 2.3 数组的类型 2.3.1 什么是数组类型&#xff1f; 2.3.2 数组类型的作用 3、 一维数组的使用 3.1 数组下标 3.2 数…

ExoPlayer架构详解与源码分析(15)——Renderer

系列文章目录 ExoPlayer架构详解与源码分析&#xff08;1&#xff09;——前言 ExoPlayer架构详解与源码分析&#xff08;2&#xff09;——Player ExoPlayer架构详解与源码分析&#xff08;3&#xff09;——Timeline ExoPlayer架构详解与源码分析&#xff08;4&#xff09;—…

CentOS 7 初始化环境配置详细

推荐使用xshell远程连接&#xff0c;如链接不上 请查看 CentOS 7 网络配置 修改主机名 hostname hostnamectl set-hostname xxx bash 关闭 SElinux 重启之后生效 配置yum源&#xff08;阿里&#xff09; 先备份CentOS-Base.repo&#xff0c;然后再下载 mv /etc/yum.repos…

《昇思25天学习打卡营第24天|基于 MindSpore 实现 BERT 对话情绪识别》

1. BERT 模型概述 BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;是一个预训练的语言表示模型&#xff0c;可以应用于多种自然语言处理任务&#xff0c;包括对话情绪识别。BERT 通过双向 Transformer 编码器&#xff0c;能同时考虑句子…

什么是单例模式,有哪些应用?

目录 一、定义 二、应用场景 三、6种实现方式 1、懒汉式&#xff0c;线程不安全。 2、懒汉式&#xff0c;线程安全 3、双检锁/双重校验锁&#xff08;DCL&#xff0c;即 double-checked locking&#xff09; 4、静态内部类方式-------只适用于静态域 5、饿汉式 6、枚举…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 图像物体的边界(200分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,支持题目在线…

NFT革命:数字资产的确权、营销与元宇宙的未来

目录 1、NFT&#xff1a;数字社会的数据确权制度 2、基于低成本及永久产权的文化发现 3、PFP&#xff1a;从“小图片”到“身份表达”&#xff0c;再到社区筛选 4、透明表达&#xff1a;NFT 在数字化营销中的商业价值 5、可编程性&#xff1a;赋予 NFT 无限可能的应用 5.…

系统架构设计师教程(清华第二版) 第3章 信息系统基础知识-3.2 业务处理系统-解读

教材中,一会儿“业务处理系统”,一会儿“事务处理系统”,语法毛病一堆。真是清华的水平!!! 系统架构设计师教程 第3章 信息系统基础知识-3.2 业务处理系统 3.2.1 业务处理系统的概念3.2.2 业务处理系统的功能3.2.2.1 数据输入3.2.2.2 数据处理3.2.2.2.1 批处理 (Batch …

驱动框架——CMSIS第一部分 RTE驱动框架介绍

一、介绍CMISIS 什么是CMSIS&#xff08;cortex microcontrol software interface standard一种软件标准接口&#xff09;&#xff0c;官网地址&#xff1a;https://arm-software.github.io/CMSIS_6/latest/General/index.html 包含的core、driver、RTOS、dsp、nn等部分&…

Synchronized升级到重量级锁会发生什么?

我们从网上看到很多&#xff0c;升级到重量锁的时候不会降级&#xff0c;再来线程都是重量级锁 今天我们来实验一把真的是这样的吗 1.首选导入Java对象内存布局的工具库&#xff1a; <dependency><groupId>org.openjdk.jol</groupId><artifactId>jol-…