ฉันจะเปิดใช้งานกล้องโดยไม่ใช้ raspi-config ได้อย่างไร?


18

ฉันพยายามใช้กล้อง raspi กับเสียงฮืด ๆ ในเวอร์ชั่นที่เล็กที่สุด คำสั่งraspi-configไม่พร้อมใช้งาน ฉันได้รับสามารถที่จะทำทุกอย่างโดยไม่ได้เพื่อให้ห่างไกลโดยปริยายหรือติดตั้งซอฟแวร์ที่หายไปด้วย/boot/config.txtapt-get

น่าเสียดายที่ทุกที่ที่ฉันมองบทเรียนทั้งหมดในกล้อง (รวมถึง RaspiCam-Documentation.pdf อย่างเป็นทางการ) บอกว่าจะเปิดใช้งานด้วยraspi-configก่อน ดังนั้นraspi-config ทำอะไรกับ Pi ที่ฉันสามารถทำซ้ำได้ด้วยตนเอง?


FYI การใช้ start_x = 1 ใน config.txt หยุด xbian ของฉันจากการบูทและทำให้การ์ด sd เสียหายหมายความว่าภาพใหม่ทั้งหมดจะต้องมีการกระพริบไปยังการ์ด sd
gazhay

คำตอบ:


12

ตกลง. raspi-config นั้นค่อนข้างทุบตีดังนั้นมันจึงค่อนข้างง่ายที่จะเห็นว่ามันทำอะไร:

# $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 เพื่อเปิดใช้งานกล้องและต้องมีหน่วยความจำอย่างน้อย 128 MB สำหรับ gpu (gpu_mem) ตรวจสอบอีกครั้งดูเหมือนจะยืนยัน


2
นี่คือรหัสที่มาแบบเต็มในกรณีที่ทุกคนสนใจ do_cameraฟังก์ชั่นตอนนี้ดูเหมือนว่าจะถูกเรียกว่า
Cerin

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=*?
Gabber

grep แรกอาจมีประโยชน์สำหรับการตรวจแก้จุดบกพร่อง ไม่จำเป็นสำหรับการดำเนินการของสคริปต์ ในไฟล์ Raspbian stretch config.txt ของฉันฉันไม่พบstart_xบรรทัดconfig.txtดังนั้นสคริปต์นี้จะไม่ทำงานตามที่เป็นอยู่
Diomidis Spinellis
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.