针对客户朋友的应用反馈,特本篇文章:基于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模组的更多相关文章

  1. iTOP-4412开发板全新升级支持4G全网通模块

    开发板支持4G,GPS,CAN,485,WIFI蓝牙,重力加速度计,陀螺仪等模块. 核心板参数 尺寸:6cm*7cm 高度:连同连接器在内0.26cm CPU:Exynos4412,四核Cortex- ...

  2. 基于IAP和Keil MDK的远程升级设计

    写在前面:三个周之前,我突然想写一个远程升级的程序.那个时候我只是大概知道IAP的意思是在应用编程,但怎么编,我还一无所知.我给自己定下一个个阶段目标,从最基础的代码一点点写起,解决一个又一个的问题. ...

  3. 【转】 基于TFTP协议的远程升级设计

    版权声明:本文为博主原创文章,未经博主允许不得转载.联系邮箱:zhzhchang@126.com 说明:由于CSDN博客编辑器对word格式近乎不支持,因此对表格使用了图片方式(最后一个表格未使用图片 ...

  4. 基于TFTP协议的远程升级设计

    说明:因为CSDN博客编辑器对word格式近乎不支持.因此对表格使用了图片方式(最后一个表格未使用图片格式.大家能够看看效果),CSDN博客编辑器上传图片十分不人性化(直接复制图片是不显示的),因此本 ...

  5. STM32f103x IAP远程升级小结

    最近在面试的时候遇到一个关于IAP远程程序升级的问题,由于之前所做的项目没有涉及到远程升级需求,当时一脸懵呆,不过回答的还是不错的,今天针对STM32F103系列调试了IAP的程序,这里做一下小结,如 ...

  6. Golang开发支持平滑升级(优雅重启)的HTTP服务

    Golang开发支持平滑升级(优雅重启)的HTTP服务 - tabalt的博客 http://tabalt.net/blog/graceful-http-server-for-golang/ http ...

  7. Android零基础入门第10节:开发IDE大升级,终于迎来了Android Studio

    原文:Android零基础入门第10节:开发IDE大升级,终于迎来了Android Studio 通过前面几期的学习,我们知道了Android的前世今生,也了解了Android的系统架构和应用组件,也 ...

  8. Altera FPGA 远程升级有关的几个IP的使用

    在做在线远程升级的时候,一般需要两步:1.将数据写到外挂的flash中.2重新启动FPGA配置. 不过要做到远程升级,一般需要在原始程序中就考虑到加入远程升级模块,remote updata IP, ...

  9. 设备程序远程升级采用两种方式(优先采用IP方式)

    设备程序远程升级采用两种方式(优先采用IP方式): 采用应急广播TS流传输技术规范的消息内容表携带升级包数据.当辅助数据类型值为44时,消息内容表传输的数据为程序升级包. 采用IP方式传输升级包数据. ...

  10. 制作一个有趣的涂鸦物联网小项目(涂鸦模组SDK开发 CBU BK7231N WiFi+蓝牙模组 HSV彩色控制)

    实现的功能: l  APP控制月球灯 l  本地月球灯控制 l  APP控制"大白"颜色,实现各种颜色变身 l  门状态传感器状态APP显示 l  网络状态指示灯,连接服务器长亮, ...

随机推荐

  1. MySQL中的char与varchar

    MySQL中的char与varchar char类型为固定长度的字符串 varchar类型是长度可变的字符串 char为固定长度的字符串意思是当我们设置一个字段类型为char时,指定char(100) ...

  2. Win32 API 读取文件

    昨天又用Win32来读取文件的时候,又出现了字符编码的问题. 用TCHAR字符来写文件呢,用系统的记事本打开是乱码. 用CHAR字字符来写呢,在读取汉字的时候后面有一串乱码, 用CHAR[]数组读取就 ...

  3. AD(Active Directory )域的搭建与操作

    AD 域的搭建与操作 一.准备工作 准备好 VM 虚拟机和 Server 的安装包. 二.安装 Server 2022 选择标准且有图形界面的进行安装. 选择自定义安装方式. 为虚拟机 server2 ...

  4. ChatGPT 客户端推荐

    通过按量计费的 Token 使用 ChatGPT 可以获得比免费 ChatGPT 更快的响应速度,但又不必支付昂贵的每月 20 美金订阅费用.下面是一些我个人喜欢的支持 Token 的 ChatGPT ...

  5. 安装 Oh My Posh

    Oh My Posh Oh My Posh 官网 安装 winget install JanDeDobbeleer.OhMyPosh -s winget Oh My Posh 更新很快,有时会被杀毒软 ...

  6. SSM + Freemarker 开发框架快速搭建

    1.项目骨架建立 一.使用开发工具IDEA,构建Maven项目,然后调整Maven项目结构,使其成为一个标准的web项目: 此处不选择Maven骨架,直接Next: 输入项目的相关信息,直接Finis ...

  7. 【Jenkins】之自动化测试持续集成

    一.创建jenkins项目 选择节点 创建指定名称的目录名: 写命令,执行shell: 命令填写: # 引入电脑配置文件 #. ~/.bash_profile cd Python_Interface ...

  8. .NET 6.0 + WPF 使用 Prism 框架实现导航

    前言 Prism 一个开源的框架,专门用于开发可扩展.模块化和可测试的企业级 XAML 应用程序,适用于 WPF(Windows Presentation Foundation)和 Xamarin F ...

  9. MyBatis——注解开发

    注解开发完成增删改   * (在完成简单功能时)使用注解开发会比配置文件开发更加方便 查询:@Select 添加:@Insert 修改:@Update 删除:@Delete               ...

  10. Tomcat——配置、部署

    配置 修改启动端口号:conf/sever.xml          HTTP协议默认端口号为80,若将Tomcat端口号改为80,则将来访问Tomcat时,不用输入端口号          端口号改 ...