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

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

Запланировано Прикреплена Закрыта Перенесена Raspberry Pi
19 Сообщения 1 Posters 171 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • 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
                                  • Категории
                                  • Главная
                                  • Документация
                                  • Последние
                                  • Пользователи