Comment puis-je activer la caméra sans utiliser raspi-config?

18

J'essaie d'utiliser la caméra Raspi sur une version minimisée de Wheezy. La commande raspi-confign'est pas disponible. J'ai pu tout faire sans cela jusqu'à présent en éditant /boot/config.txtou en installant des logiciels manquants avec apt-get.

Malheureusement, partout où je regarde, tous les tutoriels sur l'appareil photo (y compris la documentation officielle de RaspiCam.pdf) disent de l'activer d'abord avec raspi-config. Alors, que fait raspi-config au Pi que je peux reproduire manuellement?

Poulpe
la source
FYI L'utilisation de start_x = 1 dans config.txt arrête mon xbian de démarrer et provoque une corruption de la carte SD, ce qui signifie qu'une toute nouvelle image doit être flashée sur la carte SD.
gazhay

Réponses:

12

D'ACCORD. raspi-config est en fait un peu bash, il est donc assez facile de voir ce qu'il fait:

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

Apparemment, il y a une entrée dans /boot/config.txt appelée start_x qui doit être définie sur 1 pour activer la caméra, Il doit également y avoir au moins 128 Mo de mémoire pour le gpu (gpu_mem). Une double vérification semble le confirmer.

Fred
la source
2
Voici le code source complet , au cas où quelqu'un serait intéressé. La fonction semble maintenant être appelée do_camera.
Cerin
11

éditez votre fichier /boot/config.txt et assurez-vous que les lignes suivantes ressemblent à ceci:

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

redémarrer

Poulpe
la source
6

Ce que fait raspi-config, c'est de changer le /boot/config.txt. Il y a une chaîne dans ce fichier qui indique start_x=0quand la caméra est désactivée. En changeant cela pour start_x=1activer la caméra. Vous devrez redémarrer après avoir modifié le fichier.

J'ai fait un script qui recherche la /boot/config.txtchaîne "start_x = 0" et s'il le trouve il le change en "start_x = 1". Utilisez le code suivant, et n'oubliez pas de chmod + x et exécutez avec 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
la source
+1 À quoi sert le premier grep? Et est-il possible qu'avant le premier démarrage, il n'y ait pas de ligne telle que start_x=*?
Gabber
Le premier grep pourrait être utile à des fins de débogage. Il n'est pas requis pour le fonctionnement du script. Dans mon fichier Raspbian stretch config.txt, je ne trouve pas de start_xligne config.txt, donc ce script ne fonctionnera pas tel quel.
Diomidis Spinellis