合宙Air201资产定位模组LuatOS入门课程:FOTA远程升级,点点鼠标就搞定

news2024/11/17 9:27:17

你是否也经常吐槽:开发是个苦差事!做项目一时爽,遇到升级火葬场。

如果你也有这种困惑,可以多了解了解合宙的开发工具,简单实用又高效,甚至只需点点鼠标!

本期,我们来学习合宙Air201的实用示例——FOTA远程升级

 FOTA远程升级 

图片

合宙Air201资产定位模组——是一个集成超低功耗4G通信、语音通话、超低功耗定位、计步、震动、Type-C、充电、放音、录音等功能的超小PCBA。

内部集成高效、简单、可靠的LuatOS语言,旨在帮助客户降低开发难度,降低研发成本,以及打造超小超低功耗的精品产品。

合宙Air201最新资料下载链接:
www.hezhoudingwei.com

本教程教你通过使用FOTA脚本代码,对Air201模块进行远程升级操作。

1. 搭建环境

新同学建议先看前期的基础知识相关教程,更有助于理解和操作。

图片

本教程是通过使用\LuatOS-Air201\demo\fota下的fota脚本代码对Air201模块进行远程升级操作。

操作分为:
通过合宙IoT平台、通过第三方自建服务器进行远程升级。

升级文件可以仅升级脚本文件(Script),也可以仅升级底层固件(Core),以及脚本文件+底层固件同时升级。

1.1 硬件准备:

图片

  • 合宙Air201 PCBA

  • 带有数据通信功能的数据线

  • Win10以上PC

1.2 软件准备:

  • LuaTools调试工具:
    https://doc.openluat.com/wiki/52?wiki_page_id=5071

  • 最新固件:
    https://gitee.com/openLuat/LuatOS-Air201/tree/master/core

  • 最新脚本:
    https://gitee.com/openLuat/LuatOS-Air201/tree/master/demo/fota


2. 通过合宙IoT平台进行FOTA升级

本文操作示例为:
Core底层固件+Script脚本文件同时升级。

图片

2.1 在IoT平台创建项目

1)登录合宙云平台https://iot.openluat.com/

2)如果没有账号,先创建账号;

3)新建项目:

图片

4)复制对应项目的PRODUCT_KEY:

图片

2.2 修改脚本,生成升级文件

1)Core说明

图片

2)Script说明

图片

2.3 按照新版本需求,修改main.lua

PROJECT和PRODUCT_KEY保持不变,PRODUCT_KEY需和服务器保持一致,VERSION修改为1.0.1。

如下图所示:

图片

注意事项:

main.lua内填写版本号要符合x.y.z形式,其中x/y/z均为数值,不限于个位数;

若FOTA使用合宙IoT平台,版本号中的y会被忽略,推荐写0,务必留意。

2.4 使用LuaTools工具生成bin文件差分包

注意:只有LuaTools版本2.1.89以上支持生成bin文件差分包,低版本仅支持生成sota文件。

1)只升级脚本时的差分包制作流程

修改好main.lua后,根据下方图示生成量产文件,其中就包含了bin文件差分包。

图片

点击生成量产文件后,LuaTools工具会根据你选择的目录下自动创建\SOC量产及远程升级文件\Air201,bin文件差分包便在此文件夹里面。

图片

如果你是只打算进行脚本升级,那么下方固件升级便不用再看了,直接跳转到2.5节即可。

2)需要升级底层固件的差分包制作教程

先生成新版本的量产固件:

图片

再根据新旧固件生成bin文件差分包:

图片

箭头所指即为生成的bin文件差分包:

图片

2.5 在IoT平台配置升级包

1)进入IoT平台,打开我的项目->固件列表->创建固件

图片

2)选择新固件升级文件

注意:此时的固件名要与模块现在上电后的固件名保持一致,否则会导致远程升级不通过。

图片

3)如果升级全部设备选项选择的是否,则需要添加指定设备

图片

2.6 模块开机,完成升级

图片


3. 通过第三方自建服务器进行升级

3.1 准备模块中使用的旧版本core升级文件

图片

3.2 使用LuaTools分别生成新旧版本的升级包

图片

点击生成量产文件后,LuaTools工具根据你选择的目录下自动创建\SOC量产及远程升级文件\Air201 ,生成的升级包便在此文件夹里面。

图片

3.3 使用LuaTools工具生成差分文件

使用LuaTools生成升级文件,无论core是否需要升级,升级文件必须包含core,因为差分会用到,使用LuaTools内的soc差分工具生成即可。

图片

生成对应差分包如下图所示,注意差分包大小不能超过480k。

图片

3.4 差分包上传到第三方自建服务器

Lua固件默认支持HTTP获取升级包。

在main.lua中做如下修改,打开使用自建服务器进行升级部分代码,填写对应的url:

图片

3.5 使用其他协议实现自建服务器远程升级

参考脚本库中配置。无论使用哪种协议,远程升级的关键是获取正确的升级固件包。


今天的分享就到这里了
更多实用示例带你开启应用之门
下一期见~

Air201最新资料详见:
www.hezhoudingwei.com  

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ubuntu 20.04 Linux无法访问GitHub问题

Ubuntu 20.04 Linux无法访问GitHub问题 使用ip查找在线工具:工具查询 http://github.com和http://github.global.ssl.fastly.net的ip地址 终端输入: sudo gedit /etc/hosts 打开hosts文件;将刚刚两个ip地址输入到hosts文件中。 wq关掉并保存…

【D3.js in Action 3 精译_022】3.2 使用 D3 完成数据准备工作

当前内容所在位置 第一部分 D3.js 基础知识 第一章 D3.js 简介(已完结) 1.1 何为 D3.js?1.2 D3 生态系统——入门须知1.3 数据可视化最佳实践(上)1.3 数据可视化最佳实践(下)1.4 本章小结 第二章…

【油猴脚本】00004案例 Tampermonkey油猴脚本引入js库,使表格可以拖拽移动

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 【油…

react 组件化开发_生命周期_表单处理

组件基本介绍 我们从上面可以清楚地看到,组件本质上就是类和函数,但是与常规的类和函数不同的是,组件承载了渲染视图的 UI 和更新视图的 setState 、 useState 等方法。React 在底层逻辑上会像正常实例化类和正常执行函数那样处理的组件。 因…

携手鲲鹏,长亮科技加速银行核心系统升级

新经济周期下,银行净息差持续收窄、盈利压力加大、市场竞争日趋加剧。同时,国家相关政策不断出台,对金融科技的自主创新与安全可控提出了更高要求。 在这样的大背景下,银行业的数字化转型已经步入深水区。其中,核心系统…

vmware esxi 6.5 开启 snmp 服务

学习目标: 如何开启 vmware esxi 6.xx 开启 snmp 服务 查看SNMP 是否开启状态: 如何开启SNMP: 1.用 MAC、Linux SSH 工具 (如 SecureCRT) 连接 esxi 2、修改 SNMP 配置文件 vi /etc/vmware/snmp.xml3 、将标签 false 改为 true 在 后加上…

yolov8-obb中存在的一个bug

yolov8支持OBB目标检测,且能提供较好的性能。 但是最近在使用yolov8-obb的过程中,发现yolov8-obb存在一个bug。即训练数据如果包含不带旋转角度的水平目标时,训练出的模型,经常会输出垂直的检测框,需要旋转90度以后才能得到最终结果。把yolov8-obb相关的源码阅读一遍才发…

2024 年浙江省网络安全行业网络安全运维工程师项目 职业技能竞赛网络安全运维工程师(决赛样题)

2024年浙江省网络安全行业网络安全运维工程师项目 职业技能竞赛网络安全运维工程师(决赛样题) 应急响应:1 通过流量分析,找到攻击者的 IP 地址2 找到攻击者下载的恶意文件的 32 位小写 md5 值3 找到攻击者登录后台的 URI4 找到攻击…

TC3xx系列芯片--PortDio模块介绍

1、模块介绍 Port(端口)是芯片与板上其他外设或逻辑电路交互的重要引脚,用于芯片发出控制信号或接收外部信号。通过GPIO模式或各类通讯模式,对板载设备进行控制。 Aurix TC3xx系列芯片具有丰富的Port连接,而且每个Pin脚具有多种功能复用&am…

828华为云征文 | 使用Flexus云服务器X实例部署GLPI资产管理系统

828华为云征文 | 使用Flexus云服务器X实例部署GLPI资产管理系统 1. 部署环境说明2. 部署基础环境2.1. 操作系统基本配置2.2. 部署Nginx2.3. 部署MySQL2.4. 部署PHP 3. 部署GLPI资产管理系统 1. 部署环境说明 本次环境选择使用华为云Flexus云服务器X实例,因为其具有高…

【应用笔记】Cot Menu 轻量级多级菜单控制框架程序(C语言)

【应用笔记】Cot Menu 轻量级多级菜单控制框架程序(C语言) 前言: 工作需要, 实现一个串口打印的类shell菜单. 如果按照以往的习惯我会自己重新"构思"(狗屎)一个菜单框架.之前用oled和lcd时,我都从零重复造轮子. 作为一个成熟的程序员, 应该要学…

野火霸天虎V2学习记录1

文章目录 嵌入式开发常识汇总1、嵌入式Linux和stm32之间的区别和联系2、stm32程序下载方式3、Keil5安装芯片包4、芯片封装种类5、STM32命名6、数据手册和参考手册7、什么是寄存器、寄存器映射和内存映射8、芯片引脚顺序9、stm32芯片里有什么10、存储器空间的划分11、如何理解寄…

HFish开源蜜罐系统常见问题排查

HFish开源蜜罐系统常见问题排查 HFish是一款社区型免费蜜罐,侧重企业安全场景,从内网失陷检测、外网威胁感知、威胁情报生产三个场景出发,为用户提供可独立操作且实用的功能,通过安全、敏捷、可靠的中低交互蜜罐增加用户在失陷感知…

Pr:Adobe SRT

Adobe SRT(Secure Reliable Transport)主要用于远程传输高质量视频,特别是在不稳定或高延迟的网络环境中。 1、实时流媒体传输 Adobe SRT 支持实时视频传输,确保即使在低带宽或高延迟的网络条件下,仍能够可靠地发送高质…

第J1周:ResNet-50算法实战与解析

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 文章目录 一、前期工作1、ResNet-50总体结构2、设置GPU3、导入数据 二、数据预处理1、加载数据2、可视化数据3、再次检查数据4、配置数据集 三、构建ResNet-50…

建筑节能监测系统解决方案

jianzhunenghao 建筑节能监测系统公共建筑能耗监测系统建筑能耗监测系统节能监测系统能耗监测建筑能耗监测能耗分析能耗管理能耗预测能耗监控能耗监测平台建筑能耗 介绍 能耗监控系统是为耗电量、耗水量、耗气量(天然气量或者煤气量)、集中供热耗热量…

无人机建模详解!!!

一、无人机拍摄 1. 准备工作 了解场地信息:在规划航线之前,需要了解场地的范围、地貌、树木遮挡情况、建筑和树木高度等,以便为后续的规划航线提供帮助。 选择拍摄时间:最佳拍摄条件为光线充足且风速较小的天气的10点-16点&…

校园管理系统创新:Spring Boot框架应用案例

第4章 系统设计 4.1 系统体系结构 校园管理系统的结构图4-1所示: 图4-1 系统结构 登录系统结构图,如图4-2所示: 图4-2 登录结构图 校园管理系统结构图,如图4-3所示。 图4-3 校园管理系统结构图 4.2开发流程设计 系统流程的分…

C语言整型数据在内存中的存储(22)

文章目录 前言一、整数在内存中的存储二、大小端字节序和字节序判断什么是大小端?为什么会有大小端?练习练习1练习2练习3练习4练习5练习6练习7 总结 前言 本篇是修炼内功的文章   首先,你先明白一个事实,数据在内存中是以二进制…

预测日前电价:回顾最先进的算法、最佳实践和公开基准——阅读笔记

Forecasting day-ahead electricity prices: A review of state-of-the-art algorithms, best practices and an open-access benchmark 预测日前电价:回顾最先进的算法、最佳实践和公开基准 Applied Energy (2021) 摘要:电价预测在过去二十年间已经得到…