0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

高效开发,从暗藏玄机的文件系统开始—合宙Air201资产定位模组LuatOS

合宙通信模组资料 来源:Air700ECQ资料 作者:Air700ECQ资料 2024-10-15 16:04 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

超低功耗、精准定位、快速量产 ——迷你小巧的合宙Air201,正给越来越多的行业客户带来高效开发体验。

4G-Cat.1模组的文件系统关乎数据传输速度、存储效率,以及数据安全性等等诸多因素,在应用开发中极为重要。

本期,我们来学习合宙Air201的实用示例**——文件系统的使用**

** Air201文件系统的使用**

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

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

合宙Air201最新资料下载链接:

www.hezhoudingwei.com

本教程教你使用Air201文件系统,可根据实际情况灵活运用。我们先来简单了解文件系统相关的基础知识:

文件系统是为了解决什么问题产生的?

4G-Cat.1通信模组的文件系统是为了支持数据存储与管理、支持远程管理和配置,以及保障数据安全性而产生的。

常见的文件系统有哪些?

嵌入式系统物联网设备中,常见的文件系统类型包括FAT、YAFFS、JFFS2,以及专为嵌入式系统设计的文件系统如SquashFS和LittleFS等。

文末阅读原文,了解不同文件系统类型在应用中的优缺点。

合宙Air201选择的文件系统有何特点?

合宙选择LittleFS作为主文件系统,并通过VFS扩展支持其他文件系统。

LittleFS文件系统是由ARM公司(特别是其mbedOS团队)开发的一款专为微控制器MCU)和物联网(IoT)设备设计的轻量级、健壮的文件系统。

它针对资源受限的环境进行了优化,具有轻量高效、闪存友好、易用可移植、支持高度定制等特色优势。

合宙Air201的文件系统分区存储方式,使用Block存储策略:

将文件分割成多个数据块(Blocks),每个数据块可以独立存储和处理,这样允许多个数据块同时读写,从而提高数据传输速度和存储效率。

默认分配的文件系统(lfs)大小为512KB,在代码中也可通过 fs.fsstat("/") 实时获取文件系统的空间大小。

图片

编辑

接下来,开始讲解Air201文件系统的使用示例:

1. 搭建环境

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

此时可以在LuaTools项目管理中新建一个项目,重新选择底层固件和脚本;或者在原有项目的基础上,不更换固件,将原来的脚本删除,添加为demo/fs的脚本。

图片

编辑

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/fs

2. 编写代码

2.1 代码基本配置

我们在编写一个新脚本的时候,首先应该做的操作就是把框架搭好,有一个合理的框架才能编写出完美的代码。

以下代码对脚本做了命名、添加使用库、创建任务线程等操作:

图片

编辑

2.2 添加看门狗

注意:我们在进行文件系统的操作时,可能会出现空间不足死机的情况。

我们可以提前添加看门狗,来避免程序卡死:

图片

编辑

2.3 读写操作

以下代码对文件进行了打开读取内容和写入内容的操作,建议仔细阅读,可帮助我们更好地了解和掌握文件系统的读写操作。

图片

编辑

运行这段代码,得到的结果如下图打印:

图片

编辑

2.4 文件seek操作

下面为大家演示seek的操作:

图片

编辑

如果没有加入seek的操作,这段代码运行结果应该是"ABCDEFG12345hello",但是因为seek将文件指针移动,导致结果输出不同。

图片

编辑

3. 课后习题

好,这里留给你一个课后习题,动手试试吧:

- 本期课后习题 -

如何将TCP得到的数据存到文件系统呢?

今天的分享就到这里了

更多实用示例带你开启应用之门

下一期见~

Air201最新资料详见:

www.hezhoudingwei.com

图片

编辑

你有哪些开发故事分享呢

快来文末留言或加交流群吧

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5209

    文章

    20645

    浏览量

    336925
  • 物联网
    +关注

    关注

    2950

    文章

    48121

    浏览量

    418278
  • 文件系统
    +关注

    关注

    0

    文章

    305

    浏览量

    21039
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    LuatOS:485 总线硬件设计要点与 exmodbus 库开发实战

    在工业物联网通信开发中,485 总线与 Modbus 协议的组合应用十分常见。本文以 Air780EHV 系列模组为实例,围绕
    的头像 发表于 03-19 17:57 220次阅读
    <b class='flag-5'>LuatOS</b>:485 总线硬件设计要点与 exmodbus 库<b class='flag-5'>开发</b>实战

    猛!MCU模组Air1601/1602双星出击!

    在嵌入式开发中,你是否曾面临这样的困境:高清UI渲染依赖昂贵高端芯片、图像处理卡顿、多网通信协同复杂、工业级稳定设计繁琐……Air1601/Ai
    的头像 发表于 02-13 14:05 862次阅读
    猛!<b class='flag-5'>合</b><b class='flag-5'>宙</b>MCU<b class='flag-5'>模组</b>:<b class='flag-5'>Air</b>1601/1602双星出击!

    高效接入语音交互:模组音频方案如何选?

    本文特别分享4G模组选型与硬件设计要点,为开发者提供实用参考。 一、模组音频支持概况 主芯片是否原生支持音频功能来看,
    的头像 发表于 02-08 14:59 907次阅读
    <b class='flag-5'>高效</b>接入语音交互:<b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>模组</b>音频方案如何选?

    LuatOS-Air脚本移植到LuatOS版本注意事项

    LuatOS-Air的api: 在https://doc.openluat.com/wiki/21?wiki_page_id=2068这里,又分为了5.1 原生接口 ,提供的 额外接口 两种。 在额外的接口其中,又分为
    的头像 发表于 01-17 14:48 1257次阅读
    <b class='flag-5'>LuatOS-Air</b>脚本移植到<b class='flag-5'>LuatOS</b>版本注意事项

    LuatOS-AirLuatOS常见故障排查手册

    方案,打造一份实用的“不翻车”操作指南。 一、lua版本不一样 LuatOS-Air使用的是lua5.1版本,本身不支持位移运算符。 LuatOS使用的是lua5.3版本,取消了module(..., package.seeall)这种形式的跨
    的头像 发表于 01-13 19:20 265次阅读
    <b class='flag-5'>LuatOS-Air</b>转<b class='flag-5'>LuatOS</b>常见故障排查手册

    构建可靠USB应用:硬件设计要点与LuatOS开发技巧!

    指导。 本文以Air780EPM系列低功耗模组为例,分享USB接口的硬件设计要点以及LuatOS高效开发API,帮助
    的头像 发表于 12-15 10:46 334次阅读
    构建可靠USB应用:硬件设计要点与<b class='flag-5'>LuatOS</b><b class='flag-5'>开发</b>技巧!

    Air8000 LuatOS exgnss扩展库应用秘籍:定位开发避坑指南!

    LuatOS exgnss扩展库的使用中,开发者常因坐标系误区或模式管理不当踩坑。本秘籍结合实战经验,针对Air8000平台,系统总结常见问题(如WGS-84与国内地图偏差)、解决方
    的头像 发表于 11-14 15:26 2002次阅读
    <b class='flag-5'>Air</b>8000 <b class='flag-5'>LuatOS</b> exgnss扩展库应用秘籍:<b class='flag-5'>定位</b><b class='flag-5'>开发</b>避坑指南!

    USB设计操作指南:硬件关键与LuatOS API开发技巧!

    本文以Air780EPM系列低功耗模组为实例,分享USB接口硬件设计的要点以及LuatOS高效开发API的助力作用。旨在指导
    的头像 发表于 11-11 18:29 355次阅读
    USB设计操作指南:硬件关键与<b class='flag-5'>LuatOS</b> API<b class='flag-5'>开发</b>技巧!

    USB设计全程攻略:硬件关键点与LuatOS API开发指南!

    友,往往会因其“看似简单”而掉以轻心。   实际上,USB作为物联网设备中负责供电、固件升级、通信交互等功能的核心通道,其设计质量直接影响整机稳定性。电路保护、阻抗控制、电源滤波到PCB布局,几乎每一步都暗藏玄机。一旦处理不当,就可能导致
    的头像 发表于 11-11 18:29 408次阅读
    USB设计全程攻略:硬件关键点与<b class='flag-5'>LuatOS</b> API<b class='flag-5'>开发</b>指南!

    明晚8点|睿擎文件系统实战:开发到发布全流程解析

    文件操作到镜像发布,一次直播掌握完整开发流程!在嵌入式系统开发中,文件系统是数据存储、配置管理和资源访问的核心基础。然而在实际
    的头像 发表于 11-11 11:53 779次阅读
    明晚8点|睿擎<b class='flag-5'>文件系统</b>实战:<b class='flag-5'>从</b><b class='flag-5'>开发</b>到发布全流程解析

    睿擎派文件系统指南:开发到发布全流程实践 | 技术解析

    在嵌入式系统开发中,文件系统扮演着至关重要的角色,它负责数据的持久化存储、配置文件管理和资源访问等核心功能。睿擎平台提供了一套完整的文件系统解决方案,
    的头像 发表于 11-05 18:13 8290次阅读
    睿擎派<b class='flag-5'>文件系统</b>指南:<b class='flag-5'>从</b><b class='flag-5'>开发</b>到发布全流程实践 | 技术解析

    LuatOS AGPS 辅助定位开发实战教程

    为解决传统 GPS 定位慢、功耗高的痛点,AGPS 技术通过辅助数据注入提升效率。本教程以 LuatOS 开发环境为基础,循序渐进地讲解 AGPS 辅助定位
    的头像 发表于 10-31 17:34 1343次阅读
    <b class='flag-5'>LuatOS</b> AGPS 辅助<b class='flag-5'>定位</b><b class='flag-5'>开发</b>实战教程

    LuatOSAir8000 AGPS辅助定位教程与实践

    本教程演示了Air8000在LuatOS中利用AGPS辅助定位实现快速定位的方法,系统讲解AGPS原理及
    的头像 发表于 10-31 16:51 3205次阅读
    <b class='flag-5'>LuatOS</b>下<b class='flag-5'>Air</b>8000 AGPS辅助<b class='flag-5'>定位</b>教程与实践

    高效开发:解锁Air8000 LuatOS softAP配网功能的核心技术!

    为缩短物联网项目开发周期,掌握高效的配网技术至关重要。本文聚焦Air8000平台,深入讲解如何利用LuatOS系统开发softAP配网功能,
    的头像 发表于 07-17 15:49 778次阅读
    <b class='flag-5'>高效</b><b class='flag-5'>开发</b>:解锁<b class='flag-5'>Air</b>8000 <b class='flag-5'>LuatOS</b> softAP配网功能的核心技术!

    基于LuatOS核心库的实时操作系统开发理论到实践~

    ,降低了系统阻塞风险。 在LuatOS开发中,用于实时操作系统(RTOS)相关功能的核心库——提供了定时器管理、系统控制、内存监控、路径配置
    的头像 发表于 05-16 13:56 643次阅读
    基于<b class='flag-5'>LuatOS</b>核心库的实时操作<b class='flag-5'>系统开发</b>:<b class='flag-5'>从</b>理论到实践~