本文并不基于ubuntu部署,而是基于官方的raspbianOS部署

0.全局代理

如果你有魔法并且有Clash的话,建议在clash上启用AllowLAN,配置默认端口7890,然后在树莓派上配置全局代理:

export http_proxy="http://ip:port"
export https_proxy="http://ip:port"

如果要取消全局代理:

unset http_proxy
unset https_proxy

设置git代理:

git config --global http.proxy 'http://ip:port'
git config --global https.proxy 'http://ip:port'

取消git代理:

git config --global --unset http.proxy
git config --global --unset https.proxy

1.扩大内存

默认的swap分区太小,编译时容易卡死,并且不会报错,所以首先要扩大swap分区。同时,可以用带有资源监控的SSH客户端(比如FinalShell)来操作。

free -m
cd /opt/ && sudo mkdir swap_2g && cd swap_2g
sudo touch swap
sudo dd if=/dev/zero of=/opt/swap_2g/swap bs=1024 count=2048000
sudo mkswap /opt/swap_2g/swap
sudo swapon /opt/swap_2g/sawp
sudo echo "/opt/swap_temp/sawp /swap swap defaults 0 0" >> /etc/fstab

2.安装依赖+切换编译器

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
sudo apt-get install -y git cmake libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev
sudo apt-get install -y libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev

笔者在安装上述依赖后,编译会遇到undefined reference of "__atomic_load_8"一系列报错:

经过研究发现相关的库用到了原子操作(atomic库),该库在C++11中正式被支持,且需要加入编译选项树莓派4b+部署realsense的踩坑问题小记(undefined reference of “__atomic_load_8“)_git

而树莓派默认GCC版本过低,是无法编译的。因此要安装需要切换默认编译器为Clang来编译(不推荐交叉编译,建议直接用最新的clang来编译)。

安装Clang:

sudo apt-get install llvm
sudo apt-get install clang

切换编译器:

sudo update-alternatives --config c++

在该页面选择Clang即可:

There are 2 choices for the alternative c++ (providing /usr/bin/c++).

Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/g++ 20 auto mode
1 /usr/bin/clang++ 10 manual mode
2 /usr/bin/g++ 20 manual mode

Press enter to keep the current choice[*], or type selection number: 1

3.下载SDK源码并编译安装

下载SDK:

git clone https://github.com/IntelRealSense/librealsense.git

编译准备:

cd librealsense
mkdir build && cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=true \
-DFORCE_RSUSB_BACKEND=ON -DBUILD_WITH_TM2=false -DIMPORT_DEPTH_CAM_FW=false -DCMAKE_EXE_LINKER_FLAGS="-latomic"

注意,一定要加​​-DCMAKE_EXE_LINKER_FLAGS="-latomic"​​选项。

编译安装:

sudo make uninstall && make clean && make -j2 && sudo make install -2

编译安装完成后,移除摄像头设备,然后执行:

sudo ./scripts/setup_udev_rules.sh

注意该命令是在克隆的仓库根目录下执行的,或者直接找到​​script​​目录来执行脚本。

至此,安装完毕。

开启​​viewer​​的命令:

realsense-viewer