# HelloOrbbec
功能描述:用于演示SDK初始化、獲取SDK版本、獲取設(shè)備型號、獲取設(shè)備序列號、獲取固件版本號、SDK釋放資源,并通過ESC_KEY鍵退出程序
> 本示例基于C Low Level API進行演示
首先獲取并打印當(dāng)前SDK版本
printf("SDK version: %d.%d.%d\n", ob_get_major_version(), ob_get_minor_version(), ob_get_patch_version());
創(chuàng)建一個Context,用于獲取設(shè)備信息列表和創(chuàng)建設(shè)備
ob_error* error = NULL;
ob_context* ctx = ob_create_context( &error );
查詢已經(jīng)接入設(shè)備的列表,從而獲取列表內(nèi)設(shè)備數(shù)量,并通過索引號0創(chuàng)建獲取列表內(nèi)第一個設(shè)備
ob_device_list* dev_list = ob_query_device_list( ctx, &error );
int dev_count = ob_device_list_device_count(dev_list, &error);
if(dev_count == 0) {
printf("Device not found!\n");
return -1;
}
ob_device* dev = ob_device_list_get_device(dev_list, 0, &error);
接下來就可以獲取和這個設(shè)備相關(guān)的信息了
//獲取設(shè)備信息
ob_device_info* dev_info = ob_device_get_device_info(dev, &error);
//獲取設(shè)備名稱
const char* name = ob_device_info_name(dev_info, &error);
//獲取設(shè)備的pid, vid, uid
int pid = ob_device_info_pid(dev_info, &error);
int vid = ob_device_info_vid(dev_info, &error);
int uid = ob_device_info_uid(dev_info, &error);
//通過獲取設(shè)備的固件版本號
const char* fw_ver = ob_device_info_firmware_version(dev_info, &error);
//通過獲取設(shè)備的序列號
const char* sn = ob_device_info_serial_number(dev_info, &error);
//獲取支持的傳感器列表
ob_sensor_list* sensor_list = ob_device_get_sensor_list(dev, &error);
//獲取傳感器數(shù)量
int count = ob_sensor_list_get_sensor_count(sensor_list, &error);
for(int i = 0; i < count; i++)
{
ob_sensor_type sensor_type = ob_sensor_list_get_sensor_type(sensor_list, i, &error);
switch (sensor_type)
{
case OB_SENSOR_COLOR:
break;
case OB_SENSOR_DEPTH:
break;
case OB_SENSOR_IR:
break;
}
}
釋放資源,退出程序。
//銷毀sensor list
ob_delete_sensor_list(sensor_list, &error);
//銷毀device info
ob_delete_device_info(dev_info, &error);
//銷毀device
ob_delete_device(dev, &error);
//銷毀device list
ob_delete_device_list(dev_list, &error);
//銷毀context
ob_delete_context(ctx, &error);
預(yù)期輸出:
