• Home
Name Date Size #Lines LOC

..--

figures/12-May-2024-

frameworks/native/medical_sensor/12-May-2024-1,310948

interfaces/12-May-2024-2,1891,422

sa_profile/12-May-2024-4528

services/medical_sensor/12-May-2024-5,0263,947

utils/12-May-2024-1,5981,137

LICENSED12-May-202410.1 KiB177150

OAT.xmlD12-May-20248.1 KiB8564

README.mdD12-May-2024958 3725

README_ZH.mdD12-May-20244.7 KiB11379

bundle.jsonD12-May-20241.8 KiB5958

medical_sensor.gniD12-May-2024666 1714

README.md

1# medical_sensor
2
3#### Description
4{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**}
5
6#### Software Architecture
7Software architecture description
8
9#### Installation
10
111.  xxxx
122.  xxxx
133.  xxxx
14
15#### Instructions
16
171.  xxxx
182.  xxxx
193.  xxxx
20
21#### Contribution
22
231.  Fork the repository
242.  Create Feat_xxx branch
253.  Commit your code
264.  Create Pull Request
27
28
29#### Gitee Feature
30
311.  You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
322.  Gitee blog [blog.gitee.com](https://blog.gitee.com)
333.  Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
344.  The most valuable open source project [GVP](https://gitee.com/gvp)
355.  The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
366.  The most popular members  [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
37

README_ZH.md

1# Medical_Sensor组件
2
3## 简介
4
5Medical_Sensor是健康类传感器,主要用于测量人体健康相关的数据,例如人体心率、心电图、设备的佩戴情况等。Medical_Sensor使用场景复杂,并且需要配套相关算法共同使用,所以将其与传统传感器区分开来单独实现。传感器的介绍可以参考[sensors\_sensor组件](https://gitee.com/openharmony/sensors_sensor)。Medical_Sensor传感器架构如图1所示。
6
7**图 1**  Medical_Sensor架构图
8
9![](figures/zh-cn_image_medical_sensor_fwk.png)
10
11架构图说明:
12- Medical_Sensor组件提供一个JS接口打包到SDK中,提供给用户进行应用开发。
13- 服务层是一个Service Ability,运行在一个用户态进程中,用户应用使用Medical_Sensor组件的Framework模块通过IPC机制与服务层所在进程通信。
14- HDI层对于sensor会单独启动一个用户态进程,服务层所在进程通过IPC机制与此HDI用户态进程交互,完成驱动的控制,以及驱动数据的上报。
15- PPG、ECG等Medical Sensor接入OpenHarmony的HDF框架,通过Sensor驱动模型向上层提供HDI接口。
16
17## 目录
18
19Medical_Sensor导入模块的代码结构如下:
20
21```
22/base/sensors/medical_sensor
23├── frameworks                 # 框架代码
24│   └── native                 # Medical_Sensor客户端代码
25├── interfaces                 # 对外接口存放目录
26│   ├── native                 # Medical_Sensor native实现
27│   └── plugin                 # Js API
28├── sa_profile                 # 服务名称和服务的动态库的配置文件
29├── services                   # 服务的代码目录
30│   └── medical_sensor         # 传感器服务,包括PPG、ECG等,上报传感器数据
31└── utils                      # 公共代码,包括权限、通信等能力
32```
33
34## 约束
35
36-   要使用传感器的功能,设备必须具有对应的传感器器件。
37
38-   针对某些传感器,开发者需要请求相应的权限,才能获取到相应传感器的数据。
39
40    **表 1**  传感器权限列表
41
42    | 传感器 | 权限名 | 敏感级别 | 权限描述 |
43    | :-- | :-- | :-- | :-- |
44    | 心率传感器 | ohos.permission.READ_HEALTH_DATA | user_grant | 允许读取健康数据。 |
45
46
47## 说明
48
49### 接口说明
50
51传感器接口用于监听数据变化,如果多次调用,则仅最后一次调用生效,开放能力如表2所示。
52
53**表 2**  接口列表
54
55| 接口名 | 描述 |
56| :--- | :--- |
57| `on(type: SensorType, callback: Callback<Response>, options?: Options)` | 监听传感器数据变化。`SensorType`为支持订阅的传感器类型,`callback`表示订阅传感器的回调函数,`options`为设置传感器数据上报的时间间隔。 |
58| `off(type: SensorType, callback?: Callback<Response>)` | 取消订阅传感器数据。参数与`on`前两个参数一样。 |
59
60
61### 使用说明
62
631.  导入medical sensor api包。导包之后可以使用medical sensor对外提供的接口,如表2所示。
64    ```
65    import medical from '@ohos.medical';
66    ```
67
682.  使用`on`接口注册并监听传感器数据的变化。此接口会将第二个参数做为回调函数注册到medical sensor框架中,并打开底层传感器驱动;应用就可以通过回调函数监听传感器数据的变化并进行业务逻辑处理。
69    ```
70    medical.on(medical.MedicalSensorType.TYPE_ID_PHOTOPLETHYSMOGRAPH, (data) => {
71        console.info("PPG data obtained. data: " + data.dataArray);
72    });
73    ```
74
753.  取消订阅传感器数据的变化。此接口会根据sesorid和回调函数向medical sensor框架去注册,并关闭底层传感器驱动。
76    ```
77    medical.off(medical.MedicalSensorType.TYPE_ID_PHOTOPLETHYSMOGRAPH, (data) => {
78        console.info("Succeeded in unsubscribe from sensor data");
79    });
80    ```
81
82完整示例代码:
83
84```
85import medical from '@ohos.medical';
86export default {
87    onCreate() {
88        console.info('Application onCreate');
89        medical.on(medical.MedicalSensorType.TYPE_ID_PHOTOPLETHYSMOGRAPH, (data) => {
90            console.info("PPG data obtained. data: " + data.dataArray);
91        });
92    }
93
94    onDestroy() {
95        console.info('Application onDestroy');
96        medical.off(medical.MedicalSensorType.TYPE_ID_PHOTOPLETHYSMOGRAPH, (data) => {
97            console.info("Succeeded in unsubscribe from sensor data");
98        });
99    }
100};
101```
102
103## 相关仓
104
105[泛Sensor服务子系统](https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/%E6%B3%9BSensor%E5%AD%90%E7%B3%BB%E7%BB%9F.md)
106
107**sensors\_medical\_sensor**
108
109[sensors\_sensor](https://gitee.com/openharmony/sensors_sensor)
110
111[sensors\_miscdevice](https://gitee.com/openharmony/sensors_miscdevice)
112
113