AT开发FOTA远程升级:Air780EP低功耗4G模组
针对客户朋友的应用反馈,特本篇文章:基于Air780EP模组AT开发的FOTA远程升级指南。
AT版本的远程升级主要是对AT固件版本进行升级,实际方式为通过合宙官方IoT平台升级或者使用自己搭建的服务器进行升级服务。
Air780EP是合宙推出的一款低功耗4G全网通模组,兼容模组行业1618经典封装,支持OpenCPU开发及全功能数传AT开发,可广泛应用于多样化的物联网终端。
一、合宙IoT平台远程升级

1.1 如何查看升级日志
登录合宙IoT平台(iot.openluat.com),在主菜单【固件升级】下拉列表中选择升级日志,输入完整的IMEI并选择所需日期。

1.2 升级日志响应码列表(点击放大查看)

1.3 使用默认项目名配置
在向合宙采购4G模块时,如果采购人员没有告知这批模块应该放在IoT平台的哪个产品下,则默认账号密码如下:
默认账号:采购人的手机号
默认密码:888888
需要创建一个"Air7XXF标准模块"的项目。
特别注意:
以**"Air7XXF标准模块"**命名的项目,为Air780EP模块AT版本默认FOTA请求升级的IoT项目,并将此次所采购的所有模块都放在这个项目下。
如果模块不在该项目下或者需要更换项目,请联系合宙工作人员。


1.3.1 配置流程
本文以合宙Air780EP为例获取AT固件版本,下载到本地后解压并将dfota.bin文件上传到dfota中。
在合宙IoT平台【我的项目】页面点击固件列表:

创建固件,上传对应文件:


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

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

1.3.2 AT指令触发升级
手动触发升级
模块从V1006升级到V1007的流程示例如下:

自动升级(默认24小时内自动触发)
自动升级是模块定期向后台发送升级请求,来获取新固件进行更新的,大致流程如下:

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

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

该项目下的模块可通过设备列表查看:


1.4.1 配置流程
参考上文【1.3 使用默认项目名配置】的1.3.1配置流程;注意此时的项目为“远程升级模块”。
1.4.2 AT指令触发升级
手动触发升级
通过下方图示操作,找到对应项目的项目Key。

复制项目Key:
用AT+UPGRADE="KEY",ProductKey进行配置,其中ProductKey为对应项目Key;
要注意的是该命令参数会写入nv,掉电保存;
然后再发送AT+UPGRADE进行远程升级。

自动升级(默认24小时内自动触发)
自动升级是模块定期向后台发送升级请求,来获取新固件进行更新的,大致流程如下:

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

二、自定义服务器远程升级
使用自己的服务器来升级模块和使用IoT平台升级,最重要的区别是下载固件的来源不同。其实FOTA的过程是新老版本生成差分包再进行升级的过程,那么这个差分的过程在哪里呢?
使用合宙IoT平台升级,差分的过程在IoT服务器后台,那使用自己的服务器该怎么办呢?——答案当然是自己来完成差分的过程,放在服务器等待模块来下载。
2.1 差分包生成工具
手动生成差分包的过程,使用doc平台工具中的差分工具。注意:升级文件为 xxxx.dfota.bin 文件。

下载生成的差分文件:

本次我们从V1006升级到V1007需要准备各自的bin远程升级文件,上传完成后等待差分完成,下载得到的差分文件,这里将名字改为dfota_final_AirM2M_AirM2M_V1007.bin。
2.2 配置流程
把生成的固件放到服务器上,然后通过:
**AT+UPGRADE="URL",""**指令设置对应的URL链接。
配置完差分包URL地址成功后,**AT+UPGRADE **主动触发升级。
升级流程如下:
这里选择了USB的另外一个端口,可以上报模块的升级过程。

AT开发FOTA远程升级:Air780EP低功耗4G模组的更多相关文章
- iTOP-4412开发板全新升级支持4G全网通模块
开发板支持4G,GPS,CAN,485,WIFI蓝牙,重力加速度计,陀螺仪等模块. 核心板参数 尺寸:6cm*7cm 高度:连同连接器在内0.26cm CPU:Exynos4412,四核Cortex- ...
- 基于IAP和Keil MDK的远程升级设计
写在前面:三个周之前,我突然想写一个远程升级的程序.那个时候我只是大概知道IAP的意思是在应用编程,但怎么编,我还一无所知.我给自己定下一个个阶段目标,从最基础的代码一点点写起,解决一个又一个的问题. ...
- 【转】 基于TFTP协议的远程升级设计
版权声明:本文为博主原创文章,未经博主允许不得转载.联系邮箱:zhzhchang@126.com 说明:由于CSDN博客编辑器对word格式近乎不支持,因此对表格使用了图片方式(最后一个表格未使用图片 ...
- 基于TFTP协议的远程升级设计
说明:因为CSDN博客编辑器对word格式近乎不支持.因此对表格使用了图片方式(最后一个表格未使用图片格式.大家能够看看效果),CSDN博客编辑器上传图片十分不人性化(直接复制图片是不显示的),因此本 ...
- STM32f103x IAP远程升级小结
最近在面试的时候遇到一个关于IAP远程程序升级的问题,由于之前所做的项目没有涉及到远程升级需求,当时一脸懵呆,不过回答的还是不错的,今天针对STM32F103系列调试了IAP的程序,这里做一下小结,如 ...
- Golang开发支持平滑升级(优雅重启)的HTTP服务
Golang开发支持平滑升级(优雅重启)的HTTP服务 - tabalt的博客 http://tabalt.net/blog/graceful-http-server-for-golang/ http ...
- Android零基础入门第10节:开发IDE大升级,终于迎来了Android Studio
原文:Android零基础入门第10节:开发IDE大升级,终于迎来了Android Studio 通过前面几期的学习,我们知道了Android的前世今生,也了解了Android的系统架构和应用组件,也 ...
- Altera FPGA 远程升级有关的几个IP的使用
在做在线远程升级的时候,一般需要两步:1.将数据写到外挂的flash中.2重新启动FPGA配置. 不过要做到远程升级,一般需要在原始程序中就考虑到加入远程升级模块,remote updata IP, ...
- 设备程序远程升级采用两种方式(优先采用IP方式)
设备程序远程升级采用两种方式(优先采用IP方式): 采用应急广播TS流传输技术规范的消息内容表携带升级包数据.当辅助数据类型值为44时,消息内容表传输的数据为程序升级包. 采用IP方式传输升级包数据. ...
- 制作一个有趣的涂鸦物联网小项目(涂鸦模组SDK开发 CBU BK7231N WiFi+蓝牙模组 HSV彩色控制)
实现的功能: l APP控制月球灯 l 本地月球灯控制 l APP控制"大白"颜色,实现各种颜色变身 l 门状态传感器状态APP显示 l 网络状态指示灯,连接服务器长亮, ...
随机推荐
- MySQL中的char与varchar
MySQL中的char与varchar char类型为固定长度的字符串 varchar类型是长度可变的字符串 char为固定长度的字符串意思是当我们设置一个字段类型为char时,指定char(100) ...
- Win32 API 读取文件
昨天又用Win32来读取文件的时候,又出现了字符编码的问题. 用TCHAR字符来写文件呢,用系统的记事本打开是乱码. 用CHAR字字符来写呢,在读取汉字的时候后面有一串乱码, 用CHAR[]数组读取就 ...
- AD(Active Directory )域的搭建与操作
AD 域的搭建与操作 一.准备工作 准备好 VM 虚拟机和 Server 的安装包. 二.安装 Server 2022 选择标准且有图形界面的进行安装. 选择自定义安装方式. 为虚拟机 server2 ...
- ChatGPT 客户端推荐
通过按量计费的 Token 使用 ChatGPT 可以获得比免费 ChatGPT 更快的响应速度,但又不必支付昂贵的每月 20 美金订阅费用.下面是一些我个人喜欢的支持 Token 的 ChatGPT ...
- 安装 Oh My Posh
Oh My Posh Oh My Posh 官网 安装 winget install JanDeDobbeleer.OhMyPosh -s winget Oh My Posh 更新很快,有时会被杀毒软 ...
- SSM + Freemarker 开发框架快速搭建
1.项目骨架建立 一.使用开发工具IDEA,构建Maven项目,然后调整Maven项目结构,使其成为一个标准的web项目: 此处不选择Maven骨架,直接Next: 输入项目的相关信息,直接Finis ...
- 【Jenkins】之自动化测试持续集成
一.创建jenkins项目 选择节点 创建指定名称的目录名: 写命令,执行shell: 命令填写: # 引入电脑配置文件 #. ~/.bash_profile cd Python_Interface ...
- .NET 6.0 + WPF 使用 Prism 框架实现导航
前言 Prism 一个开源的框架,专门用于开发可扩展.模块化和可测试的企业级 XAML 应用程序,适用于 WPF(Windows Presentation Foundation)和 Xamarin F ...
- MyBatis——注解开发
注解开发完成增删改 * (在完成简单功能时)使用注解开发会比配置文件开发更加方便 查询:@Select 添加:@Insert 修改:@Update 删除:@Delete ...
- Tomcat——配置、部署
配置 修改启动端口号:conf/sever.xml HTTP协议默认端口号为80,若将Tomcat端口号改为80,则将来访问Tomcat时,不用输入端口号 端口号改 ...