라즈파이로 코드를 작성하지 않고 종료 및 전원 버튼 만들기
4385 단어 RaspberryPiRaspberryPiOSIoT
준비하는 것
준비할 환경
1. 배선하기
스위치를 누르면 GPIO 3 (핀 번호 5)과 GND (핀 번호 6)를 단락시킬 수 있습니다 (연결되도록). 이것만으로도 괜찮습니다.
디폴트는 GPIO3이므로, 그 이외의 핀을 사용하고 싶은 경우는 설정에서의 기술 내용이 늘어납니다.
브레드보드에서는 다음과 같습니다.
2. 설정 파일 편집
nano 등으로
/boot/config.txt
를 열고 편집하십시오. 표준 pi
와 같은 일반 사용자로 작업하는 경우 루트 권한이 필요하므로 sudo
를 추가하십시오.sudo nano /boot/config.txt
마지막 줄에 다음을 설명합니다.
dtoverlay=gpio-shutdown
Ctrl
+ O
→ Enter
로 저장하고 Ctrl
+ X
로 nano 를 닫습니다.그런 다음 다음 명령으로 종료합니다.
sudo shutdown -h now
3. 시작 및 종료
전원 케이블이 연결되어 있고 셧다운 상태에서 택트 스위치를 누르면 기동합니다.
시동 후 택트 스위치를 누르면 종료됩니다.
1개의 버튼을 기동・셧다운으로 겸용할 수 있으므로 편리합니다.
이게 뭐야?
표준으로 제공되는 장치 트리 오버레이을 이용하고 있습니다.
Raspberry Pi OS(구: Raspbian)에 존재하는 README를 보면 다음과 같은 정보가 기재되어 있습니다.
위와 같이 특별히 파라미터를 전달하지 않으면 GPIO 3과 GND가 단락되었을 때 셧다운이 실행됩니다.
파라미터를 변경하면 다른 GPIO 핀에서도 셧다운을 할당할 수 있다.
/boot/overlays/README에서 일부 인용
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 event is handled by systemd-logind by initiating a
shutdown. Systemd versions older than 225 need an udev rule
enable listening to the input device:
ACTION!="REMOVE", SUBSYSTEM=="input", KERNEL=="event*", \
SUBSYSTEMS=="platform", DRIVERS=="gpio-keys", \
ATTRS{keys}=="116", TAG+="power-switch"
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.
Load: dtoverlay=gpio-shutdown,<param>=<val>
Params: gpio_pin GPIO pin to trigger on (default 3)
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.
debounce Specify the debounce interval in milliseconds
(default 100)
또한 라즈파이는 셧다운된 상태에서 GPIO 3 과 GND 를 단락함으로써 기동하게 되어 있습니다 (이것은 설정은 불필요합니다).
이 두 가지 조합은 단일 버튼으로 종료 및 시작 버튼을 제공합니다.
주의사항
GPIO3은 I2C 용 핀을 겸하고 있습니다. 따라서 설정 화면에서 I2C를 켜면 종료가 정상적으로 실행되지 않을 수 있습니다.
그 때는
/boot/config.txt
로 아래와 같이 dtparam=i2c_arm=on
를 코멘트 아웃해 주세요.#dtparam=i2c_arm=on
또, 이 버튼은 라즈파이에의 전원 공급을 차단하는 것은 아닙니다 (
shutdown -h now
를 두드리는 것과 같은 거동을 한다).전원 자체를 다시 켜고 싶다면 코드를 꽂거나 뽑아야 합니다.
Reference
이 문제에 관하여(라즈파이로 코드를 작성하지 않고 종료 및 전원 버튼 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ryo-a/items/2edabbbe2b67654e29c9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)