详细指南:在Ubuntu 20.04上安装和配置Orbbec SDK及USB设备权限

详细指南:在Ubuntu 20.04上安装和配置Orbbec SDK及USB设备权限

在Ubuntu 20.04上安装和配置Orbbec SDK以及进行USB设备的权限配置和调整USBFS缓存大小,涉及到一系列系统配置和环境准备步骤。以下是详细的步骤说明,以确保准确和高效地设置开发环境。

1. 系统环境配置

在开始安装Orbbec SDK之前,需要确保系统具备必要的依赖库,以支持SDK的功能。

安装依赖库
  • libudev-dev:用于管理插拔硬件设备,非常重要用于设备节点的动态管理。
  • libusb-dev:提供对USB设备的直接控制和通信能力。

执行以下命令来安装这些库:

bash 复制代码
sudo apt update
sudo apt install libudev-dev libusb-dev

2. USB访问权限配置

由于Linux系统默认限制非root用户直接访问USB设备,需要通过udev规则来修改这一权限设置。

安装udev规则
  1. 下载Orbbec SDK:从Orbbec官方网站下载适用于Linux或ARM的SDK包,并解压到本地目录。
  2. 配置udev规则 :
    • 导航到SDK解压后的Script目录。

    • 找到名为99-obsensor-libusb.rules的文件,这个文件包含允许非root用户访问USB设备的规则。

    • 执行安装脚本来应用这些规则:

      bash 复制代码
      sudo chmod +x ./install.sh
      sudo ./install.sh
    • 重新插拔设备或重启系统以使新的udev规则生效。

3. USBFS 缓存大小配置

对于高分辨率图像处理或多设备连接,可能需要更大的USBFS缓存。

调整USBFS缓存大小
  • 检查当前缓存大小 :

    bash 复制代码
    cat /sys/module/usbcore/parameters/usbfs_memory_mb
  • 临时增加缓存大小 :

    bash 复制代码
    sudo sh -c 'echo 128 > /sys/module/usbcore/parameters/usbfs_memory_mb'
  • 永久增加缓存大小 :

    • 修改GRUB配置文件以添加内核参数:

      bash 复制代码
      sudo nanso /etc/default/grub
      # 将GRUB_CMDLINE_LINUX_DEFAULT行修改为:
      GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.usbfs_memory_mb=128"
    • 更新GRUB配置并重启:

      bash 复制代码
      sudo update-grub
      sudo reboot

4. 验证设备状态

确保设备被系统正确识别是关键的一步。

  • 使用USB 3.0 Type-C数据线连接Orbbec的Astra+相机。

  • 执行以下命令来检查设备识别情况:

    bash 复制代码
    lsusb
    # 查找VID为2bc5,PID为0536或0636的设备

5. 编译Linux示例

最后,编译SDK提供的示例程序,验证整个配置的有效性。

  • 在SDK的Examples目录下创建一个build目录,并导航到此目录:b

    bash 复制代码
    mkdir build && cd build
  • 使用CMake来配置项目,并编译:

    bash 复制代码
    cmake ..
    make

以上步骤详细描述了在Ubuntu 20.04上安装和配置Orbbec SDK的全过程,包括如何设置USB访问权限和调整USBFS缓存大小。这些步骤确保了系统的正确配置,使开发者能够高效地进行开发和测试。

相关推荐
Apipi*17 分钟前
30天速通Linux 第六章信号及信号处理
linux·运维·信号处理
天启HTTP1 小时前
爬虫防封核心原理:IP轮换机制与风控规避逻辑
linux·服务器·网络·爬虫·tcp/ip
运维行者_2 小时前
网络性能监控怎么做?从自动发现到根因分析的4个环节
运维·服务器·网络·人工智能·支持向量机
此时不提桶,更待何时2 小时前
06-14-A-Kafka集群运维与迁移实战详解
运维·kafka
广州浮点FLOATLIC4 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
IT研究所4 小时前
AI-ITR平台如何减少客户问题反复升级?
大数据·运维·人工智能·低代码·自然语言处理·安全架构·企微
BLUcoding4 小时前
接口服务公网超时排查记录:SecureRandom 阻塞问题分析与解决
java·linux·springboot·aes·securerandom
AIgorithmGEEK4 小时前
[Linux]从手写报头到内核套路:序列化、反序列化与自定义协议全链路
linux·运维·服务器·网络·序列化·反序列化
Nil2084 小时前
leetcode 139单词拆分
linux·运维·服务器
Starry-sky(jing)4 小时前
BUG: unable to handle kernel paging request 完整排查:dmesg 四要素与三路定罪
linux·运维·服务器·内核·排障