libudev库接口通过匹配vid/pid实现多个摄像头设备节点的管理
static T_Device p_device = { "067b", "2305", "camera", "Chicony"};
struct udev *udev = NULL;
struct udev_enumerate *udev_enumerate = NULL;
struct udev_list_entry *list_entry = NULL;
int count = 0;
udev = udev_new();
if (udev == NULL)
return -1;
udev_enumerate = udev_enumerate_new(udev);
if(udev_enumerate == NULL)
return -1;
udev_enumerate_add_match_subsystem(udev_enumerate, "video4linux"); // path: /sys/class
// udev_enumerate_add_match_sysattr(udev_enumerate,"idProduct","2305"); //"manufacturer","SIUPO"
udev_enumerate_scan_devices(udev_enumerate);
udev_list_entry_foreach(list_entry, udev_enumerate_get_list_entry(udev_enumerate))
{
struct udev_device *device;
device = udev_device_new_from_syspath(udev_enumerate_get_udev(udev_enumerate),
udev_list_entry_get_name(list_entry));
if(device != NULL)
{
if(udev_device_get_property_value(device, "ID_VENDOR_ID") != NULL &&
udev_device_get_property_value(device, "ID_MODEL_ID") != NULL &&
!strcmp(p_device.vid, udev_device_get_property_value(device, "ID_VENDOR_ID")) &&
!strcmp(p_device.pid, udev_device_get_property_value(device, "ID_MODEL_ID")))
{
LOG(sw_MS, "device: '%s' (%s) (/dev/video%s) %s:%s\n",
udev_device_get_syspath(device),
udev_device_get_subsystem(device),
udev_device_get_sysnum(device),
udev_device_get_property_value(device, "ID_VENDOR_ID"), // 查询设备信息 udevadm info --query=all --name=/dev/video0
udev_device_get_property_value(device, "ID_MODEL_ID"));
sprintf(PathName, "/dev/video%s", udev_device_get_sysnum(device));
count++;
}
udev_device_unref(device);
}else
return -1;
}
if (count == 0)
return -1;
udev_enumerate_unref(udev_enumerate);
udev_unref(udev);
- 第三方平台可以通过微信公众平台素材管理接口实现同步了
- git是一种分布式代码管理工具,git通过树的形式记录文件的更改历史,比如: base'<--base<--A<--A' ^ | --- B<--B' 小米工程师常常需要寻找两个分支最近的分割点,即base.假设git 树是多叉树,请实现一个算法,计算git树上任意两点的最近分割点。 (假设git树节点数为n,用邻接矩阵的形式表示git树:字符串数组matrix包含n个字符串,每个字符串由字符'0
- 7、contiki系统开发-通过边界路由器PING终端设备的节点-学习(在OpenWrt上实现6lowpan边缘路由器)
- zabbix通过自动发现功能实现自动识别网络设备接口
- 树莓派3B+ 树莓派官方CSI接口摄像头生成/dev/video0设备节点
- zabbix通过自动发现功能实现自动识别网络设备接口
- 通过WMI接口实现 服务器资源管理与监控《一》 WMI 技术简介
- Servlet学习笔记1之通过实现Servlet接口开发一个HelloServ
- Java多线程方面的编程笔试题(通过实现Runnable接口启动线程)
- /dev下添加设备节点的方法步骤(通过device_create)
- 通过IViewObject接口,取浏览器的图象,实现SNAP
- iOS编程——通过UUID和KeyChain来代替Mac地址实现iOS设备的唯一标示(OC优化版)
- 通过Xposed框架实现禁用手机录音摄像头功能(hook android 底层实现)
- 通过CRM实现报价的过程管理
- 实现Runnable接口的类+使用Thread类的实例来创建线程---->通过实现Runnable接口来创建线程类
- Oracle数据库通过定义TYPE及Member对象来实现日志信息的分级管理 推荐
- 数据结构通过链栈实现字符串中心对称匹配
- Ubuntu下通过Firefox Opera Chromium浏览器直接执行java应用程序(打开java jnlp文件)实现在服务器远程虚拟控制台完成远程管理的方法
- (一个代码学会c语言操作数据库)linux上通过c语言操作数据库实现基本的学生信息管理系统(增、删、查、改‘显示)
- 通过对QParser类的继承 实现SOLR 半匹配检索(模糊搜索/模糊检索) (一)