Làm cách nào để bật camera mà không cần sử dụng raspi-config?


18

Tôi đang cố gắng sử dụng máy ảnh raspi trên một phiên bản tối thiểu của khò khè. Lệnh raspi-configkhông có sẵn. Tôi đã có thể làm mọi thứ mà không cần đến nó bằng cách chỉnh sửa /boot/config.txthoặc cài đặt phần mềm bị thiếu apt-get.

Thật không may, ở mọi nơi tôi nhìn thấy, tất cả các hướng dẫn trên máy ảnh (bao gồm cả RaspiCam-Documentation.pdf chính thức) đều nói rằng trước tiên hãy bật nó lên raspi-config. Vậy, raspi-config thực sự làm gì với Pi mà tôi có thể sao chép thủ công?


FYI Việc sử dụng start_x = 1 trong config.txt ngăn không cho xx của tôi khởi động và gây ra hỏng thẻ sd có nghĩa là một hình ảnh hoàn toàn mới phải được flash vào thẻ sd.
gazhay

Câu trả lời:


12

ĐƯỢC. raspi-config thực sự là một chút bash, vì vậy thật dễ dàng để xem những gì nó làm:

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

Rõ ràng có một mục trong /boot/config.txt được gọi là start_x cần được đặt thành 1 để bật máy ảnh, Cũng cần có ít nhất 128 MB bộ nhớ cho gpu (gpu_mem). Kiểm tra đôi dường như để xác nhận nó.


2
Đây là mã nguồn đầy đủ , trong trường hợp bất kỳ ai quan tâm. Các chức năng bây giờ dường như được gọi do_camera.
Cerin

11

chỉnh sửa tệp /boot/config.txt của bạn và đảm bảo các dòng sau trông như thế này:

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

khởi động lại


6

Những gì raspi-config làm là thay đổi /boot/config.txt. Có một chuỗi bên trong tập tin đó nói rằng start_x=0khi camera bị tắt. Bằng cách thay đổi điều đó start_x=1sẽ cho phép máy ảnh. Bạn sẽ phải khởi động lại sau khi chỉnh sửa tập tin.

Tôi đã tạo một tập lệnh tìm kiếm /boot/config.txtchuỗi "start_x = 0" và nếu nó tìm thấy nó sẽ thay đổi thành "start_x = 1". Sử dụng mã sau đây và đừng quên chmod + x và chạy với 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 đầu tiên để làm gì? Và có thể là trước khi khởi động đầu tiên không có dòng như start_x=*vậy?
Gabber

Grep đầu tiên có thể hữu ích cho mục đích gỡ lỗi. Nó không cần thiết cho hoạt động của tập lệnh. Trong tệp config.txt kéo dài Raspbian của tôi, tôi không thể tìm thấy một start_xdòng nào config.txt, vì vậy tập lệnh này sẽ không hoạt động như hiện tại.
Diomidis Spinellis
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.