LINUX.ORG.RU

Кнопка выключения для Raspberry Pi

 , cycle, rasperry


0

1

На хабре когда-то опубликовали способ выключения Малинки кнопкой.
Мне больше подходит вариантна Беше -

#! /bin/bash

# Set up GPIO20 and set to output
echo "20" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio20/direction
echo "1" > /sys/class/gpio/gpio20/value

# Set up GPIO21 and set to input
echo "21" > /sys/class/gpio/export
echo "in" > /sys/class/gpio/gpio21/direction

while ( true ) 
do
    # check if the pin is connected to GND and, if so, halt the system
    if [ $(</sys/class/gpio/gpio21/value) == 1 ]
    then
        echo "20" > /sys/class/gpio/unexport
        echo "21" > /sys/class/gpio/unexport
        shutdown -h now "System halted by a GPIO action"
    fi 
    sleep 1
done
И хотя да, более элегантно обнаруживать нажатие кнопки по прерыванию, мне и этот вариант вполне подходит.
Однако в нем есть существенный недостаток: реакция на кнопку мгновенная.
А надо с задержкой, например, в 3 секунды. Заодно это будет и защитой от дребезга.

Какою модификацию скрипта вы бы предложили для этого?

★★★★★

Ну раз ты составил скрипт, поменять его раз плюнуть. И предлагать ничего не надо.

Entmatix
()

Задержка в смысле «удерживать кнопку» - sleep после then, и повторная проверка. Если просто ждать - тупо sleep после then.

tolstoevsky
()

должно быть так же просто, как и до трёх сосчитать..

hzk
()

Давно уже сделал, но на всякий случай заглянул сюда.
И оказалось, что из 3-х ответишь лишь один высказался по делу, остальные лишь щеки надувают.
Значит, наверняка сидят на венде, а здесь и лишь изображают крутых линуксоидов :=)

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.