Кнопка для Raspberry Pi
Чтобы не дергать питание и не отключать с помощью SSH.
Кнопка подключается к 6 и 16 пину.
В автозагрузку прописываем скрипт:
- #!/usr/bin/env python2.7
import RPi.GPIO as GPIO
import os
GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.wait_for_edge(23, GPIO.FALLING)
os.popen("sudo halt")
GPIO.cleanup()
При нажатии на кнопку выполняется команда sudo halt.
Спасибо большое, как раз искал решение!
ВідповістиВидалитиДва вопроса (новичек зеленый):
1. Как поставить скрипт в автозагрузку?
2. После запуска скрипта (poweroff.py) вручную, пропадает командная строка, хотя "кнопка выключения" работает корректно.
Спасибо!
1.Вот тут написано. На английском,но и без перевода все понятно. http://raspberrywebserver.com/serveradmin/run-a-script-on-start-up.html
ВідповістиВидалити2. У меня ничего не пропадает. Также использую малину без gui.
☺
Спасибо Алексей!
ВідповістиВидалитиТак толком и не разобрался, видимо все таки что-то не догоняю :-)
Вопрос почти в тему. Не встречался ли Вам скрипт, который пингует через заданный промежуток времени (каждых 15 мин например) какой-нибудь сервер (гугл :-), и в случае не получения ответа дает 1 на выбранный GPIO. Суть: дома никого нет, завис роутер, таким образом его перезагрузить выкл/вкл питание релешкой. Как-то так..
К сожалению не встречал. Если найдёте - напишите мне.
ВидалитиЭто же легко. 1й скрипт:
Видалити#!/bin/sh
if ping -c 4 ya.ru # пингуем сервера яндекса
then
echo "OK" # выводим ок, если всё хорошо
else
echo "modem reboot" # выводим modem reboot, если яндекс не отвечает
sudo /home/pi/./reboot # путь до второго скрипта, который отвечает за перезагрузку
fi
2й скрипт:
#!/usr/bin/env python2.7
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.OUT)
GPIO.output(23, GPIO.HIGH) # выставляем 1 на порт гпио 23
time.sleep(1) # ждём одну секунду, чтобы модем успел выключиться
GPIO.output(23, GPIO.LOW) # возвращаем 0, чтобы включился модем
exit()
Потом в командной строке выполняем crontab -e и добавляем строку
*/5 * * * * sudo /home/pi/./checkya #раз в 5 минут будет выполняться скрипт проверки пинга я ру; указываем свой путь до 1го скрипта
Готово!
Спасибо. Обязательно попробую!
ВидалитиА как можно сделать такую кнопку для выключение на Odroid C1 под Ubuntu?
ВідповістиВидалитиЕщё пытаюсь найти как вывести heartbeat диод на внешний диод, понимаю что с GPIO, но ничего не могу найти. Спасибо.
Без понятия))) Я С1 и малины не выключаю
ВидалитиСпасибо, у меня кнопка работает, но вот только очень часто самопроизвольно выключается, скорее всего от наводок в сети. Можно ли как-нибудь прописать в скрипте длительность нажатия кнопки не менее 1 секунды?
ВідповістиВидалитипритяни резистор от кнопки к GND на 10к
ВидалитиМожно ли завершить работу rpi командой
ВідповістиВидалитиshutdown -g now , но при этом оставить ее подключенной к повербанку?