raspi-configを使用せずにカメラを有効にするにはどうすればよいですか?


18

wheezyの最小化バージョンでraspiカメラを使用しようとしています。コマンドraspi-configは使用できません。私はこれまでのところ、/boot/config.txt不足しているソフトウェアを編集またはインストールすることにより、それなしですべてを行うことができましたapt-get

残念なことに、私が見ているすべての場所で、カメラに関するすべてのチュートリアル(公式のRaspiCam-Documentation.pdfを含む)は、最初にを使用して有効にするように言っていraspi-configます。だから、raspi-configは実際に手動で再現できるPiに対して何をしますか?


FYI config.txtでstart_x = 1を使用すると、xbianの起動が停止し、sdカードが破損します。つまり、まったく新しいイメージをsdカードにフラッシュする必要があります。
-gazhay

回答:


12

OK。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このスクリプトはそのままでは機能しません。
ディオミディススピネリス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.