raspi-config를 사용하지 않고 카메라를 활성화하려면 어떻게해야합니까?


18

최소화 된 wheezy 버전에서 raspi 카메라를 사용하려고합니다. 명령을 raspi-config사용할 수 없습니다. 로 /boot/config.txt누락 된 소프트웨어를 편집 하거나 설치 하여 지금까지 모든 작업을 수행 할 수있었습니다 apt-get.

불행히도, 내가 보는 곳마다 카메라의 모든 자습서 (공식 RaspiCam-Documentation.pdf 포함)는 먼저로 활성화합니다 raspi-config. 그렇다면 raspi-config는 실제로 수동으로 재생할 수있는 Pi에 어떤 역할을합니까?


참고 config.txt에서 start_x = 1을 사용하면 xbian 부팅이 중지되고 SD 카드가 손상되어 완전히 새로운 이미지가 SD 카드로 플래시되어야합니다.
gazhay

답변:


12

확인. raspi-config는 실제로 약간의 bash이므로 수행하는 작업을 쉽게 볼 수 있습니다.

# $1 is 0 to disable camera, 1 to enable it
set_camera() {
  # Stop if /boot is not a mountpoint
  if ! mountpoint -q /boot; then
    return 1
  fi

  [ -e /boot/config.txt ] || touch /boot/config.txt

  if [ "$1" -eq 0 ]; then # disable camera
    set_config_var start_x 0 /boot/config.txt
    sed /boot/config.txt -i -e "s/^startx/#startx/"
    sed /boot/config.txt -i -e "s/^start_file/#start_file/"
    sed /boot/config.txt -i -e "s/^fixup_file/#fixup_file/"
  else # enable camera
    set_config_var start_x 1 /boot/config.txt
    CUR_GPU_MEM=$(get_config_var gpu_mem /boot/config.txt)
    if [ -z "$CUR_GPU_MEM" ] || [ "$CUR_GPU_MEM" -lt 128 ]; then
      set_config_var gpu_mem 128 /boot/config.txt
    fi
    sed /boot/config.txt -i -e "s/^startx/#startx/"
    sed /boot/config.txt -i -e "s/^fixup_file/#fixup_file/"
  fi
}

/boot/config.txt에 start_x라는 항목이 있으며 카메라를 활성화하려면 1로 설정해야합니다. 또한 gpu (gpu_mem)에 대해 최소 128MB의 메모리가 있어야합니다. 다시 확인하면 확인됩니다.


2
관심있는 사람을 위해 전체 소스 코드가 있습니다. 이제 함수가 호출 된 것 같습니다 do_camera.
Cerin

11

/boot/config.txt 파일을 편집하여 다음 행이 다음과 같은지 확인하십시오.

start_x=1             # essential
gpu_mem=128           # at least, or maybe more if you wish
disable_camera_led=1  # optional, if you don't want the led to glow

재부팅


6

raspi-config의 기능은을 변경하는 것 /boot/config.txt입니다. 해당 파일 안에 start_x=0카메라를 사용할 수 없을 때 표시 되는 문자열이 있습니다 . 이를 변경 start_x=1하면 카메라가 활성화됩니다. 파일을 편집 한 후 재부팅해야합니다.

/boot/config.txt문자열 "start_x = 0" 을 검색하는 스크립트를 만들면 찾은 경우 "start_x = 1"로 변경됩니다. 다음 코드를 사용하고 chmod + x를 잊지 말고 sudo로 실행하십시오.

#!/bin/bash
grep "start_x=1" /boot/config.txt
if grep "start_x=1" /boot/config.txt
then
        exit
else
        sed -i "s/start_x=0/start_x=1/g" /boot/config.txt
        reboot
fi
exit

+1 첫 번째 grep은 무엇입니까? 그리고 처음 시작하기 전에 다음과 같은 줄이 없을 수 start_x=*있습니까?
Gabber

첫 번째 grep은 디버깅 목적으로 유용 할 수 있습니다. 스크립트 작업에는 필요하지 않습니다. 내 Raspbian stretch config.txt 파일 start_x에서에서 줄을 찾을 수 없으므로이 config.txt스크립트는 그대로 작동하지 않습니다.
Diomidis Spinellis
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.