Ad msg wnd что это
Перейти к содержимому

Ad msg wnd что это

  • автор:

Ad msg wnd что это

Reddit and its partners use cookies and similar technologies to provide you with a better experience.

By accepting all cookies, you agree to our use of cookies to deliver and maintain our services and site, improve the quality of Reddit, personalize Reddit content and advertising, and measure the effectiveness of advertising.

By rejecting non-essential cookies, Reddit may still use certain cookies to ensure the proper functionality of our platform.

For more information, please see our Cookie Notice and our Privacy Policy .

Get the Reddit app

Welcome to the largest community for Microsoft Windows 10, the world's most popular computer operating system! This is not a tech support subreddit, use r/WindowsHelp or r/TechSupport to get help with your PC

So, i just changed to a new ssd and i did a clean install of Windows 10 20H2 version on my notebook, but i found something quite weird.

When i press to restart or shutdown Windows, i see that this process called "ad_msg_wnd" is being marked to close before restarting/shuttingdown, i can't find what program he is from. Searched over the internet and i saw some posts about being the "Get Office" ad of Windows, but i removed it and all others Windows non essential programs, but i still keep getting this message. Btw, it doesn't appear on Task Manager or Services aswell, it's really weird.

Does someone has a clue from where is it?

Info:Windows 10 Home Single Language, Version 20H2, Build 19042.844

Notebook Acer Vx5-591g

*******UPDATE: Today (11/03/2021) i updated the windows with tha patch KB4589212 and i no longer have that "ad_msg_wnd" preventing me to restart or shutdown!

What is “ad_msg_wnd” on Windows 11 & 10

Ad_msg_wnd” is a process that appears to be related to the “Get Office” ad in Windows 11 or Windows 10. When users attempt to shut down or restart their Windows system, they may see a message saying that “ad_msg_wnd” is preventing the system from shutting down. This can cause delays in the shutdown process and be a frustrating experience for users.

“Ad_msg_wnd” is not a visible process in Task Manager, which can make it difficult to identify which application is responsible for it. However, users have reported that it is likely related to the “Get Office” app in Windows 10.

ad_msg_wnd

What is “Get Office”?

“Get Office” is an app that comes pre-installed on many Windows 11 & 10 devices. It is designed to promote Microsoft Office to users and encourage them to purchase the software. The app provides information on the features and benefits of Microsoft Office, as well as links to purchase options.

While “Get Office” is not an essential part of the operating system, it is included by default on many Windows devices. The app may display notifications and ads that some users may find annoying, and these running processes can cause Windows to fail to shut down.

What causes “ad_msg_wnd”?

The exact cause of “ad_msg_wnd” is unclear, but it appears to be related to the “Get Office” app in Windows 11 or 10. Users have reported seeing the process even after uninstalling “Get Office” or disabling its notifications.

One possible cause of the “ad_msg_wnd” process is a conflict with other applications or services running on the system. Some users have reported that disabling certain apps or services can resolve the issue. However, this is not a guaranteed solution and may require some troubleshooting to identify the conflicting app or service.

How to disable “Get Office” and “ad_msg_wnd”?

There are several methods to disable “Get Office” and “ad_msg_wnd” in Windows 11 & 10. Here are some of the most effective methods:

    : Open the Start menu and go to ‘Settings > System > Notifications‘. Scroll down to the “Notifications from apps and other senders” (Windows 11) or “Show notifications from these apps” (Windows 10) section and turn off the toggle button for “Get Office“. This will stop “Get Office” from showing notifications to the user.ad_msg_wnd Windows 11 10
  1. Uninstall “Get Office”: Open the Start menu and search for “Apps & features“. Find “Get Office” in the list of apps and click on “Uninstall”. This will remove “Get Office” from the system entirely. Alternatively, you can find “Get Office” from Start menu, right-click it and select “Uninstall” to uninstall it.Uninstall Get Office : Open Task Manager and go to the “Details” tab. Look for the “ad_msg_wnd” process and right-click on it. Select “End task” to close the process. This will stop “ad_msg_wnd” from interfering with the shutdown or restart process. You may also want to see: Force close program in Windows 11 without Task Manager.
  2. Use Registry Editor: Open Registry Editor by typing “regedit” in the Start menu search bar. Navigate to the following key: HKEY_CURRENT_USER\Control Panel\Desktop . Look for the value “AutoEndTasks” and set it to “1“. This will force Windows to automatically end all running tasks when you shut down or restart your system, which can help prevent issues like “ad_msg_wnd” from occurring.Auto End Tasks before shut down

If you are trying the 4th method, it’s important to exercise caution when editing the registry in Windows, as changes to the registry can have serious consequences for the stability and functionality of the operating system.

Incorrectly modifying the registry can result in system errors, crashes, and even data loss. Before making any changes to the registry, it’s important to back up the registry and create a system restore point to ensure that you can revert back to a stable configuration if something goes wrong. If you are unsure about how to edit the registry, or if you are uncomfortable with the potential risks, it’s best to seek help from a qualified technician or IT professional.

Is ad_msg_wnd an adware or virus?

While it is not clear if the “ad_msg_wnd” process is an adware, malware, or virus, or if it is a malware in disguise, it is always a good idea to take precautions to protect your computer. If you are unsure about the nature of the “ad_msg_wnd” process, or if you suspect that it may be malicious in nature, it’s best to run a full scan using your antivirus program or Windows Defender to ensure that your computer is not infected with any viruses or malware.

Final thoughts

“ad_msg_wnd” is a process that can interfere with the shutdown or restart process on Windows 10 systems. While the exact cause of the process is unclear, it appears to be related to the “Get Office” app in Windows 10.

Fortunately, there are several methods to disable “Get Office” and “ad_msg_wnd” in Windows 10. Users can disable “Get Office” notifications, uninstall “Get Office” entirely, end the “ad_msg_wnd” process using Task Manager, or force Windows to automatically end all running tasks using Registry Editor.

Ad_msg_wnd что это за процесс и как его отключить?

"Ad_msg_wnd" — это неизвестный процесс, который может вызывать подозрения в том, что он может быть связан с вирусами или другими вредоносными программами на компьютере. Однако, без дополнительной информации о вашей операционной системе и контексте, в котором появляется это окно, я не могу с уверенностью определить, что это за процесс и как его отключить.

Если вы используете операционную систему Windows, то одним из первых шагов может быть проверка вашей системы на наличие вирусов и других вредоносных программ с помощью антивирусного программного обеспечения. Если вредоносное ПО обнаружено, следуйте инструкциям антивирусного программного обеспечения, чтобы удалить его.

Если это не помогло, вы можете проверить запущенные процессы в диспетчере задач и попытаться определить, какой процесс может вызывать окно "Ad_msg_wnd". Если вы найдете такой процесс, вы можете попытаться его остановить или удалить.

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

ad msg wnd при выключении компьютера

Когда я выключаю компьютер, на экране появляется сообщение, что диспетчер Program Manager не позволяет Windows 10 завершить работу. Мне предоставляется выбор из нескольких вариантов: принудительно завершить работу (Force Shutdown), выполнить отмену действия (Cancel) или закрыть диспетчер программ (Close Program Manager) и повторить попытку. Я изучал материалы на различных сайтах по Windows и технических форумах, но нигде не нашел ответа. В чем проблема?
Этот вопрос сначала поставил меня в тупик. В Windows когда-то был компонент, именуемый диспетчером программ Program Manager, но это было в версии 3.x (в начале 1990-х)! Я обратился в Интернет в поисках ответа и обнаружил, что довольно много пользователей сообщали о той же проблеме. Я подумал, что разработчики Microsoft могли воскресить старое имя и дать его какому-нибудь компоненту Windows 10 в юбилейном обновлении.

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

Типичный пример: некоторые устройства и программные продукты Logitech (программируемые мышь, клавиатура, утилита SetPoint и т. д.) располагают компонентом Program Manager.

Итак, Program Manager, который мешает завершению работы, вовсе не ошибка Windows. Причина в приложении другого разработчика.

Решить проблему можно следующим образом (первые три шага — меры безопасности «на всякий случай», необязательные, но настоятельно рекомендуемые):

MSG и с чем его едят…

Давно сюда не писал и не опубликовывал статьи… Что ж буду исправлять данное недоразумение 🙂

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

Была задача быстрого оповещения пользователей по ЧС в сети, плановым перезагрузкам серверов и т.д.

Мы с коллегой вспомнили про консольную команду net send, но так как она больше не поддерживается, есть альтернатива — это MSG

Все команды подробно расписывать не буду, можно спокойно воспользоваться ключом «/?»

Запускаем командную строку

Команда очень простая, достаточно указать «user_name» (как заводили на AD) и текст сообщения (кавычки можно ставить, можно не ставить — работают оба варианта)

msg _ vasyapupkin _»в 12-00 будет перезагрузка сервера»

2019 02 19 11 58 25

При нажатии клавиши «Enter», пользователю vasyapupkin, на рабочем столе выскочит окно с текстом сообщения что мы от него хотим)

IMG 20190219 112724

Бывают ситуации когда возникает ошибка «Ошибка 1722 при получении имен сеанса»

Решение следующие (выполняется на всех компьютерах кому необходимо получение сообщения) :

Вот и всё, теперь все пользователи смогут принимать от вас быстрые сообщения!

Так же еще можно добавить запись в Групповые политики на сервере, чтоб автоматически распространилось на всех, но это уже другая история!

Если будет интересно, расскажу в следующей статье!

Автовыход пользователя на сервере Windows. Использование его для оптимизации работы вашего VDS / VPS сервера

Анализируя поступающие заявки наших клиентов в службу технической поддержки и обращения к консультантам, мы заметили, что множество наших клиентов сталкиваются с такой проблемой как «автовыход», не понимая, что это и как с ней бороться.

Любой сервер в том числе и виртуальный сервер должен работать в постоянном режиме 24 х 7 х 365. И соответственно пользователь, который запускает программы на выполнение на сервере, рассчитывает, что они будут работать в таком же режиме. Именно на это и рассчитывают наши клиенты. Однако устанавливая на VPS сервер различного рода десктопное программное обеспечение, которое разрабатывалось «умельцами» без мысли, что существуют компьютеры, не имеющие мониторов, отключившись от сервера через какое-то время замечают, что его программа перестала работать должным образом, при том что сервер активен и доступен. Замечают это как правило при следующем подключении к серверу для анализа данных с как подразумевалось работавшего ПО. Проблема, очевидно в том, что данное ПО что-то пытается брать со свойств экрана (разрешение, позиция курсора и т.д.) при том, что ни экрана, ни курсора при отключенном сеансе нет.

Данная проблема является частным случаем ограничения работы сеансов по времени, за которую отвечает узел групповой политики «Службы удаленных рабочих столов» с одноименным названием «Ограничение сеансов по времени». Он позволяет гибким образом настраивать время работы запущенных сеансов или Ваших сотрудников на сервере при организации рабочих мест, что позволяет Вам более оптимально использовать ресурсы арендуемого сервера Windows VDS.

Запустим на сервере редактор «Локальной групповой политики» нажав сочетание клавиш Win+R и Набрав команду GPEDIT.MSC

Далее необходимо перейти по следующему пути в ветке «Конфигурация пользователя», если Вы хотите произвести настройки для текущего пользователя или в ветке «Конфигурация компьютера», если Вы хотите настроить для всех пользователей сервера.

1.«Задать ограничение по времени для отключенных сеансов»

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

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

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

2.«Задать ограничение по времени для активных, но бездействующих сеансов служб удалённых рабочих столов»

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

3.«Задать ограничение по времени для активных сеансов служб удалённых рабочих столов»

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

Во втором и третьем случае обязательно включение параметра «Завершать сеанс при достижении ограничения по времени». Включение данного параметра указывает, чтобы производилось именно завершение сеанса пользователя, в противном случае будет производится только отключение сеанса, но не его завершение.

4.«Задать предел времени для выхода из сеансов RemoteApp»

Данный параметр позволяет Вам, завершать сеанс в момент, когда Вы не производили подключение к удаленному рабочему столу сервера, но подключение к серверу было установлено при помощи сторонних программ. При закрытии программы, если параметр «Не задан», то сеанс отключается, но не завершается. Для завершения сеанса необходимо указать Включено и установить время, так же доступен параметр «Немедленно».

Выключаем компьютеры по окончании рабочего дня

На всю компанию от помощницы генерального директора пришло письмо с текстом на всех сотрудников компании:

Напоминаю Вам о необходимости выключать компьютеры по окончанию рабочего дня

Подключаюсь к Домен Контроллеру и запускаю оснастку управления групповыми политиками:

Start — Control Panel — Administrative Tools — оснастка: Group Policy Management

после разворачиваем до уровня структуры Active Directory текущего домена : Group Policy Management — Forest: polygon.local — Domain — Polygon.local,

Turn off computers at the end of the working day 001

здесь создаем новую политику (Советую на каждую задачу создавать свою политику, так проще отслеживать что не работает и что работает) с именем, как обычно я именую все свои политики: через правый клик мышью на polygon.local → Create a GPO in this domain, and Link it here → GPO_Shutdown, т. к. политика у меня будет назначена на конкретные компьютеры (в последствии можно создать группу компьютеров и прилинковать ее к создаваемой политики), поэтому на вкладке Scope раздела Security Filter удаляем все, а назначаем имя вашей тестовой (пока) рабочей станции (в моем случае это W7X86) на которой будем тестировать работоспособность групповой политики, а позже уже добавим боевые компьютеры.

Теперь переходим к настройки данного шаблона групповой политики, на политике GPO_Shutdown через правый клик выбираем свойство → Edit и редактируем настройки ориентированные на компьютер (Computer Configuration)

GPO_Shutdown → Computer Configuration — Preferences — Control Panel Settings — Scheduled Tasks → далее правый клик на пустом месте справа, New → Scheduled task и приводим создаваемое задание к следующему виду:

Arguments: /s /c «ekonomim energy» /d p:0:0

Отмечаем пункт: Run As

User Name: POLYGON\ekzorchik

Confirm Password: 712mbddr@

отмечаем пункт: Enable (scheduled task runs at a specified time)

, где учетная запись ekzorchik — это учетная запись которая обладает правами «Администратора домена».

Turn off computers at the end of the working day 002

После переходим на вкладку: Schedule где указываем когда создаваемое задание прописанное групповой политикой на компьютерах локальной сети организации будет приведено в действие — мне нужно каждый день в 21.30

Scheduled Task: Daily

Start Time: 23:10:00 PM

Schedule Task Daily: Every 1 days

После нажимаем Apply и Ok и закрываем оснастку управления групповыми политиками.

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

Если задействуем утилиты psshutdown то нужно, чтобы на рабочей станции был доступ, в противном случаем увидим сообщение в консоли:

Make sure that the default admin$ share is enabled on W7X86.

Проверяем на рабочей станции W7X86 что после перезагрузки политика успешно назначилась и в планировщике задания создалось задание столь необходимой важности:

(В представленных скриншотах у меня фигурирует время 23:19 это время когда я писал заметку и тестировал, но на работе у меня время точно соответствует времени об окончании рабочего дня для всех сотрудников: 21:30)

Пуск — Панель управления — Администрирование — Планировщик Заданий

Turn off computers at the end of the working day 003

C:\Users\alektest.POLYGON>gpresult /r

Turn off computers at the end of the working day 004

если же политики в выводе выше нет, то принудительно подгружаем ее:

C:\Users\alektest>gpupdate

Обновление политики пользователя завершено успешно.

Обновление политики для компьютера успешно завершено.

Перезагружаем рабочую станцию.

Если же ее и после этого нет, то значит у Вас скорее всего проблемы в домене, к примеру время на сервере и на рабочих станциях различно, к примеру не установлено обновление: Windows6.1-KB2998527-x86.msu

Как только наступило назначенное время рабочая станция успешно перезагружается.

Turn off computers at the end of the working day 005

Что и требовалось, есть несколько моментов, а именно нет возможность контролировать, а отработало ли задание и сколько рабочих станций по заданию выключились. Исходя из этого если будет такая задача, то нужно будет писать скрипт и учитывать все параметры, а так данная заметка успешно применяется у меня, проверил ее на многих рабочих местах и результат положителен. Внимательный читатель может спросить, а как узнать что система была выключена по политики, а вот как в журнале рабочей станции по соответствующей работе формируется код (он же Event ID). Вот к примеру изменил время выключения, после рабочая станция выключилась, включил ее и вот сообщение с каким произошло выключение.

Пуск — Панель управления — Администрирование — Просмотр событий — Журналы Windows — Система

Код события (Event ID): 1074

Дата: 07.10.2015 23:55:00

Turn off computers at the end of the working day 006

Но не заходить же на каждую станцию и проверять, а отработало ли задание — можно конечно же и так, к примеру поручить сотрудникам сделать выборочную проверку. А вообще можно и по другому, к примеру у Вас поднят сервис централизованного логирования (к примеру LogAnalyzer) и уже в нем, произвести сортировку по данному Event ID коду. Да может это все не зачем, все существующие компьютеры в домене Вы знаете и они же также стоят у Вас в инвентаризации, как это сделано у меня через GLPI. Надеюсь я этой заметкой помог не только себе, но и многим другим в решение аналогичной задачи. На этом все, с уважением автор блога — Олло Александр.

Удалённое управление питанием и перезагрузкой компьютера, при помощи внешнего девайса

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

Ехать обратно — опоздаешь на работу. А ведь ситуация может развиваться и гораздо более драматично: допустим, человек поехал куда-то далеко за рубеж, в отпуск, и там ему приходит важный звонок, по результатам которого ему необходимо передать своему визави,- определённые документы. А документы остались дома! А дом находится за границей!

Или вот ещё такая беда: ваш персональный компьютер является мощной графической станцией, на которой установлено множество тяжёлых программ для работы с графикой, программными продуктами. А вы перемещаетесь по городу, имея в руках всего лишь «тонкий» клиент, в виде ноутбука…

Из этого описания становится понятно, что «тонкий» клиент не обладает соответствующей производительностью, для запуска множества высокопрофессиональных программ и проектов. Да и если даже он у вас достаточно мощный, — это в принципе неудобно, каждый раз синхронизировать проекты с «тонким» клиентом. Как быть в описанных выше ситуациях — мы и поговорим в этой статье.

На самом деле, указанная проблема очень легко решается: установкой на ваш персональный компьютер системы удалённого включения/выключения и перезагрузки. Этот подход позволит всегда иметь под рукой всю мощь вашей домашней машины и все необходимые документы, и проекты, хранящиеся на ней.

До начала описания своей разработки, хочу сказать, что конечно, она не является единственно возможным способом для удалённого включения выключенного компьютера. Например, хорошо известна технология Wake-on-LAN. Суть этой технологии заключается в том, что она позволяет включить выключенный компьютер, отправкой специального пакета на его MAC-адрес.

Сетевой адаптер компьютера, поддерживающего Wake-on-LAN, находится в этот момент в режиме пониженного потребления и анализирует все пакеты на него. Если одним из поступающих пакетов окажется так называемый magic packet, сетевой адаптер выдаст сигнал на включение питания компьютера.

Согласно wiki: Magic packet — это специальная последовательность байтов, которую для нормального прохождения по локальным сетям можно вставить в пакеты транспортного уровня, не требующие установки соединения (например, протокол UDP или устаревший IPX). Обычно для Wake-on-LAN пакеты протоколов верхнего уровня рассылают широковещательно, так как в случае динамического присвоения адресов неизвестно, какой IP-адрес соответствует какому MAC-адресу. Однако, для корректного прохождения через маршрутизатор, запрещающий широковещательные пакеты, можно послать пакет по какому-то определённому адресу.

Из минусов данной технологии стоит отметить, что она:

В любом случае, я подумал, что создание девайса, о котором пойдёт дальше речь, будет интересной затеей, так как:

▍ Итак, приступим.

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

С появлением платформы Arduino, данная задача существенно облегчилась, однако, она продолжала оставаться достаточно неудобной в своей реализации, ввиду наличия клубка проводов, соединяющих требуемые компоненты, либо, ввиду необходимости покупки соответствующих wi-fi шилдов.

В текущее же время, этот вопрос ещё более облегчился, из-за появления платы espressif esp32. Для тех, кто не знает, это двухъядерный модуль, содержащий множество необходимых для любого самодельщика свойств. В рамках же данного проекта, нас будет интересовать наличие встроенного wi-fi модуля.

Использование этой платы позволит нам легко и просто построить требуемое устройство, не загромождая всё проводами и за достаточно малую цену. Рискну предположить, что суммарная стоимость компонентов нашего решения не превысит 350-400 руб.

Для того, чтобы создать устройство, нам понадобится всего лишь четыре резистора, два мосфет- транзистора и плата esp32.

По набору компонентов, искушённый читатель сразу понял, что мы будем делать: с помощью esp32 мы будем управлять ключами на основе мосфет-транзисторов.

hhmkdzjs9nwptzv a ghu4q27oq

При использовании мосфет-транзистора нужно иметь в виду один нюанс: транзистор должен открыться полностью, если этого не произойдёт, то он в работе будет сильно греться и будет фактически, работать в роли резистора.

В данном конкретном случае, это, конечно, не так важно, так как мы будем коммутировать достаточно малые токи кнопки включения/выключения и reset-a.

Конечно, можно не напрягаться и взять релейные модули для ардуино:

vlftftuavuqi7ejmbe a0 5i uo

Но это не наш путь и вот почему: а) щелчки реле; б) наклёп контактов; в) высокое энергопотребление релейным модулем.

Оно нам надо? Нет, оно нам не надо ��

Так как мы хотим сделать «всё красиво» — мы будем использовать специальные мосфеты с логическим уровнем.

В рамках данного проекта, я выбрал мосфет-транзистор IRLZ44NPBF. У него порог срабатывания от 2 Вольт. То, что надо.

Как собрать ключ на мосфете — можно почитать тут.

По поводу конкретных силовых исполнительных устройств более-менее всё понятно. Однако нам ведь нужно ещё и каким-то образом «рулить» esp32 внешнего интернета!

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

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

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

Как бы там ни было, но все эти частности не важны, так как данный вопрос можно решить намного проще, чем выяснять какой текущий IP у платы и каким образом его сообщить во внешний интернет: для этого мы будем использовать протокол mqtt. Для тех, кто не сталкивался, вкратце можно сказать, что протокол предназначен для интернета вещей, «умного» дома и не только.

Использование протокола позволяет с лёгкостью обойти проблему прохода за роутер (тут следует сделать оговорку, что мы делаем допущение, что большая часть пользователей интернета, которая выходит в сеть, используя персональные компьютеры, имеют дома wi-fi точку доступа в виде роутера).

В нашем случае, использование протокола будет выглядеть следующим образом:

Значение отправляемых цифр:

0 — «выключить компьютер»;
1 — «включить компьютер»;
2 — «перезагрузить компьютер»;

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

Как работать с клиентом: при запуске указанного выше mqtt-клиента — мы видим вот это окно. Ничего в нём не меняем, жмём кнопочку «Connect»:

cjvcjft4hkzjmtg1omuhosyfpou
Далее, появится следующее окно, где мы подписываемся на топик, в котором esp32 оставит сообщение о выполнении задания. Для этого жмём Add new topic subscription:

he27m7s0zqmd28fhitlvdytdqyw
Вводим топик и жмём «Subscribe»:

7ve3pgcdd4zybr1ymu ojonbn6g

Топик, на который мы подписались — появился справа, наверху:

ayo2acomulzheiuedfcy3ffvj8u
Теперь, мы можем ввести топик, в который надо отправить сообщение и собственно, сообщение. И жмём «Publish». Сообщение уехало на esp32, и она отчиталась внизу, о выполнении задания:

uivvfzinys0e1p6jtlub 77saiw
То есть, для работы всей системы нужны:

Источник картинки: wikihandbk.com

И работает оно так (текст оттуда же):

Модифицируем её для нашего случая:

wkh1s3aqpf2be4gwhwa7lgw5ad8

Прошивка проекта написана в Arduino IDE и доступна на моём гитхабе.

Пробежимся по основным моментам.

В своей работе мы будем использовать публичный mqtt broker по адресу: broker.hivemq.com:

Вы можете использовать любой другой — это вопрос исключительно предпочтений. Я выбрал этот и он у меня заработал. А так как я обычно иду по пути наименьшего сопротивления (в рамках парадигмы «и так сойдёт!» ), то искать что-то иное не было смысла. Ибо любая минута поиска — воровала у меня время, которое я мог бы с пользой провести, лёжа на диване, с думами о вечном :-))).

Для начала мы в блоке изначальной инициализации переменных указываем порт для подключения к mqtt брокеру, при необходимости — имя пользователя и его пароль(или имя и пароль оставляем пустыми, если брокер публичный — как в нашем случае):

Далее мы указываем два топика, — один из которых для публикации статуса компьютера в данный момент (то есть компьютер включён/выключен, или перезагружается):

Именно туда esp32 выводит строгие и выверенные системные сообщения, о происходящем с компьютером:

Другой, для получения сообщений из внешнего интернета(сюда мы постим со смартфона цифры 0, 1 или 2, в зависимости от которых выключается/включается/перезагружается компьютер):

Для подключения мосфет-транзисторов, я использовал пины, под номерами 19 и 21. Вы можете использовать, в принципе, любые допустимые пины, хорошее описание которых содержится по следующему адресу.

Из ещё одного интересного момента можно рассмотреть следующие три переменные:

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

Ещё одним любопытным моментом, который некоторые могут не знать, является то, что встроенный в esp32 светодиод привязан к пину, под номером 2. Я решил, что «инженерия инженерией, но и красотень тоже должна быть». Поэтому наша esp-шка будет мигать встроенным светодиодом:

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

А далее, когда компьютер включён — можно подключиться к нему, с помощью предварительно настроенных программ удалённого администрирования, удалённого рабочего стола и т.д. и т.п.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *