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

相关推荐
waving-black11 分钟前
利用frp和腾讯云服务器将内网暴露至外网(内网穿透)
linux·服务器·腾讯云·frp·内网穿透
stormsha22 分钟前
Linux中su与sudo命令的区别:权限管理的关键差异解析
linux·运维·服务器·鸿蒙系统·ux·batch命令
新加坡内哥谈技术1 小时前
Meta计划借助AI实现广告创作全自动化
运维·人工智能·自动化
zyjyyds1131 小时前
win11系统 Docker Desktop 突然提示Docker Engine stopped解决情况之一
运维·docker·容器
Altairr1 小时前
Docker基础(一)
运维·docker·容器·eureka
筏.k1 小时前
grep、wc 与管道符快速上手指南
linux
文牧之1 小时前
PostgreSQL 的扩展pageinspect
运维·数据库·postgresql
Johny_Zhao1 小时前
华为MAAS、阿里云PAI、亚马逊AWS SageMaker、微软Azure ML各大模型深度分析对比
linux·人工智能·ai·信息安全·云计算·系统运维
CodeOfCC2 小时前
c语言 封装跨平台线程头文件
linux·c语言·windows
科文小白狼2 小时前
Linux下VSCode开发环境配置(LSP)
linux·vscode·里氏替换原则·lsp