Отслеживание включения и отключения ПК на Windows

Beijo2908
Beijo2908 аватар
Offline
Зарегистрирован: 07.02.2019

Всем привет.

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

Необходимо чтобы Arduino отслеживала через UART включение и отключение ПК или же ноута. В зависимости от того, включается ПК или завершает работу - Arduino выполняет то или иное действие. На начальном этапе этих действий будет всего два - включение и отключение чего-либо. В дальнейшем функционал Arduino будет расширяться.

Как можно этого добиться?

П.с.: отключение питалова USB через биос не предлагать - не актуально.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Опишите поподробнее, что надо то? Появилось питание на компе -значит включили. Исчезло -выключили :)

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Beijo2908 пишет:

Как можно этого добиться?

Снимать сигнал со светодиода включения на морде. 

Beijo2908
Beijo2908 аватар
Offline
Зарегистрирован: 07.02.2019

dimax пишет:

Вот более подробный сценарий =)

Мне кароч надоело постоянно выключать/включать акустику у компа. Кнопка вкл/выкл находится на сабвуфере, а сам сабвуфер на полу под столом и без трёх этажного мата к нему не подобраться. Хотелось бы, чтобы эта акустика выключалась при отключении ПК и запускалась при включении ПК.

Раньше использовал 12В реле через БП и горя не знал, но сейчас необходимо расширять функционал в виде независимо работающих розеток и без необходимости вскрывать банку и прямому подключению к БП. Выход у меня назрел один - управление через USB (UART).

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

Ну так запитайте реле от USB компа. Включили комп, там 5В появилось и сработало реле. 

Beijo2908
Beijo2908 аватар
Offline
Зарегистрирован: 07.02.2019

asam пишет:

Ну так запитайте реле от USB компа. Включили комп, там 5В появилось и сработало реле. 


Не все так просто уважаемый - во многих "машинах" питание в USB остаётся при завершении работы ПК.

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

Ну скорее не "во многих", а в некоторых. А в вашей как?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Beijo2908, думаю тут стоит сразу определиться какой функционал нужен, и точно ли нужен? :)  А то может вам просто что-то хочется сделать своими руками, голова начинает думать что бы такого сделать, но придумывает всякую фигню. У меня дома всё решено просто -на пилоте две кнопки. Одна включает розетки тех приборов, которые мне нужны постоянно. Вторая включает те, что нужны редко. Есть ещё пара розеток, туда включено то, что вообще постоянно включено (питание роутера, телефона). Пилот прикручен в зоне досягаемости протянутой руки, так что никуда лезть не надо :)

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Beijo2908 пишет:
asam пишет:

Ну так запитайте реле от USB компа. Включили комп, там 5В появилось и сработало реле. 

Не все так просто уважаемый - во многих "машинах" питание в USB остаётся при завершении работы ПК.

Перемычку на маме убери и будет всё снимаца при выключении. 

или, кста, в новых (< 3 лет) BIOS опция есть.

Не плоди сучностей.... 

b707
Онлайн
Зарегистрирован: 26.05.2017

Я решил проблему проще - свой ПК и всю периферию просто  не выключаю, работает месяцами без перезагрузки

Beijo2908
Beijo2908 аватар
Offline
Зарегистрирован: 07.02.2019

b707 пишет:

Я решил проблему проще - свой ПК и всю периферию просто  не выключаю, работает месяцами без перезагрузки


Это может быть опасно. Например в акустике может просто на просто сгореть и загореться питающий трансформатор
DetSimen пишет:

asam пишет:

У меня питание в USB остаётся и более того - оно мне нужно. Так как комп часто "спит" и пробуждается от клавы или дёргания мыши.
dimax пишет:

Beijo2908, думаю тут стоит сразу определиться какой функционал нужен, и точно ли нужен? :)  А то может вам просто что-то хочется сделать своими руками, голова начинает думать что бы такого сделать, но придумывает всякую фигню. У меня дома всё решено просто -на пилоте две кнопки. Одна включает розетки тех приборов, которые мне нужны постоянно. Вторая включает те, что нужны редко. Есть ещё пара розеток, туда включено то, что вообще постоянно включено (питание роутера, телефона). Пилот прикручен в зоне досягаемости протянутой руки, так что никуда лезть не надо :)

 


Мне нужен точно!)
Всё дело в автоматике, да и моему сетевому фильтру только место на полу)
Финишная моя задумка - это автоматическое отключение потребителей (некоторые с небольшой выдержкой времени) при завершении работы на ПК или наоборот - включение, оставляя лишь постоянно запитанным системный блок.
Мне нужно это почему - я из тех людей кто при выходе из дома выключает всё с розеток кроме холодильника. Соответственно выключаю и сетевой фильтр, но он как и сабвуфер находится хрен пойми где под столом, поэтому постоянно занимаюсь поисками правой ногой заветной кнопочки.
А так, выключил комп и вся периферия отключалась.
Да и у меня младший брат любит ночью за ПК позалипать, отошёл прилечь, уснул, ПК ушел в сон, а периферия так и осталась работать.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

тогда #2 самый надежный метод. 

SLKH
Offline
Зарегистрирован: 17.08.2015

Beijo2908 пишет:
b707 пишет:

Я решил проблему проще - свой ПК и всю периферию просто  не выключаю, работает месяцами без перезагрузки

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

А схема электропитания дежурного режима компьютера опасений не вызывает? 

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Напиши приложение и пусть оно через UART обменивается данными с ардуиной. Если тайм-аут ответа превысил, к примеру, 10 секунд - значит ОС выключена и следует выключить акустику и перейти в режим ожидания. Как появился ответ от ПК - значит его включили, можно и акустику включить. Для удобства приложение службой опубликовать.

Есть в этом решении и минусы, но такой подход более гибкий на будущее (я так считаю).

Гриша
Offline
Зарегистрирован: 27.04.2014

у меня на работе достаточно часто повисают USB  радиоканалы, ничего умного пока не придумали :(. Они юзаются 24/7 .

Как бы не моя задача, но похоже решать придется ее мне. Вот думаю использовать НАНУ, завести песика, который будет следить за повисанием самой наны и устроить подобный обмен с виндой. Как только индикатор (программа) определит, что нужный мне порт повис, нана получит команду и с помощью реле порвет питание (USB) радиоканалу и как бы перезагрузит его. Второе реле будет рвать питание самой себе любимой для перезагрузки в случае отсутствия отклика за контрольный период. 

Это я написал к тому, что при длительном использовании USB  случается что связь "вешается" и требует железной перезагрузки.  

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

SLKH пишет:

Beijo2908 пишет:
b707 пишет:

Я решил проблему проще - свой ПК и всю периферию просто  не выключаю, работает месяцами без перезагрузки

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

А схема электропитания дежурного режима компьютера опасений не вызывает? 

вот вот, сколько материнских плат (южный мост) было загублено этим дежурным режимом, не счесть, схемотехника блоков питания ATX в части дежурного режима полный отстой...
PS попадалось и пару нормальных один был ASUS, второй DELL

sadman41
Offline
Зарегистрирован: 19.10.2016

Гриша пишет:

Как только индикатор (программа) определит, что нужный мне порт повис,

Каким образом, если не секрет?

negavoid
Offline
Зарегистрирован: 09.07.2016

Гриша пишет:

у меня на работе достаточно часто повисают USB  радиоканалы, ничего умного пока не придумали :(. Они юзаются 24/7 .

Как бы не моя задача, но похоже решать придется ее мне. Вот думаю использовать НАНУ, завести песика, который будет следить за повисанием самой наны и устроить подобный обмен с виндой. Как только индикатор (программа) определит, что нужный мне порт повис, нана получит команду и с помощью реле порвет питание (USB) радиоканалу и как бы перезагрузит его. Второе реле будет рвать питание самой себе любимой для перезагрузки в случае отсутствия отклика за контрольный период. 

Это я написал к тому, что при длительном использовании USB  случается что связь "вешается" и требует железной перезагрузки.  

Нана-то зачем ) у нас вот такая штука https://www.aliexpress.com/item/32841412289.html передёргивает зависающие модемы, разрывая +5 на пару секунд, она и сама на атмеге, но есть нюанс - реле и само иногда подвисает :)

Гриша
Offline
Зарегистрирован: 27.04.2014

sadman41 пишет:

Гриша пишет:

Как только индикатор (программа) определит, что нужный мне порт повис,

Каким образом, если не секрет?

программу регистратора (данных по радиоканалу) пишут люди, вот с ними если договоримся они и создадут некий буферный (файл.txt) или иное. При обращении к этому буферу (файлу) другой программой можно будет определить, что порт повис т.е. не поступают новые данные. Может есть какой иной способ я не знаю т.к. к самому регистратору отношение имею пользовательское и исходников у меня нет.  

negavoid пишет:

Нана-то зачем ) у нас вот такая штука https://www.aliexpress.com/item/32841412289.html передёргивает зависающие модемы, разрывая +5 на пару секунд, она и сама на атмеге, но есть нюанс - реле и само иногда подвисает :)

Спасибо! я думал о подобном устройстве (готовом)...  пока полностью не сформировано ТЗ, да и концепция устройства еще не продумана. Говорить о конкретном железе рановато... да и НАНУ только на этапе дебага планировал использовать...  

UPD. они у вас в автоматике работают? или просто запускаете приложение для перезагрузки? 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Гриша пишет:

у меня на работе достаточно часто повисают USB  радиоканалы, ничего умного пока не придумали :(. Они юзаются 24/7 .

БП меняли? Лучше попробовать со старым  трансформаторным,  импульсники  много помех дают.

negavoid
Offline
Зарегистрирован: 09.07.2016

Гриша пишет:
UPD. они у вас в автоматике работают? или просто запускаете приложение для перезагрузки?

В автоматике, служба мониторит доступность модемов в кластере и передергивает нужные. Вместе с реле дают как консольный экзешник для автоматизации, так и гуишную тулзу, и их исходники.

Гриша
Offline
Зарегистрирован: 27.04.2014

dimax пишет:

Гриша пишет:

у меня на работе достаточно часто повисают USB  радиоканалы, ничего умного пока не придумали :(. Они юзаются 24/7 .

БП меняли? Лучше попробовать со старым  трансформаторным,  импульсники  много помех дают.

USB без БП от порта питается, да и в самом xtend свой импульсник стоит. И да, меняли, все меняли включая ПС, причину локализовать не получается :(...  повисание порта происходит не регулярно... 

Гриша
Offline
Зарегистрирован: 27.04.2014

negavoid пишет:

Нана-то зачем ) у нас вот такая штука https://www.aliexpress.com/item/32841412289.html передёргивает зависающие модемы, разрывая +5 на пару секунд, она и сама на атмеге, но есть нюанс - реле и само иногда подвисает :)

А мона ссылку на источник или выложить на диск (Яндекс, Гугля... )? Глянуть на то, что дают бесплатно!

Гриша
Offline
Зарегистрирован: 27.04.2014

sadman41 пишет:

Гриша пишет:

Как только индикатор (программа) определит, что нужный мне порт повис,

Каким образом, если не секрет?

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

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Гриша пишет:

у меня на работе достаточно часто повисают USB  радиоканалы, ничего умного пока не придумали :(. Они юзаются 24/7 .

Как бы не моя задача, но похоже решать придется ее мне. Вот думаю использовать НАНУ, завести песика, который будет следить за повисанием самой наны и устроить подобный обмен с виндой. Как только индикатор (программа) определит, что нужный мне порт повис, нана получит команду и с помощью реле порвет питание (USB) радиоканалу и как бы перезагрузит его. Второе реле будет рвать питание самой себе любимой для перезагрузки в случае отсутствия отклика за контрольный период. 

Это я написал к тому, что при длительном использовании USB  случается что связь "вешается" и требует железной перезагрузки.  

У меня максимальный рекорд моего домашнего ПК нон-стоп был 1,5 года без перезагрузки. Клава и мышь USB, еще принтер. За это время USB ни разу не отвалилось.

negavoid
Offline
Зарегистрирован: 09.07.2016

Гриша

https://drive.google.com/open?id=1TC_JmNouPIUsZnKwN9S0DnUwSNO8WiPZ

Boom

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

sadman41
Offline
Зарегистрирован: 19.10.2016

Гриша пишет:

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

Да я просто спросил. Костылей-то с доп. демоном можно нагородить всяких (сам грешен). Думал что-то новенькое сообразили. 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Гриша пишет:

USB без БП от порта питается, да и в самом xtend свой импульсник стоит. И да, меняли, все меняли включая ПС, причину локализовать не получается :(...  повисание порта происходит не регулярно... 

Питание через USB -это отличный путь для помех. Запитайте модем от внешнего трансформаторного  БП, а  USB развяжите через ADUM4160   90% что проблема решится.

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

negavoid пишет:

Boom

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

Напрашивается вывод сам собой - нереально по питанию работает. От того и проблемы, я так думаю. Запитайте от другого БП и USB только для данных используйте и не нужен будет никакой "ребут USB"....

negavoid
Offline
Зарегистрирован: 09.07.2016

Модемы и так запитаны от 10А бп usb3 хабов, 8 модемов по 0.5А на хаб/сервер, не отрезать же мне ножки от разъёмов и перепаивать сто+ свистков?

Гриша
Offline
Зарегистрирован: 27.04.2014

negavoid, спасибо!

sadman41 пишет:

Да я просто спросил. Костылей-то с доп. демоном можно нагородить всяких (сам грешен). Думал что-то новенькое сообразили. 

а чего нового тут сообразишь, основное:

1) предусмотреть такую функцию в программе (если сам пишешь или под заказ в ТЗ) и

2) перехватчик потока данных (если такое вообще возможно, тут я не владею навыками)

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

sadman41
Offline
Зарегистрирован: 19.10.2016

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

Если есть пейсатели доступные, то может их попросить реализовать функционал пинга с помощью AT и клока байтом в COM-порт, если пинг идет. Тогда ардуине остается только слушать...

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

negavoid пишет:

Модемы и так запитаны от 10А бп usb3 хабов, 8 модемов по 0.5А на хаб/сервер, не отрезать же мне ножки от разъёмов и перепаивать сто+ свистков?

А есть свистки, что только от usb питаются? Эксперимент. 

negavoid
Offline
Зарегистрирован: 09.07.2016

Есть, и на 2.0 и на 3.0, и на стейже и на продакшене, поведение то же самое.

ELITE
ELITE аватар
Offline
Зарегистрирован: 11.01.2018

Beijo2908 пишет:
asam пишет:

Ну так запитайте реле от USB компа. Включили комп, там 5В появилось и сработало реле. 

Не все так просто уважаемый - во многих "машинах" питание в USB остаётся при завершении работы ПК.

так настройте, чтоыб не оставалось - это на страх перемычкой было, на новых в биосе найтройка...

ELITE
ELITE аватар
Offline
Зарегистрирован: 11.01.2018

если хочеш извращений - проще некуда

есть в винде такая штука, называется "СОБЫТИЯ" и есть замечательная весч - планировщик! - с помощью простой мышки и пары кликов можно элементарно настроить что и как угодно надо!

если есть ЛПТ порт на материнке - вот тебе отличные 8 каналов управления вкл/выкл!

если есть КОМ порт - 2 канала

как дергать ногами портов - гугли, через батник это элементарно....

лови событие включение/выключения и запускай нужный скрипт ногодрыга

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

ELITE пишет:

если хочеш извращений - проще некуда

есть в винде такая штука, называется "СОБЫТИЯ" и есть замечательная весч - планировщик! - с помощью простой мышки и пары кликов можно элементарно настроить что и как угодно надо!

если есть ЛПТ порт на материнке - вот тебе отличные 8 каналов управления вкл/выкл!

если есть КОМ порт - 2 канала

как дергать ногами портов - гугли, через батник это элементарно....

лови событие включение/выключения и запускай нужный скрипт ногодрыга

Я тоже первоначально так подумал о событиях. Это хорошо при выключении, при включении события не шлются окнам приложений (приложениям). При включении (точно не смотрел) событий перехватываемых нет для приложений. Да и зачем такие заморочки, если можно реализовать через UART подобие ping?

Гриша
Offline
Зарегистрирован: 27.04.2014

вот вы блин даете, там выше речь шла про универсальное решение для ПС и лаптопов... у меня есть не самый старый ноут на работе с СОМ портом - так у него ценник такой, что жаба задушит такой брать,  да и ЛПТ еще тот динозавр... т.е. так и так использовать УСБ даже если виртуалить СОМ порта...

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Гриша пишет:

вот вы блин даете, там выше речь шла про универсальное решение для ПС и лаптопов... у меня есть не самый старый ноут на работе с СОМ портом - так у него ценник такой, что жаба задушит такой брать,  да и ЛПТ еще тот динозавр... т.е. так и так использовать УСБ даже если виртуалить СОМ порта...

небось 2500$ - так это нормальная цена админского ноута )))