Air724UG软件的SD卡随笔!贴身版

news/2025/2/27 20:09:33/文章来源:https://www.cnblogs.com/luatos/p/18562574

本次要讲的是4G模组的SD卡示例,以Air724UG模组为例子供大家参考。

一、SD 卡概述

SD卡在物联网设备中,经常用于存储较大文件的容器载体。本文介绍如何用 Air724UG开发板,和PC端搭建一个基于SD卡存储文件的功能演示。

SDIO(Secure Digital Input and Output)全称为安全数字输入输出接口,在协议上和SPI类似是一种串行的硬件接口,通信的双方一个作为 HOST,另一端是 Device,所有的通信都是由 HOST 端发送命令开始的,Device 端只要解析相应的命令,就可以正常通信了。比较常见的应用是用来外接 SD 卡或者 MicroSD Card(也叫 TF 卡)。

二、演示功能概述

本教程教你如何在开发板上使用SD卡读写文件。

功能定义:

  1. 开发板读取 SD 卡大小信息
  2. 开发板读取 SD 文件
  3. 复制 SD 卡文件到开发板中

三、准备硬件环境

3.1 Air724UG

使用 EVB_Air724 开发板,如下图所示:

此开发板的详细使用说明参考:
https://docs.openluat.com/air724ug/

Air724UG 产品手册 中的《EVB_Air724UG_AXX 开发板使用说明》,写这篇文章时最新版本的使用说明为:《EVB_Air724UG_A14 开发板使用说明》;开发板使用过程中遇到任何问题,可以直接参考这份使用说明文档。

api文档:
https://doc.openluat.com/wiki/21?wiki_page_id=2068

3.2 PC 电脑

WIN7以及以上版本的WINDOWS系统。

3.3 数据通信线

USB转安卓数据线。

3.4 SD 卡

支持的SD卡最大容量为32GB;

3.5 组装硬件环境

USB数据线插入USB口,另一端与电脑相连,拨码开关全部拨到 ON,串口切换开关选择UART1,USB 供电的 4V 对应开关拨至ON档,SD卡放入SD插槽中并锁死,如下图所示。

四、准备软件环境

4.1 安装驱动程序

驱动下载地址如下,直接安装即可。
https://docs.openluat.com/Luatools/

USB驱动程序:

下载驱动压缩包,解压后,根据电脑配置安装对应驱动,如 64 位操作系统选择如下所示

安装成功后,将开发板连接到电脑 USB 口,开机后会在设备管理器中虚拟出 3 个虚拟串口,如下则 USB 驱动安装完成。

4.2 安装工具 Luatools

要想烧录固件到 4G 模组中,需要用到的调试工具:Luatools;

详细使用说明参考:
Luatools 工具使用说明:
https://docs.openluat.com/Luatools/

Luatools 工具集具备以下几大核心功能:

一键获取最新固件:自动连接服务器,轻松下载最新的模组固件。

固件与脚本烧录:便捷地将固件及脚本文件烧录至目标模组中。

串口日志管理:实时查看模组通过串口输出的日志信息,并支持保存功能。

串口调试助手:提供简洁的串口调试界面,满足基本的串口通信测试需求。

Luatools 下载之后, 无需安装, 解压到你的硬盘,点击 Luatools_v3.exe 运行即可。

Luatools 支持最新固件获取、固件打包、项目管理、trace 打印、单机烧录等功能。

4.3 脚本和固件下载

程序源码下载
脚本源码见附件。

https://gitee.com/openLuat/LuatOS-Air724UG/tree/master/script_LuaTask/demo/sdCard

固件下载
下载底层固件,并解压

链接:
https://docs.openluat.com/air724ug/luatos/firmware/

如下图所示,红框的是我们要使用到的

4.4 下载固件和脚本到开发板中

打开 Luatools,开发板上电开机,如开机成功 Luatools 会打印如下信息。

点击项目管理测试选项。

进入管理界面,如下图所示。

点击选择文件,选择底层固件,具体路径在 4.2 项目中的解压为文件中,我的文件放在 D:\luatOS\Air724 路径中

点击增加脚本或资源文件,如下图所示。

点击下载底层和脚本,下载完成如下图所示。

五、开发板接口说明

5.1 SDIO 硬件通道对应的接口如下:

5.2 SD 卡部分原理图

5.3 SD 卡安装位置

六、脚本代码说明

6.1 testSdCard.lua

本代码为 SD 卡程序脚本,系统启动先判断是否有SD 卡,如果挂载成功,打印总容量(单位为 KB),并且遍历读取 SD 卡根目录下的最多 10 个文件或者文件夹。复制 SD 卡的 pwron.mp3 文件,到开发板根目录,并且播放开发板根目录下的 pwron.mp3 文件。

6.2 main.lua

本代码为主程序脚本,系统启动后首先会对 4G 网络进行配置,然后加载测试模块。

七、开机调试

7.1 开发板开机

连接好硬件并下载固件后,启动 Luatools 软件,系统运行信息将显示在界面中。红框中为开发板连接到 PC 机后正常打印的信息,如下图所示。

7.2 SD 卡调试

读取 SD 卡信息

显示 SD 卡中的文件和大小

7.3 MP3 文件处理

复制 mp3 文件到开发板,完成后在开发板上播放 mp3,如下图所示。

分享完毕。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于低功耗模组的SPI示例详细教程!

本文说的是低功耗模组的SPI示例详细教程,以低功耗4G模组Air724UG为例我将详细分析。本文说的是低功耗模组的SPI示例详细教程,以低功耗4G模组Air724UG为例我将详细分析。 一、简介 SPI 是串行外设接口(Serial Peripheral Interface)的缩写。 SPI,是一种高速的,全双工,同步的…

在WPF程序中实现PropertyGrid功能

使用C#开发过Windows Forms的都知道,在Windows Forms程序中,有一个PropertyGrid控件,可以用于显示对象的属性,在WPF中并没有默认提供此功能的控件,今天以一个简单的小例子,简述在WPF中借助WinForm的PropertyGrid实现属性列表功能,仅供学习分享使用,如有不足之处,还请指…

2024-2025-1 20241322 《计算机基础与程序设计》 第九周学习总结

2024-2025-1 20241322 《计算机基础与程序设计》 第九周学习总结 作业信息这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK09这个作业的目标 - 操作系统责任 - 内存与进程…

记一次复杂sql涉及到的sql语法

这是一个报表的sql查询,查询销售员的业绩分析. 一、表说明customer:客户表,客户与销售人员(通过 salesman_id)关联。 sale_contract :销售合同表 user:用户表(销售人员表),包含字段如 real_name(姓名)、post_id(职位ID)、dept_id(部门ID)。 post:销售人员的职位信…

Java大作业5-6次总结

第一次迭代总体来说不难分析。它每个控制器和受控制器都是独立的,设计完之后就可以像拼积木那样来完成项目。感觉是封装思想的经典例题。 在进行类的设计时,由于题目中描述的类的实现采用的是元器件拼音首字母,因此为了方便记忆,我也使用了对应的拼音来定义类。这在实际使用…

一文梳理获取本地IP和远程IP的各种方式,附Python代码实例

本地 IP 是指设备在本地网络(如家庭、办公室局域网)中被分配的IP地址,用于在该局域网内设备之间的通信和识别,一般由路由器分配。远程 IP 则是互联网上其它网络或服务器的 IP 地址,用于设备与外部网络通信,如访问网站时的服务器 IP。 获取本地IP地址 1. 系统设置查看其中…

程序设计实验4

任务1 task1_1.cpp1 #include <iostream>2 3 using std::cout;4 using std::endl;5 6 // 类A的定义7 class A {8 public:9 A(int x0, int y0); 10 void display() const; 11 12 private: 13 int x, y; 14 }; 15 16 A::A(int x0, int y0): x{x0}, y{y0} { 1…

2024 Notepad++最新版官网中文版与安装教程

前言 Notepad (记事本)是一个简单的文本编辑器,预装在所有版本的 Microsoft Windows 操作系统中。它的主要功能是创建、编辑和存储纯文本文件,通常以 .txt 格式保存。Notepad 的设计旨在提供一个轻量级的文本处理工具,适合快速编辑和查看文本内容。 基于 Notepad,Notepad…

宝塔面板MySQL无法启动的解决办法

如果你也使用宝塔面板,并且恰好遇到 MySQL 无法启动的情况,那么我猜你大概率是使用了宝塔面板中 MySQL 管理中的“性能调整”功能,因为子凡我已经在这里栽跟头好几次了,今天就简单的给大家分享一下解决办法。宝塔面板 MySQL 数据库无法启动或重启失败的主要问题就是由于 qu…

Computer Vision

Computer Vision https://zhuanlan.zhihu.com/p/444208711.1 概念 计算机视觉(Computer Vision)是研究计算机如何像人类视觉系统 一样,从数字图像或视频中理解其高层内涵的一门学科,简言之就是研究如何让计算机看懂世界,由于它包括对数字图像或视频进行预处理、特征提取、特…

学习笔记(四十二):自定义组件@BuilderParam装饰器

概述: 该装饰器用于声明任意UI描述的一个元素,类似slot占位符。使用示例: 1、初始化@BuilderParam装饰的方法// 自定义组件 @Component export struct CommonView{@Builder customBuilder() {}; // 当前组件@BuilderParam customBuilderParam: () => void = this.customB…

Python创建虚拟环境报错:Error: Command......

目录环境说明问题描述原因分析解决方法 环境说明系统# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.4 LTS Release: 22.04 Codename: jammyPython版本# python3 --version Python 3.13.0问题描述 使用 ve…