Air8000-LuatOS exvib扩展库全流程操作手册:实战经验全分享

news/2025/11/1 20:09:24/文章来源:https://www.cnblogs.com/luatos/p/19183784

面对复杂的振动监测需求,Air8000-LuatOS的exvib扩展库提供了高效解决方案。本文基于实战经验,全面梳理从初始化到数据输出的全流程操作,包括依赖安装、参数调优和性能测试,为开发者提供一份即学即用的实操手册。

一、GSENSOR 概述

gsensor 即 G-sensor,重力传感器,又名加速度传感器。Air8000 使用的 G-sensor 传感器型号是 da221。

da221 传感器是一种低功耗、高性能的电容式三轴线性加速度计,采用微机械技术开发。该器件采用 2x2x1.1 mm 的 LGA 封装,保证在 -40°C 至 +85°C 的宽温度范围内工作。传感器元件采用单晶硅通过 DRIE 工艺制造,并通过密封的硅帽保护免受环境影响。该器件具有用户可选的 ±2g/±4g/±8g 满量程测量范围,数据输出速率从 1Hz 到 1 kHz,并集成了信号调节和主动检测功能。da221 具有断电模式,非常适合手机电源管理。一个独立且灵活的中断大大简化了各种运动状态检测的算法。

二、演示功能概述

使用 Air8000 开发板,本示例主要是展示 exvib 库的使用,提供了三种场景应用:

1,微小震动检测:用于检测轻微震动的场景,例如用手敲击桌面;加速度量程 2g;

2,运动检测:用于电动车或汽车行驶时的检测和人行走和跑步时的检测;加速度量程 4g;

3,跌倒检测:用于人或物体瞬间跌倒时的检测;加速度量程 8g;

在震动检测方面提供了两种模式,有效震动模式和持续震动检测模式:

持续震动检测模式:震动强度超过设定阈值时,会进入中断处理函数,获取 xyz 三轴的数据

有效震动模式:当 10 秒内触发 5 次震动强度超过设定阈值时,持续触发震动事件,并执行相应的处理函数,30 分钟内只能触发一次,直到 30 分钟之后,再重新开始检测

三、准备硬件环境

本篇教程用 Air8000 开发板来开发调试。大家准备好硬件环境。

四、准备软件环境

  1. 烧录工具 Luatools;

  2. 内核固件文件(底层 core 固件文件):LuatOS-SoC_V2014_Air8000;此页面有新版本固件的话选用最新版本固件,本次操作用的是 101 号固件,可以根据自己的需求选择自己需要的固件。

  3. LuatOS 需要的脚本和资源文件:https://gitee.com/openLuat/LuatOS/tree/master/module/Air8000/demo/gsensor/vibration

  4. lib 脚本文件:使用 Luatools 烧录时,勾选 添加默认 lib 选项,使用默认 lib 脚本文件,如果没有下载最新的 lib,可以在 luatos 库里面下载最新的 lib 使用:https://gitee.com/openLuat/LuatOS/tree/master/script/libs;

准备好软件环境之后,接下来查看如何烧录项目文件到 Air8000 开发板中,将本篇文章中演示使用的项目文件烧录到 Air8000 开发板中。(https://docs.openluat.com/air8000/common/Luatools/)

五、软硬件参考

5.1 API 接口介绍

本教程使用 api 接口为:

https://docs.openluat.com/osapi/ext/exvib/

六、代码示例介绍

6.1 代码讲解

main.lua

主要是加载 vibration 模块

image

vibration.lua

加载了 exvib 库,开启 task 协程,调用 exvib.open(1)接口开启振动监测模式 1:微小震动检测,设置 gpio.WAKEUP2 防抖 100ms,防抖的作用是 100ms 只能触发一次,防止误触,然后设置中断模式触发,关于触发方式我们提供了两种场景的应用:

第一种场景是持续震动场景:只要检测到震动就会一直触发

第二种场景是有效震动场景:在 10 秒内检测到 5 次震动则判定为有效震动,有效震动触发之后,30 分钟之后才能再次触发,有效震动的逻辑大概是用循环定时器的方式每秒都把 tick 值 +1,然后每次触发震动则记录 tick 值到表里面,然后对表里面的最后一次触发的 tick 和第一次触发的 tick 进行对比,如果小于 10 并且第五次的值为有效值就判定为有效震动,也可以改动成自己项目的有效震动逻辑。

image

6.2 效果展示

有效震动模式日志:

image

持续震动模式日志:

image

七、总结

本示例介绍了如何用 Air8000 开发板展示内部三轴加速度传感器的震动触发功能。

八、注意事项与常见问题

1.exvib.lua 可适用于内部集成了 G-Sensor 加速度传感器 DA221 的模组型号,

目前仅有 Air8000 系列模组内置了 DA221,Air7000 推出时也会内置该型号 G-Sensor;

2.DA221 在 Air8000 内部通过 I2C1 与之通信,并通过 WAKEUP2 接收运动监测中断,

如您使用其它型号模组外接 DA221 时,比如 Air780EGH,建议与 Air8000 保持一致也选用 I2C1 和 WAKEUP2

(该管脚即为 Air780EGH 的 PIN79:USIM_DET),这样便可以无缝使用本扩展库,DA221 的供应商为苏州明皜

如需 DA221 或者其他更高端的加速度传感器可以联系他们;

3.DA221 作为加速度传感器,LuatOS 仅支持运动检测这一功能,主要用于震动检测,运动检测,跌倒检测,

搭配 GNSS 实现震动然后定位的功能,其余功能请自行研究,我们提供了三种应用场景,如果需要适配自己的场景需求,

请参考手册参数自行修改代码,调试适合自己场景的传感器值,我们不提供 DA221 任何其它功能的任何形式的技术支持;

da221 手册:da221.pdf

今天的内容就分享到这里了~

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

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

相关文章

常见Linux命令大全

菜鸟教程 https://www.runoob.com/linux/linux-command-manual.html 别人自己做的 https://wangchujiang.com/linux-command/list.html#!kw=ls 常见命令 ls ls命令 就是list的缩写,用来显示目标列表,在Linux中是使用…

CLIP模型诞生

CLIP模型的诞生与发展历程 2.1 OpenAI的多模态探索之旅 CLIP模型是OpenAI在多模态领域的重要探索成果。在CLIP之前,OpenAI已经在自然语言处理领域取得了巨大成功,包括GPT系列模型。然而,研究人员意识到,要构建更全…

大模型微调LORA原理 TRANFORMER

引言:大模型微调的挑战1.1 全参数微调的成本问题随着大语言模型参数规模从数十亿扩展到数千亿,传统全参数微调方法面临严峻挑战: 计算资源需求:微调一个1750亿参数的模型需要数百GB的GPU显存 存储开销:每个微调任…

第二周算法设计作业

1.#include using namespace std; int partition(int a[], int left, int right) { int pivot = a[left]; int i = left, j = right; while (i < j) { while (i < j && a[j] >= pivot) j--; a[i] = …

[carplay] MFI iAP2在bluez中的实现,实现carplay蓝牙握手 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

全球前十轮胎品牌推荐:专业TOP10精选指南

全球前十轮胎品牌推荐:专业TOP10精选指南在当今全球汽车产业蓬勃发展的时代,轮胎作为汽车与地面接触的唯一部件,其性能优劣直接影响着车辆的行驶安全、舒适体验以及能源效率。对于汽车制造商、物流企业以及广大车主…

全球前十轮胎品牌:权威排名最新解析

全球轮胎市场竞争激烈,企业面临着技术迭代、全球化布局、成本控制等诸多挑战。对于汽车制造商和消费者而言,选择一家可靠的轮胎品牌至关重要,这不仅关系到产品的性能和安全性,还影响着品牌形象和市场竞争力。本次推…

机器学习决策树与大模型的思维树 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Windows 安全分割利器:strtok_s () 详解 - 详解

Windows 安全分割利器:strtok_s () 详解 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", …

软考十四

软考十四Posted on 2025-11-01 19:49 心默默言 阅读(0) 评论(0) 收藏 举报1. 试题分析2. 答题要领3. 答题步骤4. 专业词汇

手撕深度学习之CUDA矩阵乘法(上篇):从朴素实现到40倍性能提升的优化之旅

本文是CUDA矩阵乘法系列文章的上篇。这个系列会从一个最简单的实现出发,逐步优化到cuBLAS标准库86%的性能,并详细介绍其中涉及到的CUDA性能优化技巧。 本文首先给出了一个开箱即用的实验源代码,然后介绍了GPU硬件知…

6 大企业级无代码低代码平台 RBAC 权限体系深度对比

本文对比了六款主流无代码/低代码平台(NocoBase、Retool、OutSystems、Appsmith、Budibase、Mendix)的 RBAC 权限体系,从粒度、灵活性与使用体验三方面深入解析,帮助您快速了解各平台在权限控制上的差异与适用场景…

大模型性能测试

一、大模型性能测试的核心价值在AI技术快速发展的今天,大模型性能直接影响用户体验和商业价值。性能测试不仅能发现系统瓶颈,还能为容量规划、成本优化提供数据支撑。 为什么大模型需要专门的性能测试方法?传统性能…

软考十三

软考十三Posted on 2025-11-01 19:41 心默默言 阅读(0) 评论(0) 收藏 举报1. 知识产权2. 保护期限3. 知识产权人确定4. 侵权判定5. 标准的分类

精美GitHub个人主页模板大全 - 打造你的专属开发者名片

该篇文章无摘要欢迎来到这个精心整理的GitHub个人主页模板集合!这里汇集了各种风格独特、设计精美的GitME模板,帮助你在GitHub上打造令人印象深刻的个人名片。 ✨ 项目特色📚 模板丰富 - 收集了100+个高质量GitHub…

实用指南:【OpenCV】图像处理实战:边界填充与阈值详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

music-manage

music-manage项目整体分析(音乐管理系统前端) 一、项目架构与技术栈 这是一个基于 Vue.js 的单页应用(SPA),主要用于音乐平台的后台管理系统,技术栈包括:核心框架:Vue.js(前端页面构建) 路由:Vue Router(页…

百人互联网企业OKR推行与考核适用建议

对于百人规模的互联网企业,正处于快速发展期,强调创新、协同和敏捷至关重要。OKR是推动这一切的理想框架。 1. OKR内部推行范围:建议全员推行。从CEO到研发、产品、运营、市场乃至职能支持部门(如人力、财务),都…

部署常用命令

部署常用命令pnpm install //安装项目所需要的所有依赖 //会根据pacage.json里面的依赖配置,安装所有必须的依赖,并生成node_modules目录 //依赖完成后,再次运行构建命令行 pnpm run build //若仍旧报错,排查pacag…