Bagaimana saya bisa mengaktifkan kamera tanpa menggunakan raspi-config?

18

Saya mencoba menggunakan kamera raspi pada versi minimal wheezy. Perintah raspi-configtidak tersedia. Sejauh ini saya bisa melakukan semuanya tanpa mengedit /boot/config.txtatau menginstal perangkat lunak yang hilang apt-get.

Sayangnya, di mana pun saya melihat, semua tutorial di kamera (termasuk RaspiCam-Documentation.pdf resmi) mengatakan untuk mengaktifkannya terlebih dahulu raspi-config. Jadi, apa yang sebenarnya dilakukan raspi-config terhadap Pi yang dapat saya reproduksi secara manual?

Gurita
sumber
FYI Menggunakan start_x = 1 di config.txt menghentikan xbian saya dari boot dan menyebabkan kerusakan kartu sd yang berarti gambar baru harus di-flash ke kartu sd.
gazhay

Jawaban:

12

BAIK. raspi-config sebenarnya sedikit bash, jadi cukup mudah untuk melihat apa fungsinya:

# $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
}

Rupanya ada entri di /boot/config.txt disebut start_x yang perlu diatur ke 1 untuk mengaktifkan kamera, Ada juga perlu setidaknya 128 MB memori untuk gpu (gpu_mem). Cek ulang sepertinya mengkonfirmasi.

Fred
sumber
2
Inilah kode sumber lengkapnya , siapa tahu ada yang tertarik. Fungsi sekarang tampaknya dipanggil do_camera.
Cerin
11

edit file /boot/config.txt Anda dan pastikan baris berikut terlihat seperti ini:

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

reboot

Gurita
sumber
6

Apa yang dilakukan raspi-config adalah mengubah /boot/config.txt. Ada string di dalam file itu yang mengatakan start_x=0kapan kamera dinonaktifkan. Dengan mengubah itu untuk start_x=1akan mengaktifkan kamera. Anda harus memulai ulang setelah Anda mengedit file.

Saya membuat skrip yang mencari /boot/config.txtstring "start_x = 0" dan jika ditemukan mengubahnya menjadi "start_x = 1". Gunakan kode berikut, dan jangan lupa chmod + x dan jalankan dengan 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
Diego
sumber
+1 Untuk apa grep pertama? Dan apakah mungkin bahwa sebelum startup pertama tidak ada garis seperti itu start_x=*?
Gabber
Grep pertama mungkin berguna untuk keperluan debugging. Tidak diperlukan untuk operasi skrip. Dalam file config.txt stretch Raspbian saya, saya tidak dapat menemukan start_xbaris config.txt, jadi skrip ini tidak akan berfungsi sebagaimana mestinya.
Diomidis Spinellis