Flutter健康数据监测插件carp_movisens_package的使用
Flutter健康数据监测插件carp_movisens_package的使用
本库包含一个用于从Movisens设备收集数据的carp_mobile_sensing
(CAMS)采样包:
注意 - Movisens强调,Movisens的所有设备都不是医疗设备。请勿将其用于医疗目的。
该包支持以下类型的Measure
:
dk.cachet.carp.movisens.activity
– 身体位置、步数、倾斜度、加速度和代谢水平。dk.cachet.carp.movisens.hr
- 心率(HR)、心率变异性(HRV)、平均心率。dk.cachet.carp.movisens.eda
- 电导皮肤反应。dk.cachet.carp.movisens.skin_temperature
- 皮肤温度。dk.cachet.carp.movisens.tap_marker
- 用户在传感器上点击的标记。
这些测量类型收集不同种类的数据(请注意,该包定义了自己的命名空间dk.cachet.carp.movisens...
):
身体活动:
dk.cachet.carp.movisens.activity.steps
dk.cachet.carp.movisens.activity.body_position
dk.cachet.carp.movisens.activity.inclination
dk.cachet.carp.movisens.activity.movement_acceleration
dk.cachet.carp.movisens.activity.met_level
dk.cachet.carp.movisens.activity.met
心率:
dk.cachet.carp.movisens.hr.hr_mean
dk.cachet.carp.movisens.hr.hrv
dk.cachet.carp.movisens.hr.is_hrv_valid
其他:
dk.cachet.carp.movisens.eda
dk.cachet.carp.movisens.skin_temperature
dk.cachet.carp.movisens.tap_marker
要了解如何使用Movisens设备,请参阅Movisens文档。
有关如何使用CARP移动传感(CAMS)框架的进一步文档,请参阅CARP Mobile Sensing Wiki。
有关如何构建一个使用Flutter的移动传感应用的示例,请参阅CARP Mobile Sensing App。
对于其他CARP产品的Flutter插件,请参阅CARP Mobile Sensing in Flutter。
如果你有兴趣编写自己的CAMS采样包,请参阅Wiki上的说明如何扩展CARP。
安装
要使用此包,将其添加到你的pubspec.yaml
文件中。请注意,该包仅与carp_mobile_sensing
一起工作。
dependencies:
carp_core: ^latest
carp_mobile_sensing: ^latest
carp_movisens_package: ^latest
Android集成
在你的应用的manifest.xml
文件中添加以下内容(位于android/app/src/main
目录下):
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
在android/app/build.gradle
文件中将Android的minSdkVersion
更新为至少19。
iOS集成
在你的ios/Runner/Info.plist
文件中添加以下内容:
<dict>
<key>NSBluetoothAlwaysUsageDescription</key>
<string>需要蓝牙权限</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>需要蓝牙权限</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>需要位置权限</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>需要位置权限</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>需要位置权限</string>
</dict>
使用
要使用此包,将其导入你的应用中,并与carp_mobile_sensing
包一起使用:
import 'package:carp_core/carp_core.dart';
import 'package:carp_mobile_sensing/carp_mobile_sensing.dart';
import 'package:carp_movisens_package/carp_movisens_package.dart';
在创建并运行研究之前,注册此包:
SamplingPackageRegistry().register(MovisensSamplingPackage());
一旦注册,可以像这样向研究协议中添加Movisens测量:
SamplingPackageRegistry().register(MovisensSamplingPackage());
// 创建一个研究协议
StudyProtocol protocol = StudyProtocol(
ownerId: 'owner@dtu.dk',
name: 'Movisens Example',
);
// 定义用于数据收集的设备 - 包括手机和Movisens
Smartphone phone = Smartphone();
MovisensDevice movisens = MovisensDevice(
deviceName: 'MOVISENS Sensor 02655',
sensorLocation: SensorLocation.Chest,
sex: Sex.Male,
height: 175,
weight: 75,
age: 25,
);
protocol
..addPrimaryDevice(phone)
..addConnectedDevice(movisens);
// 添加一个movisens测量
protocol.addTaskControl(
ImmediateTrigger(),
BackgroundTask(name: 'Movisens Task', measures: [
Measure(type: MovisensSamplingPackage.ACTIVITY),
]),
movisens);
更多关于Flutter健康数据监测插件carp_movisens_package的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html