Come posso abilitare la videocamera senza usare raspi-config?


18

Sto cercando di utilizzare la fotocamera raspi su una versione minimale di wheezy. Il comando raspi-confignon è disponibile Sono stato in grado di fare tutto senza di esso modificando /boot/config.txto installando software mancante con apt-get.

Sfortunatamente, ovunque guardi, tutti i tutorial sulla fotocamera (incluso il RaspiCam-Documentation.pdf ufficiale) dicono di abilitarlo per primo raspi-config. Quindi, cosa fa effettivamente raspi-config al Pi che posso riprodurre manualmente?


Cordiali saluti L'uso di start_x = 1 in config.txt impedisce al mio xbian di avviarsi e causa la corruzione della scheda SD, il che significa che un'immagine completamente nuova deve essere trasferita sulla scheda SD.
Gazhay,

Risposte:


12

OK. raspi-config è in realtà un po 'bash, quindi è abbastanza facile vedere cosa fa:

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

Apparentemente c'è una voce in /boot/config.txt chiamata start_x che deve essere impostata su 1 per abilitare la telecamera, ci sono anche almeno 128 MB di memoria per la gpu (gpu_mem). Il doppio controllo sembra confermarlo.


2
Ecco il codice sorgente completo , nel caso qualcuno fosse interessato. La funzione ora sembra essere chiamata do_camera.
Cerin,

11

modifica il tuo file /boot/config.txt e assicurati che le seguenti righe siano così:

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

riavvio


6

Quello che fa raspi-config sta cambiando /boot/config.txt. C'è una stringa dentro quel file che dice start_x=0quando la fotocamera è disabilitata. Modificandolo, start_x=1si abilita la fotocamera. Dovrai riavviare dopo aver modificato il file.

Ho creato uno script che cerca la /boot/config.txtstringa "start_x = 0" e se lo trova lo cambia in "start_x = 1". Usa il codice seguente e non dimenticare di chmod + x ed eseguire con 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 A cosa serve il primo grep? Ed è possibile che prima del primo avvio non ci sia una linea come start_x=*?
Gabber,

Il primo grep potrebbe essere utile per scopi di debug. Non è richiesto per l'operazione dello script. Nel mio file config.txt di Raspbian stretch non riesco a trovare una start_xriga config.txt, quindi questo script non funzionerà così com'è.
Diomidis Spinellis il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.