включение / выключение нагрузки по системному событию
Отправка байта в СОМ-порт по системному событию: настроить Планировщик
|
|
schabanow
| |
|
Здравствуйте, уважаемые участники!
Появился у меня интерес включать нагрузку с помощью ардуины (через УСБ) по заранее выбранному пользователем системному (win) событию.
Событие - любое из списка системных (либо событий прикладных программ), например то, которому пользователь может назначить тот или иной звук (Панель Управления, раздел "Звуки"). Т.е. например сделать так, чтобы не в колонках "блам-блам" слышно было, а чтобы УСБ-подключенная ардуина клацала релюшкой и включалась лампочка (к примеру).
Возможно ли сделать такое с помощью Scheduler и Event Viewer + какой-то скрипт надо будет написать, чтобы он выполнялся по настроенному событию?
С уважением, Алексей.
|
|
291997
|
Lenchik
| Отредактировано Lenchik - 02.02.2018, 15:52 |
Почетный
|
schabanow, Можно из командной строки отправлять текстовые сообщения в СОМ порт с помочью команды echo. Есть еще утилита SerialSend.exe для отправки чего ни будь в порт. Теоретически проблемы быть не должно. Самодельные программаторы для ПЗУ успешно работают с СОМ портом.
|
|
|
schabanow
| Отредактировано schabanow - 02.02.2018, 16:07 |
Автор темы
|
Наверное так?
Навряд ли... Прошу помощи!
Добавлено (02.02.2018, 15:56) ---------------------------------------------
Цитата Lenchik ( ) Можно из командной строки отправлять текстовые сообщения в СОМ порт с помочью команды echo. Не, немного не то. Я знаю, что можно в порт отправлять команды вручную. Мне надо, чтобы нагрузка включалась по событию автоматически.
Вот если бы эту утилиту SerialSend.exe запускать по событию, чтобы она отсылала в СОМ-порт команду, а её бы читала Ардуина и дёргала ногой (по своей прошивке). Только у себя в Винде такой утилиты я не нашёл. Если бы кто-нибудь описал порядок действий, а то вообще непонятно, с чего начинать...
|
|
|
MedMeks
| |
Администратор
|
|
|
|
schabanow
| |
Автор темы
|
Цитата MedMeks ( ) Вот как раз по Вашей теме Спасибо! Проект, конечно, интересный, но ЛПТ мне не подойдёт, мне по УСБ надо бы. Да и эл. приборами я научился со смарта управлять через инет (через вифи модуль esp8266). Т.е. тема ЛПТ для меня уже немного не актуальна, к сожалению.
Ещё раз, освежу свои претензии... Вот есть Скедьюлер, есть Ивент Вьюер. Есть системные события, на которые обычный пользователь средней руки может, без погружения в оконные глубины, назначить ЗВУК, который ему нравится. ВНИМАНИЕ: мне нужно по одному из этих событий (вкладка "Звуки" Панели Управления) управлять лампочкой через Ардуину, через УСБ. Ну или на худой конец по какому-нибудь другому событию, достаточно часто повторяющемуся на протяжение рабочего дня пользователя ПК: закрытие окна, например, или ещё что-нибудь. Непринципиально совершенно. Главное, чтобы это не было один-два раза в день, а чаще, хотя бы десяток раз. Но и не каждую минуту.
Я не знаю, насколько высоко (низко-) уровневы события вкладки "Звуки" Панели Управления. Не знаю, может ли Ивент Вьюер обнаружить их у себя, чтобы я смог из него с помощью ПКМ назначить обнаруженное "звуковое" событие в Планировщик триггером, и настроить задачу так, чтобы по этому триггеру запускалась SerialSend.exe и отсылала по УСБ с нужного мне СОМ-порта команду Ардуине на изменение состояния одной из её ног (согласно прошивке последней).
Вот эти все вопросы я пытаюсь здесь выяснить. ЛПТ неактуален, потому что он мне не нужен, потому что у меня его вообще нет, и наверное уже не будет никогда. Поэтому смысла в ЛПТ я не вижу, честно говоря...
|
|
|
Lenchik
| |
Почетный
|
schabanow, Вы ардуино умеете программировать? Сделайте так что бы не уровень ноги, а байт принимало с СОМ, тогда можно будет разные события обрабатывать и реакция на событие будет разной.
|
|
|
schabanow
| Отредактировано schabanow - 02.02.2018, 19:26 |
Автор темы
|
Да, конечно! В смысле - программировать я не умею, конечно, но есть кого попросить. Я и рассчитывал не на уровень ноги, а именно на входящую команду (байт), который будет приходить Ардуине по УСБ. Да, именно ЭТО я и имел в виду! Главное, чтобы ПК давал команду в порт по некоему системному событию (см. выше) - Ардуина будет её обрабатывать, и дёргать свою ногу, которая будет уже рулить реле или ключом нагрузки.
|
|
|
Lenchik
| |
Почетный
|
schabanow, Начинается сказка про белого бычка. А я вам о чем выше писал? Как раз о том как отправить байт или целое слово на COM.
echo a > com1
В порт с номером 1 выдаст букву a или какой ни будь другой символ.
|
|
|
schabanow
| |
Автор темы
|
Скорее всего - начинается, только не от моей упёртости или чего-то такого, а просто от моего непонимания и незнания. Я, например, знаю, что из командной строки можно отправлять в порт символы и сообщения. Причём знаю лишь то, что так МОЖНО делать - и всё. С самой процедурой я не знаком. А вы, видимо, подразумеваете, что мне всё это должно быть понятно и ясно уже по первому намёку... Отсюда и возможная "сказка".
Мне неясно, например, как заставить командную строку АВТОМАТИЧЕСКИ (по выбранному ранее событию) набирать (в себе самой) нужные символы, и опять-таки автоматически отсылать их в нужный номер виртуального СОМ-порта (в подсоединённое к нему устройство). Может я неправильно объясняю свою задумку. Но по-другому объяснить я пока не умею.
Мне кажется, что по выбранному событию должна запускаться некая программа, например SerialSend.exe (она гуглится, можно посмотреть). В поле "аргумент" Планировщика, наверное, нужно забить сообщение, которое должна передать в порт эта программа после своего запуска. А триггером в Планировщике надо назначить одно из "звуковых" (из раздела "Звуки" Панели управления) виндовых событий... Так я себе представляю механику сего действа. Скорее всего неправильно.
Ещё раз - вы, видимо, представляете меня в виде некоего тинейджера, а между тем за клавой сидит пятидесятилетний лысый мужчинка в полном расцвете сил, но с уже порядком усохшим мозгом, мимо которого в своё время успешно проехали все так необходимые бейсики-шмейсики... Так сложилось, и это - жизнь. Сожалеть и расстраиваться - бессмысленно. Нужно ПЫТАТЬСЯ. Чем и занимаюсь! ))
|
|
|
Lenchik
| |
Почетный
|
schabanow, Можно прямо вписать в планировщик то что я написал, а можно .bat или .cmd файл создать и его запустить.Добавлено (03.02.2018, 13:27) --------------------------------------------- schabanow, Можно прямо вписать в планировщик то что я написал, а можно .bat или .cmd файл создать и его запустить.
|
|
|
schabanow
| |
Автор темы
|
Уже теплее... Но опять-таки: "записать в Планировщик" - это куда конкретно? Вот например в Планировщике можно выбрать файл исполняемой программы - это я видел. А куда там можно написать ГОЛУЮ команду?
Но предположим, что из приведённой вами команды я создал батник, и указал Планировщику на него. В этом случае сразу возникает вопрос - как найти в туче событий, перечисленных в соотв. полях Планировщика - нужное мне? В смысле - событие из вкладки "Звуки"? Ивент Вьюер как-то может помочь в этом поиске? Например так: очистить Ивент Вьюер, чтобы убрать всё текущее из его журнала (потому что в ПК постоянно происходит куча текущих каких-то событий, как я уже понял) - и пока журнал Вьюера опять не засрался этой рутиной, побыстрее вызвать нужное мне "звуковое событие". Например, какой-нибудь алерт (ну не знаю - на ноль поделить в Экселе, например). По МОЕЙ идее Ивент Вьюер должен зафиксировать это событие в своём Журнале, и я смогу его там увидеть, и посмотреть все его хар-ки: его ID, правильное название и т.п. Более того - пишут, что из Вьюера его можно тупо вставить в Планировщик банальной ПКМ... ???
Скорее всего я несу идеальную пургу, но без пошаговой инструкции с вашей стороны, боюсь, это будет бесконечно. Проще всего, наверное, вам будет снять скрин-видео и выложить его на ЮТ. Думаю, такой ролик покажется интересным не мне одному...
|
|
|
В связи с введением в действие Постановления Правительства Российской Федерации от 14.11.2023 № 1905 т.н. "о запрете популяризации VPN" с 1 марта 2024 года - любое обсуждение способов обхода блокировок и VPN на портале запрещено!
|
|