Raspberry Pi 4 B GPIO 부팅 및 종료

Sep 18 2020

Raspberry Pi의 전원 버튼에 대한 조사를 해왔지만 정보를 찾는 데 상당히 어려움을 겪고 있습니다. 현재 GPIO5에서 작동하는 버튼이 있으며 반대편 GND 핀에 연결하면 Pi가 부팅됩니다. 이 연결로도 종료 할 수 있도록 내에 줄 dtoverlay=gpio-shutdown을 추가했습니다 /boot/config.txt. 하지만 답을 찾는 데 어려움을 겪고있는 몇 가지 질문이 있습니다.

  • GPIO3 핀과 GND 핀을 연결하여 셧다운이 시작 되었습니까? 시스템이 메모리 등에 쓰기를 마치 sudo shutdown겠습니까?
  • 나는 변경, 종료의 핀을 변경할 수 있다는 사실을 알고 dtoverlay=gpio-shutdown에 dtoverlay=gpio-shutdown,gpio-pin=X있지만뿐만 아니라 부팅에 대한 PIN 변경하는 방법은 무엇입니까? GPIO3는 일반적으로 I2C에 사용된다는 점을 고려하십시오.

답변

1 Seamus Sep 19 2020 at 00:27

귀하의 모든 질문에 대한 완전한 답을 모르기 때문에 이것은 부분적인 답입니다.

Q1 :

GPIO3 핀과 GND 핀을 연결하여 셧다운이 시작 되었습니까?

GPIO를 사용하여 종료하는 것과 관련된 문제를 들었던 기억이 있지만 최근 정보에 따르면이 기능은 시스템이 올바르게 구성되어있는 경우 정상적으로 작동한다고 제안합니다. 즉, 올바르게 구성하면 종료가 "안전"합니다. 물론 하드웨어없이 RPi를 종료하는 방법은 화면 또는 CLI에서 sudo shutdown, sudo halt또는 sudo poweroff.

Q2 :

dtoverlay = gpio-shutdown을 dtoverlay = gpio-shutdown, gpio-pin = X로 변경하여 셧다운 용 핀을 변경할 수 있다는 것을 알고 있지만 부팅 용 핀도 변경할 수있는 방법이 있습니까?

셧다운 상태에서 RPi를 다시 시작하기 위해 GPIO 핀을 사용할 필요가 없습니다. 문서 는 다음과 같이 설명 합니다.

WAKE_ON_GPIO

1이면 GPIO3 또는 GLOBAL_EN이 접지로 단락 될 때까지 'sudo halt'가 저전력 모드에서 실행됩니다.

기본값 : 1 (부트 로더 2019-05-10 원본 버전의 경우 0) 버전 : 모두

POWER_OFF_ON_HALT

1이고 WAKE_ON_GPIO = 0이면 모든 PMIC 출력을 중지합니다. 이것은 정지 할 수있는 가장 낮은 전력 상태이지만 5V가 계속 켜져 있기 때문에 일부 HAT에 문제가 발생할 수 있습니다. 부팅하려면 GLOBAL_EN을 접지해야합니다.

기본값 : 0 버전 : 2019-07-15

위 문서에 대한 나의 해석은 다음과 같습니다. GLOBAL_EN접지에 대한 짧은 단락 은 설정 방법 WAKE_ON_GPIO과 관계없이 RPi를 다시 시작 / 재부팅합니다 POWER_OFF_ON_HALT. GLOBAL_EN노드 아래의 사진에 도시되어있다 :

Milliways Sep 19 2020 at 00:25

작업은 /boot/overlays/README

하드웨어를 추가하지 않는 한 내 Pi는 거의 종료되지 않지만 헤드리스 파이 (또는 키보드가 연결되지 않은 파이)를 종료해야하는 경우를 대비하여 모든 파이에 설치되어 있습니다.

dtoverlay=gpio-shutdown,gpio_pin=21핀 39/40을 브리징하여 종료 할 수 있도록 사용합니다.

Name:   gpio-shutdown
Info:   Initiates a shutdown when GPIO pin changes. The given GPIO pin
        is configured as an input key that generates KEY_POWER events.

…

        This overlay only handles shutdown. After shutdown, the system
        can be powered up again by driving GPIO3 low. The default
        configuration uses GPIO3 with a pullup, so if you connect a
        button between GPIO3 and GND (pin 5 and 6 on the 40-pin header),
        you get a shutdown and power-up button. Please note that
        Raspberry Pi 1 Model B rev 1 uses GPIO1 instead of GPIO3.
Load:   dtoverlay=gpio-shutdown,<param>=<val>
Params: gpio_pin                GPIO pin to trigger on (default 3)
                                For Raspberry Pi 1 Model B rev 1 set this
                                explicitly to value 1, e.g.:

                                    dtoverlay=gpio-shutdown,gpio_pin=1

        active_low              When this is 1 (active low), a falling
                                edge generates a key down event and a
                                rising edge generates a key up event.
                                When this is 0 (active high), this is
                                reversed. The default is 1 (active low).

        gpio_pull               Desired pull-up/down state (off, down, up)
                                Default is "up".

                                Note that the default pin (GPIO3) has an
                                external pullup. Same applies for GPIO1
                                on Raspberry Pi 1 Model B rev 1.

        debounce                Specify the debounce interval in milliseconds
                                (default 100)