在振動(dòng)傳感領(lǐng)域,Air8000-LuatOS的exvib擴(kuò)展庫具備顯著優(yōu)勢。本文以實(shí)戰(zhàn)驅(qū)動(dòng),詳細(xì)解析其全流程使用方法,包括環(huán)境配置、核心功能實(shí)現(xiàn)及數(shù)據(jù)驗(yàn)證,確保開發(fā)者能快速構(gòu)建穩(wěn)定可靠的解決方案。
一、GSENSOR 概述
gsensor 即 G-sensor,重力傳感器,又名加速度傳感器。Air8000 使用的 G-sensor 傳感器型號(hào)是 da221。
da221 傳感器是一種低功耗、高性能的電容式三軸線性加速度計(jì),采用微機(jī)械技術(shù)開發(fā)。該器件采用 2x2x1.1 mm 的 LGA 封裝,保證在 -40°C 至 +85°C 的寬溫度范圍內(nèi)工作。傳感器元件采用單晶硅通過 DRIE 工藝制造,并通過密封的硅帽保護(hù)免受環(huán)境影響。該器件具有用戶可選的 ±2g/±4g/±8g 滿量程測量范圍,數(shù)據(jù)輸出速率從 1Hz 到 1 kHz,并集成了信號(hào)調(diào)節(jié)和主動(dòng)檢測功能。da221 具有斷電模式,非常適合手機(jī)電源管理。一個(gè)獨(dú)立且靈活的中斷大大簡化了各種運(yùn)動(dòng)狀態(tài)檢測的算法。
二、演示功能概述
使用 Air8000 開發(fā)板,本示例主要是展示 exvib 庫的使用,提供了三種場景應(yīng)用:
1,微小震動(dòng)檢測:用于檢測輕微震動(dòng)的場景,例如用手敲擊桌面;加速度量程 2g;
2,運(yùn)動(dòng)檢測:用于電動(dòng)車或汽車行駛時(shí)的檢測和人行走和跑步時(shí)的檢測;加速度量程 4g;
3,跌倒檢測:用于人或物體瞬間跌倒時(shí)的檢測;加速度量程 8g;
在震動(dòng)檢測方面提供了兩種模式,有效震動(dòng)模式和持續(xù)震動(dòng)檢測模式:
持續(xù)震動(dòng)檢測模式:震動(dòng)強(qiáng)度超過設(shè)定閾值時(shí),會(huì)進(jìn)入中斷處理函數(shù),獲取 xyz 三軸的數(shù)據(jù)
有效震動(dòng)模式:當(dāng) 10 秒內(nèi)觸發(fā) 5 次震動(dòng)強(qiáng)度超過設(shè)定閾值時(shí),持續(xù)觸發(fā)震動(dòng)事件,并執(zhí)行相應(yīng)的處理函數(shù),30 分鐘內(nèi)只能觸發(fā)一次,直到 30 分鐘之后,再重新開始檢測
三、準(zhǔn)備硬件環(huán)境
本篇教程用 Air8000 開發(fā)板來開發(fā)調(diào)試。大家準(zhǔn)備好硬件環(huán)境。
四、準(zhǔn)備軟件環(huán)境
1. 燒錄工具Luatools;
2. 內(nèi)核固件文件(底層 core 固件文件):LuatOS-SoC_V2014_Air8000;此頁面有新版本固件的話選用最新版本固件,本次操作用的是 101 號(hào)固件,可以根據(jù)自己的需求選擇自己需要的固件。
3. LuatOS 需要的腳本和資源文件:https://gitee.com/openLuat/LuatOS/tree/master/module/Air8000/demo/gsensor/vibration
4. lib 腳本文件:使用 Luatools 燒錄時(shí),勾選 添加默認(rèn) lib 選項(xiàng),使用默認(rèn) lib 腳本文件,如果沒有下載最新的 lib,可以在 luatos 庫里面下載最新的 lib 使用:https://gitee.com/openLuat/LuatOS/tree/master/script/libs;
準(zhǔn)備好軟件環(huán)境之后,接下來查看如何燒錄項(xiàng)目文件到 Air8000 開發(fā)板中,將本篇文章中演示使用的項(xiàng)目文件燒錄到 Air8000 開發(fā)板中。(https://docs.openluat.com/air8000/common/Luatools/)
五、軟硬件參考
本教程使用 api 接口為:
https://docs.openluat.com/osapi/ext/exvib/
六、代碼示例介紹
6.1 代碼講解
main.lua
主要是加載 vibration 模塊

vibration.lua
加載了 exvib 庫,開啟 task 協(xié)程,調(diào)用 exvib.open(1)接口開啟振動(dòng)監(jiān)測模式 1:微小震動(dòng)檢測,設(shè)置 gpio.WAKEUP2 防抖 100ms,防抖的作用是 100ms 只能觸發(fā)一次,防止誤觸,然后設(shè)置中斷模式觸發(fā),關(guān)于觸發(fā)方式我們提供了兩種場景的應(yīng)用:
第一種場景是持續(xù)震動(dòng)場景:只要檢測到震動(dòng)就會(huì)一直觸發(fā)
第二種場景是有效震動(dòng)場景:在 10 秒內(nèi)檢測到 5 次震動(dòng)則判定為有效震動(dòng),有效震動(dòng)觸發(fā)之后,30 分鐘之后才能再次觸發(fā),有效震動(dòng)的邏輯大概是用循環(huán)定時(shí)器的方式每秒都把 tick 值 +1,然后每次觸發(fā)震動(dòng)則記錄 tick 值到表里面,然后對表里面的最后一次觸發(fā)的 tick 和第一次觸發(fā)的 tick 進(jìn)行對比,如果小于 10 并且第五次的值為有效值就判定為有效震動(dòng),也可以改動(dòng)成自己項(xiàng)目的有效震動(dòng)邏輯。

6.2 效果展示
有效震動(dòng)模式日志:

持續(xù)震動(dòng)模式日志:

七、總結(jié)
本示例介紹了如何用 Air8000 開發(fā)板展示內(nèi)部三軸加速度傳感器的震動(dòng)觸發(fā)功能。
八、注意事項(xiàng)與常見問題
1.exvib.lua 可適用于內(nèi)部集成了 G-Sensor 加速度傳感器 DA221 的模組型號(hào),
目前僅有 Air8000 系列模組內(nèi)置了 DA221,Air7000 推出時(shí)也會(huì)內(nèi)置該型號(hào) G-Sensor;
2.DA221 在 Air8000 內(nèi)部通過 I2C1 與之通信,并通過 WAKEUP2 接收運(yùn)動(dòng)監(jiān)測中斷,
如您使用其它型號(hào)模組外接 DA221 時(shí),比如 Air780EGH,建議與 Air8000 保持一致也選用 I2C1 和 WAKEUP2
(該管腳即為 Air780EGH 的 PIN79:USIM_DET),這樣便可以無縫使用本擴(kuò)展庫,DA221 的供應(yīng)商為蘇州明皜
如需 DA221 或者其他更高端的加速度傳感器可以聯(lián)系他們;
3.DA221 作為加速度傳感器,LuatOS 僅支持運(yùn)動(dòng)檢測這一功能,主要用于震動(dòng)檢測,運(yùn)動(dòng)檢測,跌倒檢測,
搭配 GNSS 實(shí)現(xiàn)震動(dòng)然后定位的功能,其余功能請自行研究,我們提供了三種應(yīng)用場景,如果需要適配自己的場景需求,
請參考手冊參數(shù)自行修改代碼,調(diào)試適合自己場景的傳感器值,我們不提供 DA221 任何其它功能的任何形式的技術(shù)支持;
da221 手冊:da221.pdf
今天的內(nèi)容就分享到這里了~
審核編輯 黃宇
-
gsensor
+關(guān)注
關(guān)注
1文章
2瀏覽量
1818 -
LuatOS
+關(guān)注
關(guān)注
0文章
163瀏覽量
2732
發(fā)布評論請先 登錄
LuatOS:485 總線硬件設(shè)計(jì)要點(diǎn)與 exmodbus 庫開發(fā)實(shí)戰(zhàn)
AirCloud平臺(tái)+excloud擴(kuò)展庫:核心功能實(shí)戰(zhàn)應(yīng)用!
Air8000 BLE外圍模式全解析:數(shù)據(jù)收發(fā)實(shí)戰(zhàn)指南!
Air8000 LuatOS exgnss擴(kuò)展庫應(yīng)用秘籍:定位開發(fā)避坑指南!
LuatOS exgnss擴(kuò)展庫實(shí)戰(zhàn)進(jìn)階:GNSS功能開發(fā)全流程!
Air8000-LuatOS exvib擴(kuò)展庫實(shí)操指南:全流程技術(shù)細(xì)節(jié)深度解讀
Air8000 模塊 CAN 接口實(shí)戰(zhàn)開發(fā):從入門到配置的完整流程指南
BLE 5.4時(shí)代下,Air8000藍(lán)牙通知與手機(jī)讀寫操作實(shí)戰(zhàn)攻略
是否必須使用LuatIO?Air8000 GPIO配置與設(shè)計(jì)規(guī)范深度解析
SFUD驅(qū)動(dòng)庫實(shí)戰(zhàn)手冊:串行SPI Flash開發(fā)全流程解析
高效開發(fā):解鎖Air8000 LuatOS softAP配網(wǎng)功能的核心技術(shù)!
LuatOS藍(lán)牙配網(wǎng)開發(fā)全攻略:以Air8000為核心實(shí)戰(zhàn)教學(xué)
LuatOS藍(lán)牙配網(wǎng)全流程解析:Air8000開發(fā)入門必備
全棧開發(fā)進(jìn)階指南:LuatOS-log庫從入門到實(shí)戰(zhàn)!
解鎖LuatOS-log庫:全棧工程師的日志管理實(shí)戰(zhàn)課!
Air8000-LuatOS exvib擴(kuò)展庫使用全流程:實(shí)戰(zhàn)驅(qū)動(dòng)的操作解析
評論