如何在不使用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

Answers:


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)至少还需要128 MB内存。仔细检查似乎可以确认这一点。


2
如果有人有兴趣,这里是完整的源代码。该函数现在似乎已被调用do_camera
塞林

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=*
加比尔

第一个grep可能对调试有用。脚本的操作不需要它。在我的Raspbian Stretch config.txt文件中,我找不到start_x一行config.txt,因此该脚本无法按原样工作。
Diomidis Spinellis
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.