Skip to content
  • Категории
  • Главная
  • Документация
  • Последние
  • Пользователи
Collapse
  1. Главная
  2. Raspberry Pi
  3. Кнопка выключения

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

Запланировано Прикреплена Закрыта Перенесена Raspberry Pi
19 Сообщения 1 Posters 171 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • piP Не в сети
    piP Не в сети
    pi
    написал в отредактировано
    #2

    На счет кнопки не знаю. Ну а выключать можно с помощью команды "sudo halt", это на Raspbian. Этот способ получше будет, чем выдергивание Raspberry Pi из сети.

    1 ответ Последний ответ
    0
    • piP Не в сети
      piP Не в сети
      pi
      написал в отредактировано
      #3

      Я имею ввиду, что у меня часто нет дотупа к консоле (стоит как сервер), а вводить команду sudo init 0 через ssh каждый раз - неудобно.

      1 ответ Последний ответ
      0
      • piP Не в сети
        piP Не в сети
        pi
        написал в отредактировано
        #4

        простой вариант, ищем здесь статью "GPIO для чайников" и вешаем на кнопку poweroff
        более правильный вариант, повесить на кнопку обработчик прерываний, http://www.raspberrypi.org/phpBB3/viewtopic.php?f=44&t=7509

        1 ответ Последний ответ
        0
        • piP Не в сети
          piP Не в сети
          pi
          написал в отредактировано
          #5

          Мне кажется, что обработчик прерываний нужен только для уменьшения нагрузки на процессор - это так ?
          Тогда с тем - же успехом можно как - то использовать команду nice .
          P.s. "вешаем на кнопку poweroff" - КАК ?

          1 ответ Последний ответ
          0
          • piP Не в сети
            piP Не в сети
            pi
            написал в отредактировано
            #6

            Пожалуйста, kukabu, сделайте инструкцию.

            1 ответ Последний ответ
            0
            • piP Не в сети
              piP Не в сети
              pi
              написал в отредактировано
              #7

              Ну тогда не знаю. Нужно подключить кнопку и написать программу или скрипт. Ничего конкретнее подсказать не могу 😞

              1 ответ Последний ответ
              0
              • piP Не в сети
                piP Не в сети
                pi
                написал в отредактировано
                #8

                инструкции нет, читайте статьи "GPIO для чайников", пишите сами

                nice не снимет нагрузки с проца, в случае поллинга, ваш демон будет просыпаться в любом случае чтоб проверить состояние gpio, в случае прерываний, демон проснётся только когда поступит это самое прерывание, для подробностей гуглим polling vs interrupt

                "вешаем на кнопку poweroff" - КАК ? типа вот так system("poweroff"); остальной код есть в статьях

                1 ответ Последний ответ
                0
                • piP Не в сети
                  piP Не в сети
                  pi
                  написал в отредактировано
                  #9

                  Отлично! Куда проще сказать пишите сами...
                  Я даже не знаю, как это вообще программно может выглядеть...

                  1 ответ Последний ответ
                  0
                  • piP Не в сети
                    piP Не в сети
                    pi
                    написал в отредактировано
                    #10

                    Ну позвольте, все же это система. Винду ведь вы на-горячую из розетки не выдергивате? Надо поменять идеологию. Это не мс-дос. Завершайте работу корректно. Или смиритесь с ошибками.

                    Что-то вроде "корректное завершение работы при исчезновении питания" действительно придется писать самому, да еще аккумулятор потребуется. Но за то это будет готовое продаваемое решение.

                    1 ответ Последний ответ
                    0
                    • piP Не в сети
                      piP Не в сети
                      pi
                      написал в отредактировано
                      #11

                      Я - же и предлагаю вначале нажать на кнопку, подождать некоторое время, а потом ,когда заморгает светодиод, озночающий корректное завершение работы, выключить питание.

                      1 ответ Последний ответ
                      0
                      • piP Не в сети
                        piP Не в сети
                        pi
                        написал в отредактировано
                        #12

                        Меня просто напрягает политика kukabu ...

                        1 ответ Последний ответ
                        0
                        • piP Не в сети
                          piP Не в сети
                          pi
                          написал в отредактировано
                          #13

                          Ну, скорее всего, это будет отдельный блок, к которому подключается питание. Он будет обрабатывать падение питания, при этом поддерживая питание пирожка конденсатором или аккумулятором. Пирожок будет получать команду на завершение работы и делать sudo halt. После этого уже не важно, выдернем мы сей блок из пирожка или оставим все как есть, пока аккум/кондер не разрядится. Понятно, что такое устройство нужно прописать в системе.

                          Некий аналог smartUPS на нынешних виндах. По крайней мере, я так это вижу. Отмечу, если блок получится компактным и легким в установке, с удовольствием куплю или повторю поделку сам. Ведь оно может даже отправить сообщение типа "На Raspberry Pi #12 пропало напряжение" и потом не придется тупить, почему пирожок перестал пинговаться.

                          1 ответ Последний ответ
                          0
                          • piP Не в сети
                            piP Не в сети
                            pi
                            написал в отредактировано
                            #14

                            http://www.masterkit.ru/info/magshow.php?num=693
                            А вот готовое решение. 590 рублей)))

                            1 ответ Последний ответ
                            0
                            • piP Не в сети
                              piP Не в сети
                              pi
                              написал в отредактировано
                              #15

                              dimonoid,

                              1. готового решения я не видел, видел бы кинул линк
                              2. я довольно полно указал возможности решения вашей проблемы, полному чайнику на пару часов работы + опыт
                              3. что вы от меня хотите? чтоб я сел и сделал за вас? извините, такого не будет.

                              Anton, как то излишне сложно, да и дорого 🙂

                              1 ответ Последний ответ
                              0
                              • piP Не в сети
                                piP Не в сети
                                pi
                                написал в отредактировано
                                #16

                                Ладно, спасибо хотя-бы за идею.

                                1 ответ Последний ответ
                                0
                                • piP Не в сети
                                  piP Не в сети
                                  pi
                                  написал в отредактировано
                                  #17

                                  Интересная идея, надо подумать. Мне бы до платформы пригодилась. К примеру АКБ садится он сам едет по пропитанной команде на док станцию, как то так. Или информирует меня как то.

                                  1 ответ Последний ответ
                                  0
                                  • piP Не в сети
                                    piP Не в сети
                                    pi
                                    написал в отредактировано pi
                                    #18

                                    Код для кнопки выключения. Кнопка подключается к портам Р1_5 и Р1_6.

                                    #include 
                                    #define PIN_IN RPI_V2_GPIO_P1_05
                                    int main()
                                    {
                                    if (!bcm2835_init())
                                     return 1;
                                    bcm2835_gpio_fsel(PIN_IN, BCM2835_GPIO_FSEL_INPT);
                                    while(bcm2835_gpio_lev(PIN_IN))
                                    {
                                    }
                                    system("poweroff");
                                    return (bcm2835_close ());
                                    }
                                    

                                    Компиляция

                                    gcc -o имя_проги имя_проги.c -lrt -lbcm2835
                                    

                                    Запуск програмки

                                    sudo ./имя_проги
                                    
                                    1 ответ Последний ответ
                                    0
                                    • piP Не в сети
                                      piP Не в сети
                                      pi
                                      написал в отредактировано
                                      #19

                                      Только проц на 100% грузит)

                                      1 ответ Последний ответ
                                      0

                                      • Войти

                                      • Нет учётной записи? Зарегистрироваться

                                      • Login or register to search.
                                      • Первое сообщение
                                        Последнее сообщение
                                      0
                                      • Категории
                                      • Главная
                                      • Документация
                                      • Последние
                                      • Пользователи