合宙 模块-如何用开发板实现update功能

关键词:update,远程升级,fota,ota,差分

目录名称

  • 如何用开发板实现update功能

  • 简介

  • 概述

  • 材料准备

  • 步骤

  • 常见问题

  • 相关资料以及购买链接

简介

update是物联网中比较常用的功能,本文介绍如何用Air724开发板,和合宙IOT后台如何做update升级。

概述

参数定义:

参数语法参数参数释义返回值
update.request()实时启动一次升级update.request()
update.setup()配置服务器的传输协议、地址和端口update.setup(prot,server,port)prot,server,portprot:传输层协议,仅支持TCP和UDP;server:服务器地址;port:服务器端口
update.setperiod()配置定时升级的周期update.setperiod(prd)prdprd:number类型,定时升级的周期,单位秒;0表示关闭定时升级功能,其余值要大于等于60秒

材料准备

  1. EVB_Air724UG_A13开发板一套,包括天线SIM卡,USB线。
  2. PC电脑,以及登录官方IOT后台 https://iot.openluat.com/
  3. luat开发环境:环境搭建方法
    图片.png

步骤

本文以demo\update\LuatIotServer这个DEMO为例做演示。

  1. 修改LuatIotServer下main脚本的VERSION 参数,和PRODUCT_KEY值;脚本中需要设置全局变量PRODUCT_KEY,因为iot平台升级会用到这个KEY,这个KEY来自于iot平台中的产品信息中的ProductKey,还需要引入lib中的update,调用update.request()来请求升级服务器,根据lib中的注释可知如果我们使用iot平台进行升级,在request函数中可以不传入任何参数。(为了测试方便,在1.1.0的脚本中设置为开机就请求升级,而在2.2.0中为了防止反复升级去掉了升级代码)
PRODUCT_KEY = "XXXXXXXXXXXXXXXX"
require "update"
update.request()


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yrjcQpr5-1624864824261)(http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20210318110118015_1616036450(1)].png "undefined")

  1. 在luatools的项目管理下添加使用的底层core和脚本这里用的是V0028,添加完的脚本和CORE 点下载脚本文件到开发板,下载完成后可以把模块关机,等服务器文件设置好后做测试用。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1xML8q8a-1624864824263)(http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20210318110342180_1616035177(1)].jpg "undefined")

  2. 设置署在服务器端的固件,修改main脚本VERSION的版本号(需要高于之前设置的数值1.1.0),这里设置成2.2.0(1.2.0只要高于之前的数值就可以), 在luatools添加高于之前的底层core版本这里用的是V0030,添加完成后点生成量产文件,在文件目录下有两个文件夹,4G远程升级文件下的BIN文件就是我们部署在服务器的固件文件;
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-upVhjeXC-1624864824264)(http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20210318111003871_1616036997(1)].jpg "undefined")

4、 iot平台创建产品
登录合宙iot平台
如果没有账户,注册一个账户
新建产品

img
进入产品

img

5.在合宙iot平台配置升级包

进入iot平台创建的产品,打开固件升级->升级配置->新建固件,如下图所示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IHjgstz8-1624864824266)(http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20201111100212222_image-20201110165920387.png "undefined")]

点击确定之后,升级配置完成,如下图所示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-npwrQ5Tq-1624864824267)(http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20210318111811289_1616037485(1)].jpg "undefined")

6、给模块上电开机后,会自动进行下载,如果脚本文件较大,或者底层core相差比较大,服务器做差分升级的过程会比较久,升级过程如下;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qHIluAdE-1624864824268)(http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20210318112143748_%E5%8D%87%E7%BA%A7%E8%BF%87%E7%A8%8B.jpg "undefined")]

7、下载完成后,模块会自动重启,在重启的这个时间短,如果模块异常断电或者关机,不会死机或者变砖,模块再次上电开机后会自动写入之前下载的版本,如果模块没有下载完成固件断电,会恢复到之前的老版本。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9MYIfMBC-1624864824268)(http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20210318112645848_%E4%B8%8B%E8%BD%BD%E5%AE%8C%E6%88%90%E5%88%B0%E9%87%8D%E5%90%AF%E6%97%B6%E9%97%B4.jpg "undefined")]

到此说明整个UPDAE能正常使用。


常见问题

  • 一、为什么下载的时候提示无权限?
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cuYqqGR5-1624864824269)(http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20210318112912400_%E6%97%A0%E6%9D%83%E9%99%90.jpg “undefined”)]
    由于模块销售出厂的时候默认是在销售的号码下面,有些开发人员拿到模块后,没有做号码转移,导致不在自己的账户下,需要和技术人员联系转移号码就可以了。
    二、提示固件无效[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4jCyLRZe-1624864824269)(http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20210402092803972_%E6%97%A0%E6%95%88%E5%9B%BA%E4%BB%B6.jpg “无效固件”)]
    检查一下上传的固件和固件名称是否和模块当前使用的固件一样。
    相关OTA的问题,可以参考
    http://doc.openluat.com/article/602/0
    http://doc.openluat.com/article/1405/0

相关资料以及购买链接

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值