• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Sensor服务使用指导
2
3
4下面使用步骤以sensorTypeId为0的传感器为例,其他类型的传感器使用方式类似。
5
6
7## 使用步骤
8
91. 导入需要的包。
10
11   ```c
12   #include "sensor_agent.h"
13   #include "sensor_agent_type.h"
14   ```
15
162. 创建传感器回调函数。
17
18   ```c
19   void SensorDataCallbackImpl(SensorEvent *event)
20   {
21       if(event == NULL){
22           return;
23       }
24       float *sensorData=(float *)event->data;
25   } // 回调函数的格式为RecordSensorCallback类型。
26   ```
27
283. 获取设备支持sensor列表。
29
30   ```c
31   SensorInfo *sensorInfo = (SensorInfo *)NULL;
32   int32_t count = 0;
33   int32_t ret = GetAllSensors(&sensorInfo, &count);
34   ```
35
364. 创建的传感器用户。
37
38   ```c
39   SensorUser sensorUser;
40   sensorUser.callback = SensorDataCallbackImpl; // 成员变量callback指向创建的回调方法
41   ```
42
435. 使能传感器。
44
45   ```c
46   int32_t ret = ActivateSensor(0, &sensorUser);
47   ```
48
496. 订阅传感器数据。
50
51   ```c
52   int32_t ret = SubscribeSensor(0, &sensorUser); // 到这步就可以在实现的回调方法中获取到传感器数据。
53   ```
54
557. 取消传感器数据订阅。
56
57   ```c
58   int32_t ret = UnsubscribeSensor(0, &sensorUser);
59   ```
60
618. 去使能一个传感器。
62
63   ```c
64   int32_t ret = DeactivateSensor(0, &sensorUser);
65   ```
66