详细指南:在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缓存大小。这些步骤确保了系统的正确配置,使开发者能够高效地进行开发和测试。

相关推荐
HXQ_晴天1 分钟前
Ubuntu 设置中文输入法
linux·运维·ubuntu
Dovis(誓平步青云)2 分钟前
《Linux 信号入门:搞懂 “进程通信的紧急电话” 到底怎么用(初篇)》
linux·运维·服务器
左手厨刀右手茼蒿3 分钟前
Linux 内核中的模块机制:从加载到卸载
linux·嵌入式·系统内核
0vvv013 分钟前
删除wsl环境下的Ubuntu系统
linux·运维·ubuntu
@土豆17 分钟前
Ubuntu 22.04 运行 Filebeat 7.11.2 崩溃问题分析及解决文档
linux·数据库·ubuntu
C++ 老炮儿的技术栈31 分钟前
GCC编译时无法向/tmp 目录写入临时汇编文件,因为设备空间不足,解决
linux·运维·开发语言·汇编·c++·git·qt
Agent产品评测局42 分钟前
企业数据处理自动化落地,抓取分析全流程实现方案 —— 2026企业级智能体选型与技术路径深度解析
运维·人工智能·ai·自动化
爱莉希雅&&&1 小时前
linux中MySQL数据库备份恢复的四种方法(更新中)
linux·数据库·mysql·数据库备份·mysqldumper
我科绝伦(Huanhuan Zhou)1 小时前
分享一个网络智能运维系统
运维·网络
鬼先生_sir1 小时前
Spring Cloud 微服务监控实战:SkyWalking + Prometheus+Grafana 全栈解决方案
运维·spring cloud·grafana·prometheus·skywalking