RaspberryPi является компьютером с операционной системой Linux. Как и во всех операционные системах (ОС) для корректного завершения работы требуется подать команду для завершения работы, после которой ОС сохранит необходимые данные на HDD или SD карту из оперативной памяти и завершит работу. Так как на RaspberryPi создают различные устройства в которых может отсутствовать дисплей или клавиатура, и по каким-то причинам нет доступа по сети, то отключить можно только сняв питание с компьютера, что может привести к потере данных, повреждению файлов ОС или выходу из строя SD карты.
Чтобы предотвратить такие последствия можно подключить кнопку на любой свободный пин разъёма GPIO и настроить ОС, чтоб при нажатии на это кнопку ОС корректно завершала работу и потом можно было отключить питание. Для этого необходимо подключить кнопку к пину и общему проводу (GND) через резистор сопротивлением от 510ом до 1К.
Теперь нужно настроить, для этого в терминале набираем:
sudo nano /boot/config.txtи добавляем в конец
dtoverlay=gpio-shutdown,gpio_pin=26,gpio_pull=up
где gpio_pin=26 это номер пина GPIO26, а gpio_pull=up это на пине через подтягивающий резистор в процессоре устанавливаем высокий уровень.
Потом сохраняем Ctrl+X и Y и перезагружаем командой sudo reboot.
После перезагрузки можно нажать на кнопку и работа операционной системы секунд через 10-15сек должна завершиться. Теперь можно отключать без опаски отключить питание.