Sensor¶
本文汇总该功能的常见问题、关键参考代码和应用示例。
参考代码¶
文件 |
作用 |
|---|---|
|
接收传感器数据并分发给订阅者 |
|
向 UI 提供传感器数据订阅和取消订阅接口 |
|
保存传感器校准参数和历史状态 |
|
为传感器算法提供周期调度定时器 |
|
绑定传感器设备和算法实例 |
应用例程¶
场景 |
文件 |
调用接口 |
|---|---|---|
心率 APP 打开 / 关闭 HR 并订阅今日 / 实时 HR 数据 |
|
|
心率 APP 处理今日 / 实时 HR 数据并刷新页面 |
|
|
血氧 APP 打开 / 关闭 SPO2 传感器并刷新测量结果 |
|
|
运动 APP 下发运动模式并读取初始运动数据 |
|
|
指南针 APP 打开 / 关闭 MAG 并读取方位数据 |
|
|
自动亮度设置订阅 ASL 光感数据 |
|
|
重力主菜单订阅 Gsensor 工厂模式数据 |
|
|
FAQ1 Solution已经适配了哪些sensor设备?¶
Solution 适配sensor设备类型包括:Gsensor(运动传感器)、HR(心率传感器)、MAG(地磁传感器)、光感传感器。 Gsensor(运动传感器)设备列表
型号 |
功能 |
支持开发板 |
|---|---|---|
stk8321 |
三轴加速度计 |
HDK52X、HDK56X |
stk8328c |
三轴加速度计 |
|
sc7a22/sc7a20 |
三轴加速度计 |
|
lsm6dsl |
六轴(加速度计+陀螺仪),计步 |
黄山派 |
HR(心率传感器)
型号 |
功能 |
支持开发板 |
|---|---|---|
vc32s |
心率/血氧/血压 |
HDK52X、HDK56X |
vc9202 |
心率/血氧/血压 |
HDK52X、HDK56X |
hrs3300 |
心率/血氧 |
MAG(地磁传感器)
型号 |
功能 |
支持开发板 |
|---|---|---|
mmc5603 |
三轴地磁传感器 |
黄山派 |
qmc6310 |
三轴地磁传感器 |
HDK52X、HDK56X |
光感传感器
型号 |
功能 |
支持开发板 |
|---|---|---|
ltr303 |
感应环境光 |
黄山派 |
FAQ2 Solution是否提供Sensor基础算法和运动算法?¶
Sensor基础算法列表
器件 |
功能 |
提供方 |
数据源 |
代码位置 |
|---|---|---|---|---|
vc32s/vc9202 |
心率/血氧/血压 计算 |
器件原厂提供 |
心率+加速度计 |
sdk\customer\peripherals\sensor\hr\vc32s |
qmc6310/mmc5603 |
指南针 计算 |
器件原厂提供 |
地磁+加速度计 |
sdk\customer\peripherals\sensor\mag\qmc63x0 |
运动算法提供试用版本的cywee算法。 代码位置: solution\components\sensor\sensor_algo\acc\cywee_lib 静态功能列表
睡眠
抬腕亮屏
翻腕灭屏
久坐提醒
动态功能列表
计步
一般模式
跑步机
户外健走
室内跑步
骑车
自由运动
器械运动
FAQ3 UI 页面如何获取 sensor 实时数据并刷新?¶
开发页面时可以先按数据变化方式选择刷新方案:
心率、血氧、步数等事件驱动数据,优先用被动订阅:页面控件调用
lv_obj_data_subscribe订阅对应 key,例如步数订阅rt_step;时间、倒计时等固定频率数据,使用
lv_timer主动刷新;页面首次进入、从后台恢复或系统从睡眠唤醒时,主动读取一次
app_rt_info_get或app_rt_data_info_get,保证首帧显示正确;页面退出时调用
lv_obj_data_unbind或删除定时器,避免无效刷新和内存泄漏。
sensor 数据分发链路请参考 SENSOR数据对接;主动/被动刷新选择和示例请参考 数据刷新。