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

相关推荐
Huangjin007_22 分钟前
【Linux 系统篇(一)】入门基础指令详解(一)
linux·服务器
嵌入式小能手23 分钟前
飞凌嵌入式ElfBoard-i2c与从设备通讯编程示例之i2c设备通信编程示例
linux
mounter62528 分钟前
现代 Linux 内核中的数据持久化艺术:从回写(Writeback)到多样化写策略
linux·linux kernel·kernel·writeback·writethrough
会飞的小新41 分钟前
《深入理解 DDR Memory Margin》系列之第一章:从 DDR 到 Memory Margin——为什么服务器需要进行内存裕量测试?
linux·服务器
治愈系贝壳1 小时前
ARM ---day1
linux·arm开发·学习
汤愈韬1 小时前
KYCA运维认证
运维·服务器·网络
晚风吹长发1 小时前
探索软件测试——用例篇
大数据·linux·服务器·压力测试·测试·测试方法
ZENERGY-众壹1 小时前
50MW分布式VPP接入实战:调度中心要求的1分钟频率如何不卡死API
运维·服务器·分布式·光伏运维
CHANG_THE_WORLD1 小时前
Linux C 多线程 TCP 并发服务器:从 `accept()` 到资源管理深度剖析
linux·服务器·c语言
运维大师1 小时前
【Linux运维极简教程】10-日志管理与故障排查
linux·运维·服务器