1# Sensor服务使用指导 2 3 4下面使用步骤以sensorTypeId为0的传感器为例,其他类型的传感器使用方式类似。 5 6 7## 使用步骤 8 91. 导入需要的包 10 11 12 ```c 13 #include "sensor_agent.h" 14 #include "sensor_agent_type.h" 15 ``` 16 172. 创建传感器回调函数 18 19 20 21 ```c 22 void SensorDataCallbackImpl(SensorEvent *event) 23 { 24 if(event == NULL){ 25 return; 26 } 27 float *sensorData=(float *)event->data; 28 } 29 ``` 30 31 > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** 32 > 回调函数的格式为RecordSensorCallback类型。 33 343. 获取设备支持sensor列表 35 36 37 38 ```c 39 SensorInfo *sensorInfo = (SensorInfo *)NULL; 40 int32_t count = 0; 41 int32_t ret = GetAllSensors(&sensorInfo, &count); 42 ``` 43 444. 创建的传感器用户 45 46 47 48 ```c 49 SensorUser sensorUser; 50 sensorUser.callback = SensorDataCallbackImpl; //成员变量callback指向创建的回调方法 51 ``` 52 535. 使能传感器 54 55 56 57 ```c 58 int32_t ret = ActivateSensor(0, &sensorUser); 59 ``` 60 616. 订阅传感器数据 62 63 64 65 ```c 66 int32_t ret = SubscribeSensor(0, &sensorUser); 67 ``` 68 69 > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** 70 > 到这步就可以在实现的回调方法中获取到传感器数据。 71 727. 取消传感器数据订阅 73 74 75 76 ```c 77 int32_t ret = UnsubscribeSensor(0, &sensorUser); 78 ``` 79 808. 去使能一个传感器 81 82 83 84 ```c 85 int32_t ret = DeactivateSensor(0, &sensorUser); 86 ``` 87