今天我们学习Air780E快速入门之固件的远程升级,小伙伴们,学起来吧!

一、生成差分包

合宙的远程升级支持使用合宙云平台和自建服务器,此例程使用的是合宙云平台。

1.1 准备新旧版的core和脚本.

关于需要升级的core(固件),需要注意的点有:

1.1.1 需要 V1103及以上的固件。

1.1.2 需要 LuaTools 2.1.89(LuaTools工具的版本,可以在工具左上角看到) 及以上的升级文件生成。

1.1.3 新版core的版本号必须大于旧版core。

1.1.4 新旧版core的支持功能相同,因为功能不同的core 的文件系统地址可能不同,如果升级的话可能导致程序异常。

1.1.5 程序中需要保证新旧版本的PROJECT相同,新版本的版本号VERSION大于旧版,PRODUCT_KEY和云平台保持一致。

1.2 使用Luatools生成bin差分包

1.2.1 生成量产文件

在Luatools中选择新版的core,和更改了version的脚本文件,然后生成量产文件:

1.2.2 在选择生成量产文件的目录中,找到bin文件。

1.2.3 生成差分包

首先在Luatools中找到差分工具。

然后选择旧版的core,生成的新版量产文件,最后点击开始生成差分文件。

二、云平台配置

2.1 云平台新建项目

2.1.1 进入IoT界面,新建项目

2.1.2 复制项目key到脚本代码中

然后我们先去准备一个差分包。

2.2 云平台添加差分包

进入云平台,选择本项目的固件列表。

三、编写脚本

3.1 等待联网

sys.waitUntil("IP_READY")

3.2 用于fota升级的函数。

--[[ @param1 回调函数

]]

libfota.request(fota_cb)

3.3 fota升级的回调函数, 当回调函数中传入的值为0时,重启模块。

function fota_cb(ret)

if ret == 0 then

rtos.reboot()

end

end

3.4 定时查询是否有远程升级

sys.timerLoopStart(libfota.request, 3600000, fota_cb)

四、烧录代码到硬件

4.1 正确连接电脑和4G模组电路板

使用带有数据通信功能的数据线,不要使用仅有充电功能的数据线;

4.2 识别4G模组的boot引脚

在下载之前,要用模组的boot引脚触发下载, 也就是说,要把4G模组的boot引脚拉到 1.8v,或者直接把boot引脚和VDD_EXT引脚相连。我们要在按下BOOT按键时让模块开机,就可以进入下载模式了。

具体到 Air780E开发板,

4.2.1 当我们模块没开机时,按着BOOT键然后长按PWR开机。

4.2.2 当我们模块开机时,按着BOOT键然后点按重启键即可。

4.3 识别电脑的正确端口

判断是否进入BOOT模式:模块上电,此时在电脑的设备管理器中,查看串口设备, 会出现一个端口表示进入了boot下载模式,如下图所示:

当设备管理器出现了3个连续数字的com端口,并且每个数字都大于4,这时候, 硬件连接上就绪状态,恭喜你,可以进行烧录了!

4.4 新建项目

首先,确保你的 LuaTools 的版本,上大于 2.2.13 版本的。

在 LuaTools 的左上角上有版本显示的,如图所示:

LuaTools 版本没问题的话, 就点击 LuaTOols 右上角的“项目管理测试”按钮,如下图所示:

这时会弹出项目管理和烧录管理的对话框,如下图:

新建一个项目

注意:这里截图使用的hello world项目的烧录教程,烧录的时候要将脚本换成本次demo的。

4.5 开始烧录

选择780E板子对应的底层core和刚改的main.lua脚本文件。下载到板子中。

点击下载后,我们需要进入boot模式才能正常下载,在(3)(4)小节已经介绍了如何进入boot模式。

五、验证功能

启设备后会自动升级差分包

查看升级日志

六、常见问题

1. 要升级的core的版本大于旧版本

2. 脚本中PROJECT保持一致,VERSION版本号大于旧版

3. 升级时的错误可以查看升级日志

好了,以上就是今天的内容,Air780E快速入门之固件的远程升级,你学会了吗?

低功耗4G模组Air780E快速入门:固件的远程升级的更多相关文章

  1. 手把手教你基于luatos的4G(LTE Cat.1)模组接入华为云物联网平台

    摘要:本期文章采用了4G LTE Cat.1模块,编程语言用的是lua,实现对华为云物联网平台的设备通信与控制 本文分享自华为云社区<基于luatos的4G(LTE Cat.1)模组接入华为云物 ...

  2. 快速入门系列--WebAPI--01基础

    ASP.NET MVC和WebAPI已经是.NET Web部分的主流,刚开始时两个公用同一个管道,之后为了更加的轻量化(WebAPI是对WCF Restful的轻量化),WebAPI使用了新的管道,因 ...

  3. 9天快速入门java

    Java入门教程[9天快速入门JAVA] §1.3.简单的Java程序 下面我们先介绍两个简单的Java程序,并对其进行分析. 例1.1. public class HelloWorldApp{//a ...

  4. [转]快速入门系列--WebAPI--01基础

    本文转自:http://www.cnblogs.com/wanliwang01/p/aspnet_webapi_base01.html ASP.NET MVC和WebAPI已经是.NET Web部分的 ...

  5. 最全的NB-IoT芯片厂商、模组厂商信息

    NB-IoT作为LPWAN(低功耗广域网)的新兴技术,因为具有低功耗.低成本.广覆盖.海量节点等优势,并且在授权频段可以与2G.3G无缝连接而被运营商所青睐且接受.特别是到了2017年,据统计全球有5 ...

  6. 中国移动推出NB-IoT/eMTC/GSM多模通信模组Qualcomm调制解调器支持

    亚洲电子消费展(CES Asia)在上海举行.期间,中国移动正式推出NB-IoT/eMTC/GSM三模通信模组A9500.该通信模组采用Qualcomm MDM9206 LTE IoT调制解调器,具有 ...

  7. [转帖]Hive 快速入门(全面)

    Hive 快速入门(全面) 2018-07-30 16:11:56 琅琊山二当家 阅读数 4343更多 分类专栏: hadoop 大数据   转载: https://www.codercto.com/ ...

  8. BC26模组UDP调试

    BC26模组调试 数据上报AT流程 [15:33:46.819]收←◆ F1: 0000 0000 V0: 0000 0000 [0001] 00: 0006 000C 01: 0000 0000 U ...

  9. 开源分布式中间件 DBLE 快速入门指南

    GitHub:https://github.com/actiontech/dble 官方中文文档:https://actiontech.github.io/dble-docs-cn/ 一.环境准备 D ...

  10. Polar码快速入门

    Polar码快速入门 本科生在学习极化码时,并不是件简单的事情.网上极化码的资料很少,而且基本上都是较难的论文.这篇文章是用来帮你快速入门极化码. Poalr码背景 2015 年,国际电信联盟无线通信 ...

随机推荐

  1. pikachu靶场 越权(水平越权+垂直越权)

    水平越权 A用户和B用户属于同一级别用户,但各自不能操作对方个人信息.A用户如果越权操作B用户个人信息的情况称为水行越权操作 三个用户 lucy/lili/kobe  密码都为123456 随便登录其 ...

  2. Android 水平滚动List 一项Item占满一页宽 设定单次滑动一次切换一次Item

    背景:水平滚动的List,一项Item占满页面宽度,相当于数量不定的选项卡,每个选项卡占满一页,左右滑动时,如何限制一次只能滑动一个Item 步骤: 1. 水平滚动布局 linearLayoutMan ...

  3. 项目完成小结:使用DjangoStarter v3和Taro开发的微信小程序

    前言 不知不觉已经九月了,又到了一年的开学季,我每年都想做的项目墙甚至连个影子都没有- 最近生活中的琐事太多了,导致完全没有想写文章的动力,不过再怎么拖还是得记录,随便写写吧~ 这次是7月份的一个小项 ...

  4. Spring —— bean配置

    基础配置      别名配置    作用范围配置      适合交给容器进行管理的bean   (复用性的对象,无需重复创建的对象) 表现层对象 业务层对象 数据层对象 工具对象   不适合交给容器管 ...

  5. K8S命名空间处于Terminating状态,如何强制删除

    一.现象 当删除命名空间后,发现该空间一直处于Terminating状态 [root@imanager-beta-arm-21756-5g5ap ~]# kubectl get ns NAME STA ...

  6. Response状态码

    1.数据是否正常 2.文件是否存在 3.地址自动跳转 4.服务提供错误 注:容错处理识别 •-1xx:指示信息-表示请求已接收,继续处理. •-2xx:成功-表示请求已经被成功接收.理解.接受. •- ...

  7. 生理性喜欢(把我吃掉&病态饥饿)

    alloverzyt 转载好文章 https://www.zhihu.com/question/627599874/answer/3494578704 什么是生理性喜欢? 是吃掉. 这不是什么夸张的写 ...

  8. 【赵渝强老师】MongoDB中的索引(下)

    (四)索引的类型三:复合索引(Compound Index) MongoDB支持复合索引,即将多个键组合到一起创建索引.该方式称为复合索引,或者也叫组合索引,该方式能够满足多键值匹配查询使用索引的情形 ...

  9. ASP 封装基本身份认证( HTTP Basic Authenticate)辅助类

    最近修改一个古老的asp程序,需要为单独几个页面进行基本身份认证.由于IIS自带的设置基本身份认证是针对文件夹的,而这几个页面又不方便挪动位置,幸好在网上找到一个asp实现WWW-Authentica ...

  10. cf2009 Codeforces Round 971 (Div. 4)

    A. Minimize! 签到题.计算\((c-a)+(b-c)\)的最小值,其实值固定的,等于\(b-a\). int a, b; void solve() { cin >> a > ...