удаленно выключить компьютер с телефона

Как выключить компьютер с помощью смартфона

kak vyklyuchit kompyuter s pomoshhyu smartfona i androidym.ru 00

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

Если вы ушли с дому, но вам нужно было оставить компьютер включенным, например, чтобы скачать новый фильм, мы расскажем, как вы можете выключить компьютер с помощью смартфона.

Screenshot 2016 11 02 16 17 54 198 com.Relmtech.Remote

Screenshot 2016 11 02 16 21 26 462 com.Relmtech.Remote

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

TeamViewer: не только удалённое выключение

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

На мобильное устройство, предназначенное для подключения, скачивается и устанавливается QuickSupport с уникальным ID кодом, способное обеспечить качественное и надёжное соединение. Разумеется, от пользователя требуется корректное введение кода, после чего у смартфона или планшета появляется возможность управления удалённым компьютером буквально из любого места.

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

Не лишним будет отметить и высокий уровень безопасности, который обеспечивают шифрование AES и обмен ключами RSA. Однако стоит признать, что приложение довольно непростое в использовании, и может нагружать систему. Тем не менее, такие, скажем так, «недостатки» в полной мере компенсируются его широкими и полезными для многих пользователей возможностями. То есть с помощью приложения TeamViewer, установленного на смартфон владельца ПК можно полноценно управлять удалённым компьютером, в том числе выключать его не только напрямую, но и через постановку задачи по расписанию.

Вы знаете другой классный способ удаленно выключить компьютер? Поделитесь им в комментариях!

Источник

реклама

реклама

Выбор программы для создания удаленного рабочего стола

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

Есть как достаточно известные приложения, такие как: TeamViewer, Remote Desktop от Microsoft и Удаленный рабочий стол Chrome от Google; но существуют и малоизвестные «пульты», скачивать и взаимодействовать с которыми я бы не решился. Мой выбор, собственно, пал на Удаленный рабочий стол Chrome от Google, потому что это наиболее простой в освоении, установке и использовании «пульт». На самом деле, пользуюсь я им уже около двух лет и проблем не наблюдалось как на iPhone под операционной системой IOS, так и на Android-смартфоне. Ну и если это продукт Google, то я не беспокоюсь за сохранность своих данных, ведь корпорация большая, а выпускать некачественный продукт для них просто непозволительно.

реклама

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

Как установить и настроить Удаленный рабочий стол Chrome от Google?

Далее вам потребуется браузер Google Chrome, установленный на вашем ПК. Если же по какой-то причины у вас нет этого браузера, вам не составит труда скачать его бесплатно.

И в браузере Google Chrome, и на вашем смартфоне должна быть одна учетная запись Google. Если таковой по каким-то причинам у вас еще нет, то, как бы странно это не звучало «зарегистрируйтесь в Google».

реклама

Далее в адресной строке Chrome набираем следующее:

Далее вы просто устанавливаете web-приложение себе в браузер Chrome как расширение, а также скачиваете инсталятор chromeremotedesktophost:

Запускаете инсталятор и выполняется простейшая установка.

Нажимаете на кнопку «Включить», когда вам предложат настроить удаленный доступ.

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

И далее создаем PIN-код длиной не менее 6 цифр:

Жмем на кнопку «Запустить», и ваш рабочий стол готов к эксплуатации.

Вас можно поздравить: теперь вы имеете удаленный доступ к своему ПК из любой точки мира при условии, что на обоих устройствах есть подключение к сети Интернет.

Впечатления от использования Удаленного рабочего стола Chrome

В принципе, Удаленный рабочий стол Chrome позволяет вам управлять своим ПК практически также, как бы вы управляли им, была бы у вас сенсорная панель вместо экрана. Сочетания горячих клавиш, конечно, зажать не получится, но требуется ли оно обыкновенному пользователю, которому надо удаленно выключить компьютер, переключить плейлист, включить фильм? В принципе, вам ничего не составит труда теоретически играть таким образом в игры, но данное удовольствие уж точно для искушенных, хотя мне ничего не помешало, например, выключить с телефона компьютерную игру, находясь на улице:

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

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

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

Возможно ли заниматься оверклокингом при использовании Удаленного рабочего стола Chrome?

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

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

Итак, я запускаю MSI Afterburner, чтобы попробовать подразогнать GTX 1060. Но, к сожалению, возможность ввести точные значения почему-то отсутствует, утилита просто не реагирует на вводимые мной значения при помощи экранной клавиатуры.

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

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

Заключение

По итогу Удаленный рабочий стол Chrome показал себя как прекрасный помощник в работе с ПК. Оперативной памяти такое решение потребляет совсем немного и практически не нагружает процессор.

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

Источник

Удаленно выключить компьютер с телефона

6355585

Краткое описание:
Приложение для дистанционного отключения или запуска компьютера с помощью устройства Android.

Описание:
Shutdown Start Remote это приложение для дистанционного отключения или запуска компьютера с помощью устройства Android, очень простое в использовании.

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

Windows. Выключение компьютера.

6355733

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

Если у вас установлено ПО Java, открываем с помощью Java и видим окно программы (таймер).

6355738

6355752

Занимает немного памяти (≈45Mb ОЗУ), не мешает работе компьютера.

6355804

Я настраивал с помощью Wi-Fi и при включении приложения во вкладке «Shutdown Computer» у меня появился мой компьютер. Если сетевой сканер не находит компьютер, приложение автоматически предоставляет Вам больше вариантов подключения(Connection Options-Connecting manually). Для начала в окне программы в Windows нажимаем «Show IP», во вкладке «Connection Options» с помощью распознавалки QR-кодов распознаем показанный код(в Connecting manually выбрать галочку «Scan» и выбрать программу(если не установлено по умолчанию) распознавания QR-кодов, их туча в Google Play, я использую Barcode scanner, не важно какой), или можно вписать вручную(в Connecting manually выбрать галочку «Insert» и ввести IP(если роутер и/или статический внешний IP тогда не важно какой из них, если внешний динамический то лучше вписать «internal ip»(тот который присвоил роутер, он же для Вас статический) и нажать «Check»). Если ничего не произошло, убедитесь, что приложение на компьютере работает, и оба устройства в той же сети Wi-Fi. Кроме того, проверьте настройки брандмауэра, не блокирует ли он ничего. После этого нажмите «Refresh» в «Connection Options», все должно заработать.

Источник

Управляем компьютером с Android устройства

Начало

А началось все с того, что вызывает меня генеральный к себе, и говорит: «Вот видишь телефон? Хочу чтобы там была кнопка, я на нее нажимаю, и у меня в ноутбуке кино включается. Нажимаю другую – музыка играет.» И еще чего-то много наговорил, уж не помню. «Задача понятна? Выполняй!» Вот уж не знаю, с чего такая потребность у него возникла. То ли звезды не под тем углом встали, то ли сон какой приснился. Короче, не поймешь этих богатых… Ну да ладно.

Поначалу полез рыться в Гугл в поисках подходящей программы, а потом подумал – а какого черта? Напишу сам. Тем более, что задача не показалась сложной, да и “зов кода” уже давал о себе знать (этакая профессиональная it-ломка). Вот и решил соединить Windows и Android собственными силами.

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

Что мы имеем

Значит так. С одной стороны, у нас телефон с Android на борту, с другой — Windows с установленными программами, притом некоторые из этих программ нам надо запускать, подав команду с телефона.
Телефон и компьютер свяжем через локальную сеть, тут без вариантов (ну не смски же посылать). Таким образом, будем писать две программы. Первая — это сервер, работающий на компьютере, задача этой программы — открыть и слушать порт. Если на этот порт падает что-то полезное, то выполнить заданное нами действие. Вторая программа — это клиент, запущенный на телефоне, ее задача обработать действия пользователя, подключиться к серверу и передать информацию.

Немного о сокетах

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

Сокет — это программный интерфейс, который позволяет устанавливать связь между двумя процессами, используя протокол tcp/ip. Сокет ассоциирован с двумя аспектами: ip-адресом и портом. Где ip-адрес — это адрес хоста (компьютера) в сети, с ним работает протокол IP. Port — это идентификатор приложения, к которому адресовано соединение, тут работает протокол TCP. Порт может быть как TCP, так и UDP, в этой статье я буду использовать только TCP. Поскольку ip-адрес является уникальным как в сети интернет, так и в локальной сети, то он однозначно определяет адрес отправителя и адрес принимающего. Порт же является уникальным в пределах операционной системы, он определяет приложение, с которым мы хотим взаимодействовать. Порты могут быть стандартными, например, 80 закреплен за HTTP, или 3389 — RDP. Вы можете использовать любой незанятый порт, но стандартные лучше не трогать. Очень хорошо и с примерами о сокетах написано здесь.

Сервер. Начинаем хулиганить

Запускать Aimp, Windows Media Player и т.п. даже с телефона — это не интересно, да и на базе этой статьи вы сможете все это легко реализовать, немного переделав код. Давайте лучше побезобразничаем. Будим крутить-вертеть экран монитора как нам вздумается или выводит неожиданные сообщения (этакий однонаправленный ацкий мессенджер), и самое ужасное — выключим компьютер! Правда, за это могут и на вилы надеть. Ну да ладно, пускай сначала поймают.

Итак, приступим. В Visual Studio создаем новое Windows Form приложением с именем, скажем, FunnyJoke. Открываем файл Program.cs и удаляем весь код в теле функции Main. Этот код инициализирует главную форму приложения, нашему серверу никакие окна не нужны, он должен сидеть тихо мирно и ждать команд.

В классе Program определим следующие переменные:

Я взял порт 10000, именно его и будет слушать наш сервер, вместо ip адреса задал 0.0.0.0 это говорит о том, что будут обрабатываться все доступные сетевые интерфейсы. Это не совсем правильно, но для начала сойдет. Далее я определил три константы, которые задают коды команд, приходящие от клиента. В начале проекта не забываем подключить:

Теперь, вместо удаленного кода в функции Main вставляем следующий:

Пример хорошо комментирован. Но все же поясню. Сначала создаем локальную конечную точку и ассоциируем ее с нашим ip адресом и портом. Затем, определяем основной сокет, связываем его с конечной точкой, и переводим в режим прослушивания. После этого входим в бесконечный цикл, и начиная со строки:

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

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

Строка, приходящая от клиента, имеет кодировку символов UTF-8, поэтому прежде чем показать ее несчастному пользователю, необходимо привести ее к стандартному виду.

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

С сервером, пожалуй, все. Исходный код проекта я прикреплю в конце статьи.

Клиент

Клиент будем писать в Android Studio, поскольку мне эта IDE больше нравится чем Eclipse. Любителям последнего думаю не составит больших трудностей переделать проект. Для отладки я использовал VirtualBox с установленной виртуальной машиной Android, ибо родной эмулятор жутко тормозной, и жизни не хватить что бы с его помощью что-то отладить. Ну и периодически проверял на «живом» телефоне. Итак, создаем проект с именем FunnyJoke, задаем минимальную версию API, которую способен утянуть ваш телефон (у меня 16) и выбираем Empty Activity. Все остальное по умолчанию. Делаем разметку представления. С дизайном я шибко не извращался, кому надо пускай рисует красивые кнопки, размещает их по фен Шую и т.п. Я сделал просто: два поля типа EditText, первое для ввода ip адреса контролируемого компьютера, второе для текста сообщения, и кнопка, которая заставит поворачиваться рабочий стол. А вот кнопку завершения работы я сделал большую и угрожающее красную. Это чтоб случайно не нажать.

Тут стоит обратить внимание на поле edIPaddress, в нем стоит фильтрация на ввод только цифр и. (точка), так-как поле предназначено для ввода ip адреса. Надо сказать, что это единственная проверка на правильность введенных данных, все остальное остается на совести пользователя. Еще хочу cказать о кнопке btnPowerOff ее состояние отслеживает селектор, и в зависимости от того нажата она или нет меняет изображение (иначе, не понятно произошло ли нажатие, кнопка будет выглядеть как статичная картинка). Вот код селектора button_img.xml:

Соответственно в ресурсах должны быть две картинки одна для нажатого состояния, другая для обычного. Получится вот такой экран:

image loader

На этом с разметкой закончим. Переходим к файлу MainActivity.java. В первую очередь, так же, как и в сервере, определяем коды команд и некоторые переменные:

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

В Android не рекомендуется создавать долгоиграющие процессы в основном потоке, это связанно с тем, что возможно “подвисание” программы, и пользователь или система может просто закрыть приложение, не дождавшись ответа. К таким долгоиграющим процессам относится и работа с сетью. В этом случае необходимо создать дополнительный поток, в котором и выполнять “долгий” код. В java есть стандартный класс Thread, который позволяет управлять потоками но, его мы использовать не будем, т.к. в Android существует специально предназначенный для этого класс AsyncTask. Подробно можно почитать здесь или здесь.
Создаем класс, который будет заниматься отправкой сообщения, его родителем делаем AsyncTask, и переопределяем метод doInBackground в теле которого и будет находится основной код:

Сначала создаем экземпляр класса InetAddress, который будет содержать в себе ip сервера. Потом создаем сокет, связываем его с удаленным адресом и портом, и запрашиваем стандартный поток ввода/вывода (вернее только вывода, потому что наш клиент ничего не получает). И наконец, в зависимости от значения переменной codeCommand, посылаем сообщение серверу.

Теперь вернемся к нашему обработчику нажатия кнопок, создадим экземпляр класса SenderThread, затем в зависимости от того какая кнопка была нажата инициализируем переменную codeCommand, по ней наш поток будет определять что мы от него хотим. И наконец, активируем, вызвав метод execute().

Немного поправим манифест приложения, дадим разрешение на использование сети и wi-fi, без этого ничего работать не будет:

Все! Можно собирать и проверять. Вот результат:

Источник

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

image loader

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

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

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

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

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

До начала описания своей разработки, хочу сказать, что конечно, она не является единственно возможным способом для удалённого включения выключенного компьютера. Например, хорошо известна технология 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
То есть, для работы всей системы нужны:

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

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

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

wkh1s3aqpf2be4gwhwa7lgw5ad8

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Поделиться с друзьями
Remonta.top
Добавить комментарий