저는 라즈베리파이5에 Ubuntu 24.04를 설치해서 사용하는데요. 그냥 편하게 Raspbian을 사용하면 설정이 편한데, 어쩌다 보니 저는 우분투를 설치하고서 사용을 하는데요. 오늘은 Ubuntu 24.04가 설치된 Raspberry Pi 5에서 picamera를 설치하는 방법입니다.
저렇게 생긴 picamera는 csi 단자를 통해 연결이 되는데요.
저 부분에 들어가게 되죠. 저 카메라를 사용하게끔 라이브러리와 Python 모듈을 설치하려고 합니다.
Ubuntu가 설치된 Raspberry Pi5에 libcamera 설치
위 깃헙 사이트에 설치법이 있습니다. 그대로 따라하면 되는데, 약간~씩 다른 부분이 있을 수 있습니다. 제가 진행할때는 뭔가 에러들이 있어서 검색하면서 진행을 해서 그렇습니다.
sudo apt install -y libcamera-dev libepoxy-dev libjpeg-dev libtiff5-dev libpng-dev
sudo apt install -y qtbase5-dev libqt5core5a libqt5gui5 libqt5widgets5
sudo apt install libavcodec-dev libavdevice-dev libavformat-dev libswresample-dev
sudo apt install -y libboost-dev
sudo apt install -y libgnutls28-dev openssl libtiff5-dev pybind11-dev
sudo apt install -y qtbase5-dev libqt5core5a libqt5gui5 libqt5widgets5
sudo apt install -y meson cmake
sudo apt install -y python3-yaml python3-ply
sudo apt install -y libglib2.0-dev libgstreamer-plugins-base1.0-dev
먼저 위의 모듈들을 설치하구요.
추가로 python3-jinja2도 설치합니다.
이제 libcamera github에서 git clone하구요.
meson setup build --buildtype=release -Dpipelines=rpi/vc4,rpi/pisp -Dipas=rpi/vc4,rpi/pisp -Dv4l2=true -Dgstreamer=enabled -Dtest=false -Dlc-compliance=disabled -Dcam=disabled -Dqcam=disabled -Ddocumentation=disabled -Dpycamera=enabled
ninja -C build install
libcamera 사이트에서 위 빌드 명령으로 빌드를 합니다. 그리고 또
sudo apt install -y cmake libboost-program-options-dev libdrm-dev libexif-dev
sudo apt install -y meson ninja-build
sudo apt install -y libavcodec-dev
설치를 하구요~
rpicam-apps 설치
이제 rpicam-apps을 설치해야 합니다. rpicam apps github 사이트의 설치법을 따라합니다.
cd
git clone https://github.com/raspberrypi/rpicam-apps.git
git clone을 하구요,
cd rpicam-apps
meson setup build -Denable_libav=enabled -Denable_drm=enabled -Denable_egl=enabled -Denable_qt=enabled -Denable_opencv=disabled -Denable_tflite=disabled -Denable_hailo=disabled
meson compile -C build
sudo meson install -C build
빌드를 합니다.~
이 글 처음부터 바로 윗 단계까지의 과정을 아래 유투브 영상에서 설명하고 있습니다.
https://www.youtube.com/watch?v=t0QByjex3b8&list=PL0xYz_4oqpvidCm57CYbWlj-hFbMdJuhi&index=13
위 명령으로 apps가 잘 설치되었는지 확인할 수 있습니다.
sudo nano /boot/firmware/config.txt
위 명령으로 config.txt 파일을 열어서
저 부분을 0으로 저는 바꾸었는데요. 여러분들이 정품 picam을 사용하면 auto-detect를 1로 두면 되는데, 저는 약간 저렴한(ㅠㅠ) 모델을 사용하다보니 auto-detect를 꺼야 합니다. 그리고 config.txt에서
제 카메라에 맞춰 저렇게 기록해둡니다. 저런 기록은 여러분들이 구매한 카메라의 판매 사이트에 기록되어 있을텐데요. 일반적으로 3~4만원대의 picam은 다 자동으로 인식되기 때문에 config.txt를 손댈 필요가 없는데, 저는 정품이 아니어서 저렇게 했습니다.
sudo nano /etc/udev/rules.d/99-pinky_camera.rules
이제 카메라의 접근 권한을 부팅할때 미리미리 설정해두기 위해 udev rules를 하나 작업하려고 파일을 하나 생성해서,
SUBSYSTEM=="video4linux" KERNEL=="video*", MODE="0666"
SUBSYSTEM=="media" KERNEL=="media*", MODE="0666"
SUBSYSTEM=="video4linux" KERNEL=="v4l-subdev*", MODE="0666"
SUBSYSTEM=="dma_heap", MODE="0666"
위 코드를 붙여넣습니다. 저장하고 빠져 나와서,
sudo udevadm control --reload-rules
sudo udevadm trigger
udev rules를 재설정합니다. 이제 재부팅을 하구요~ 카메라 동작을 확인해야 할텐데,
라즈베리파이에 직접 모니터를 연결해서 확인하셔도 되구요. 저는 위의 링크에서 이야기한 vnc를 사용하기 때문에 거기서 확인을 하려고 합니다.
vncserver를 실행하고, DISPLAY 설정을 하고
rpicam-hello --qt-preview
위 명령을 입력하면, vnc 뷰어에서 보면
이렇게 나타납니다.~ 여기까지 내용을 또 아래의 유투브 영상에서 설명하고 있습니다.^^
https://www.youtube.com/watch?v=foCF0TItbdA&list=PL0xYz_4oqpvidCm57CYbWlj-hFbMdJuhi&index=13
Python용 picamera2 모듈 설치
이제 Python용 모듈을 설치하려고 합니다.
sudo apt install -y python3-libcamera
sudo apt install -y python3-pyqt5 python3-prctl libatlas-base-dev ffmpeg python3-pip
디펜던시들을 설치하고~
sudo apt install -y libfmt-dev libdrm-dev libfmt-dev
git clone https://github.com/tomba/kmsxx.git
cd kmsxx/
git submodule update --init
meson build -Dpykms=enabled
sudo ninja -C build install
kmsxx라는 아이를 설치합니다.
pip3 install rpi-kms --break-system-packages
그리고 rpi-kms를 설치합니다.
pip3 install picamera2 --break-system-packages
이제 드디어 picamera2를 pip로 설치할 수 있습니다. 그런데 아직은 약간의 에러가 있어서
libcamera의 위치가 바뀌어야 하는 문제가 있습니다.
cp -r /usr/local/lib/aarch64-linux-gnu/python3.12/site-packages/libcamera /home/<user_id>/.local/lib/python3.12/site-packages/
그건 위 명령으로 바꿉니다.
이제 Python에서 import로 picamera2를 불러보면 아무 문제가 없으면 잘 설치가 된 것입니다. 이제 위 과정과 카메라 영상을 Python에서 확인하는 부분은 아래의 영상을 보시면 됩니다.^^
https://www.youtube.com/watch?v=_tpuKS89EfQ&list=PL0xYz_4oqpvidCm57CYbWlj-hFbMdJuhi&index=14
'Hardware > SBC (rasp, jetson, latte panda)' 카테고리의 다른 글
라즈베리파이 VNC 설정 - tightvnc server - (0) | 2025.01.06 |
---|---|
라즈베리파이와 원격 연결 - VNC (2) | 2024.10.03 |
Raspberry Pi 5에 Ubuntu 24.04 설치하고 ssh 서버 설정하기 (0) | 2024.08.26 |
Lattepanda 라떼판다에 ubuntu 22.04 설치하기 (2) | 2022.11.28 |
Jetson nano에 Inference 추론기 설치하고 간단히 사용해보 (2) | 2021.06.02 |
Raspberry Pi 4 보드에 ROS foxy 설치하기 (8) | 2021.05.22 |
Raspberry Pi 4에 Ubuntu 20.04 설치하기 (12) | 2021.04.12 |