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?


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.


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


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

+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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.