Как сделать управление через интернет
Делаем управление «Умным домом» через интернет за пару минут
Доброго дня. У многих из нас, в том числе и у меня, давно возникла идея создания своего «Умного дома». Но она откладывалась в виду большой сложности реализации как с аппаратной стороны так и со стороны программного обеспечения, что требовало от её создателя быть «гуру» во многих областях.
В этой статье я расскажу вам об очень простом и вполне функциональном способе управления системой умного дома через интернет. На её создание при наличии необходимых компонентов уйдет всего несколько минут.
Заинтригованы? Прошу под кат.
Однажды рыская по интернету в поисках информации про «Умные дома» наткнулся на интересное видео, где мужчина в белом халате показывал как управлять ARDUINO через интренет. Позже оказалось, что этот мужчина один из разработчиков проекта на kickstarter.com под названием Ninja Blocks.
Вот, то самое видео.
Ninja Blocks — очень интересный и довольно успешный проект, который предлагает управление и контроль большой периферией домашних устройств с помощью своего модуля ( который они предлагают купить за 199 «вражеских» единиц). Модуль взаимодействует с облаком, через которое и происходит управление устройствами. Так же существуют приложения для iOS и Android с помощью которых также возможно управление.
Разработчики Ninja Blocks не поленились и написали свою библиотеку для ARDUINO за что им большое СПАСИБО!
Облако не совсем простое, оно не только посылает и принимает данные, то также поддается программированию со стороны пользователя, который создает так называемые ПРАВИЛА. Таким образом облако становиться онлайн «мозгом» «Умного дома».
НАПРИМЕР: при нажатии на кнопку, облако ждет 30 секунд, а потом влючает какое-либо реле, ждет еще 60 секунд и выключает его.
Правила легко создаются из панели управления.
Для повторения его примера нужен был Ethetnet Shield. На тот момент в моем распоряжении быт модуль на базе enc28j60. Но как я ни пытался повторить пример с использованием разных библиотек, так ничего и не получалось. Необходим был модуль совместимый с родной Ethernet библиотекой для ARDUINO т.е. на базе чипа w5100. Шилд был заказан из поднебесной и всё было отложено на долгий месяц.
Если вы уже посмотрели видео выше, то поняли что нам потребуется:
— совместимая плата ARDUINO
— thernet shield на базе w5100
— аккаунт на сайте a.ninja.is
— разная мелочевка в виде резисторов, кнопок и светодиодов
И так. Плата пришла. Все собрал, подключил, загрузил.
Это было удивительно, но все заработало )) Но всегда бывает «НО». Буквально через пару минут заметил, что светодиод перестал реагировать на управление через сайт. Перезагрузка контроллера помогла, но только на те же пару минут. При этом кнопка всегда работала испаравно. Да это была серьезная проблема с которой «Умный дом» не построить.
После изучения данного примера возникло несколько вопросов:
1. Как управлять несколькими устройствами принимающих данные (светодиодами)?
2. Как добавить несколько устройств, отсылающих данные( кнопка, датчик температуры)?
3. Как починить управление для светодиодов через панель, которое «отваливается» через пару минут?
Поиск начался с не очень популярного раздела на форуме разработчиков с названием ARDUINO. Тут было найдено решение для исправление проблемы с управлением. Одни из участников форума доработал библиотеку проекта. Самое удивительное, так это то что за пол года разработчики так и не обновили библиотеку на github. Видно опасаются конкуренции для себя со стороны проектов на базе Arduino )).
Ниже вы сможете скачать уже исправленную библиотеку.
Несколько часов опытов и изучения смазанных объяснений разработчиков на форуме и библиотеки дали свои плоды. Все вопросы были успешно решены… =)
И так теперь по делу.
Библиотека для Arduino занимается, только приемом и отправкой данных.
Основным параметром в данных является ID устройства к которому обращается сервер или от которого принимает информацию. Посмотреть полный список можно здесь. ninjablocks.com/pages/device-ids Каждому ID соответствует свой виджет в панели управления.
В Serial Monitor передача или прием одной команды или данных выглядит таким образом:
Теперь рассмотрим что там внутри.
«G»: «0» — параметр GUID указывает порядковый номер в рамках группы устройств с одинаковым ID. Например установлено 3 датчика температуры с одинаковым Тогда для первого датчика GUID будет равен 0, для второго — 1 и 2 для третьего.
«V»: 0 — параметр VID является идентификатором для устройств как и ID.
«D»: 1 — параметр DID ( Device ID) указывает тип устройтсва. Напримет датчик температуры имеет или 31, кнопка — 5.
«GUID»: «ETHERSHIELDBLOCK_0_0_1» — трудно сказать для чего это надо, но в общем он содержит в себе название блока ARDUINO (котрое можно изменить в начале примера из библиотеки) и всех выше пересичленные параметры.
«DA»: 27 — ну и сами данные, которые мы передаем. Для кнопки или реле это 0 или 1, для RGB светодиода это код цвета например FFFFFF.
Условно все датчики и устройства можно разделить на два типа. Первый тип только передают информацию ( кнопка, датчик температуры и влажности). И второй тип только принимают её. Тут кроется один нюанс. Панель управления изначально не знает что у нас подключено к контроллеру. И если первый тип сам сообщат о себе, когда будут передавать данные и панель сразу создаст для них виждет согласно их ID. То для второго типа необходимо произвести создание виджетов в панели управления путем отправки данных.
Как отправлять данные с нескольких устройств с одинаковым ID.
Все очень просто перед каждой отправкой данных мы должны указать порядковый номер устройства (GUID)
При приеме данных для нескольких устройств c одинаковым ID нам необходимо проверять чему равен GUID
Вернемся к устройствам второго типа. Для создания виджета в панели управления достаточно всего лишь раз отправить данные от его имени. Создадим виджет с переключателем ON/OFF для каждого из двух светодиодов написав в цикле void setup следующее:
Получив эти данные панель создаст для них виджет.
Теперь предлагаю вашему вниманию простую программу для работы с Ninja Blocks.
— Управляет 4-я светодиодами
— Отсылает показания 2-х датчиков температуры ds18b20 c интервалом в 60 секунд
— Каждые 20 секунд синхронизирует положение переключателей ON/OFF с состоянием светодиодов. Так как панель управления никак не следит дошли ли данные до контроллера и поэтому иногда бывает что на панели положение ON а на самом деле выход выключен. Данный способ позволяет каждые 20 секунд устанавливать переключатели в панели в правильно положение если до этого они стояли не верно.
— Подключена кнопка, при нажатии на которую выполняется запрограммированный сценарий.
Постарался обеспечить код подробными комментариями.
Подготовил небольшое демонстрационное видео
Подведем небольшой итог.
Достоинства:
— Управление и котроль из любой точки мира ( при наличии интренета)
— Собирается и настраивается за считанные минуты.
— Очень простой и недорогой
— Наличие специальных сценариев
— Широкий перечень виджетов в панели управления.
— Если добавить роутер TP-Link TL-MR3020 (20$) и 3G модем, то можно использовать на даче и других местах без интернета.
— Если нет желания тянуть сетевой кабель, то достаточно купить за 15$ TP-Link TL-WR702N, который будет работать в качестве wi-fi шилда
— Хорошая стабильность в работе. За 2 дня тестирования не потерялась ни одна команда все работает четко.
Недостатки:
— Самый главный минус этой системы это невозможность работы без интренета.
— Имеется задержка при включении колеблется от долей секунды до нескольких
— Библиотека кушает много места — целых 16 кБ, если добавить библиотеку для nrf24l01 то ничего почти не остается. Придется переходить на Mega скорее всего.
— Приложение для смартфонов не позволяет просматривать показание датчиков. Управление устройствами сделано не очень удобно, не видно текущего состояния on/off.
Планы на будущее:
— Дописать в коде проверку соединения и в случае его отсутствия Arduino будет действовать самостоятельно и будет перезагружать TP-Link TL-MR3020 и 3G модем если работает с ними в связке.
— Добавить nrf24l01 для управления и контроля других датчиков.
Очень интересно услышать ваше мнение и конструктивную критику. Оригинальные вопросы приветствуются! Фух…
Бесплатные программы для удаленного управления компьютерами
Программы удаленного управления компьютером позволяют дистанционно управлять другим компьютером через Интернет или в локальной сети. Это удобно, когда необходимо помочь не очень опытному пользователю, например, родственнику или другу, плохо разбирающемуся в компьютере что-либо сделать на нем, не сходя со своего уютного кресла и не тратя при этом свои нервы и время на телефонные разговоры. Такие программы еще удобно использовать для удаленной работы, например, из дома для подключения в офис и наоборот — для доступа к своему домашнему ПК, для системного администрирования целого парка компьютеров и серверов.
Проведем сравнительный анализ программ удаленного управления, выделим их преимущества и недостатки.
TeamViewer
Одна из самых популярных программ для удаленного доступа, ее можно быстро скачать и установить или сразу запустить, без установки, с этим сможет справиться даже не очень опытный пользователь. При запуске программа отображает окно с ID и паролем для доступа к данному компьютеру, а также TeamViewer позволяет подключится к другому компьютеру задав его ID и пароль.
Преимущества:
В программе доступно несколько основных режимов работы это удаленное управление, передача файлов, чат, демонстрация своего рабочего стола. Программа позволяет настроить круглосуточный доступ к компьютеру, это будет удобно для системного администрирования. Скорость работы вполне достойная, есть версии для всех мобильных платформ, для различных операционных систем, что очень радует. Простой и вполне понятный интерфейс плюс ряд дополнительных утилит для расширения функционала программы, будут полезны для служб удаленной поддержки.
Недостатки:
Хоть программа и является бесплатной, но только для не коммерческого использования, а также при работе с ней более 5 минут возникает ряд трудностей, например TV может заблокировать сеанс удаленного подключения, распознав его как коммерческое использование. Для круглосуточного удаленного доступа или администрирования нескольких компьютеров, компьютерной сети, придется платить за дополнительные модули программы. Стоимость программы высокая.
Итог:
Данная программа идеально подойдет для разового удаленного подключения или использования ее непродолжительные периоды времени. Удобно использовать с мобильных платформ, но не администрировать большое количество компьютеров. За дополнительные модули придется доплачивать.
LiteManager
Простая, но довольно таки мощная по возможностям программа, состоит из двух частей, первая это Server который нужно установить или запустить на удаленном компьютере и Viewer, который позволяет управлять другим компьютером. Для работы программа требует немного больше навыков и опыта от управляющего, хотя работа сервером даже проще чем в TeamViewer, сервер можно один раз установить и больше не каких действий от пользователя не нужно, ID будет всегда постоянный, его даже можно задать самому в ручную, что очень удобно для запоминания. Версия LiteManager Free является бесплатной для личного и коммерческого использования.
Преимущества:
В программе помимо основных режимов удаленного доступа: удаленного управления, передачи файлов, чата, диспетчера задач, редактора реестра, есть и уникальные функции, например: инвентаризация, запись экрана, удаленная установка. Программа бесплатна для использования на 30-ти компьютерах, ее можно использовать для круглосуточного доступа без каких либо дополнительных модулей. Отсутствуют какие-либо ограничения по времени работы. Есть возможность настройки своего собственного ID сервера для настройки корпоративной службы поддержки. В программе нет каких-либо ограничений по времени работы и блокировок.
Недостатки:
Не хватает клиента под мобильные платформы или другие системы, есть ограничения на 30 компьютеров в бесплатной версии, для администрирования большего количества необходимо приобрести лицензию. Некоторые, специфичные режимы работы доступны только в Pro версии.
Итог:
Программа Litemanager подойдет для оказания удаленной поддержки, для администрирования нескольких десятков компьютеров абсолютно бесплатно, для настройки собственной службы удаленной поддержки. Стоимость программы самая низкая в своем сегменте и лицензия не ограничена по времени.
Ammy admin
Программа в основном аналогична TeamViewer, но более простой вариант. Присутствуют только основные режимы работы — просмотр и управления, передача файлов, чат. Программа может работать без установки, бесплатная для некоммерческого использования.
Преимущества:
Простая и легкая программа, можно работать как в Интернете, так и в локальной сети, обладает минимальными настройками и не требует каких-то особых умений и навыков. По сравнения с TeamViewer более мягкая лицензионная политика.
Недостатки:
Минимум функций для удаленного управления, администрировать большой парк компьютеров будет сложно, при долгом использование, более 15 часов в месяц, сеанс работы может быть ограничен или заблокирован, платная для коммерческого использования,
Итог:
Данная программа больше подойдет для разового подключения к компьютеру и не сильно сложных манипуляциях, например в качестве оказания помощи не опытному пользователю в настройке компьютера.
RAdmin
Одна из первых программ удаленного управления и известная в своем кругу, не мог ее не упомянуть, больше предназначенная для системного администрирования, основной акцент сделан на безопасности. Программа состоит из двух: компонент сервера и клиента. Требует установки, не опытному пользователю будет не просто с ней разобраться, программа предназначена в основном для работы по IP адресу, что не совсем удобно для оказания тех. поддержки через Интернет. Программа платная, но обладает бесплатным тестовым периодом.
Преимущества:
У программы высокая скоростью работы, особенно в хорошей сети, благодаря видео драйверу захвата рабочего стола, повышенной надежностью и безопасностью. Встроена технология Intel AMT, что позволяет подключаться к BIOS удаленного компьютера и настраивать его. Реализованы только основные режимы работы удаленное управление, передача файлов, чат и т.д.
Недостатки:
Почти нет возможности для работы без IP адреса, т.е. соединяться по ID. Отсутствует клиент для мобильных систем. Нет бесплатной версии, только тестовый период 30 дней. Для работы с программой необходимы навыки опытного пользователя. При подключении видео драйвер может отключать графическую оболочку Aero, иногда мигает экран.
Итог:
Программа больше подойдет для системных администраторов для администрирования компьютеров и серверов в локальной сети. Для работы через Интернет, возможно, придется настроить VPN туннель.
Заключение
Есть еще много аналогичных программ для удаленного доступа, это более новые (Airoadmin, Supremo), немного устаревшие (VNC, Dameware, PCAnywhere) и другие более дорогие красивые, но выполняющие те же самые основные функции. Если решите приобрести лицензию, обратите внимание, что некоторые программы лицензируются на временное пользование на год, после чего нужно платить еще и еще.
Думаю, выбрать подходящую программу для себя вы сможете сами, или лучше всего использовать несколько решений в комплексе.
Удаленное управление компьютером через интернет
Зачастую многим из нас необходимо использовать свой домашний компьютер, находясь на рабочем месте или наоборот. Программа для удаленного управления компьютером решает эту проблему, поскольку она позволяет получить доступ к устройству, которое находится далеко от нас – нужно иметь лишь специальный пароль, и вы сможете работать на нём дистанционно.
Удалённый доступ позволяет управлять своим домашним компьютером из любой точки нашей планеты. Вам будут доступны многие функции, включая работу с содержимым диском, установленными приложениями, системными настройками и многое другое. Вы сможете так же наблюдать за действиями другого оператора, который в данный момент использует то самое устройство.
Удаленный рабочий стол Windows
Если вас интересует то, как настроить удаленный доступ к компьютеру от Windows, то проблем у вас не возникнет. Системное приложение для дистанционного управления компьютеров есть в любой серии ОС Windows, при чём второе устройство может находиться под управлением iOS, macOS или Android. Приложение Microsoft Remote Desktop можно скачать бесплатно для Android и Apple в Google Play и, соответственно, в App Store.
Успешное удалённое соединение будет установлено при наличии разрешения на удалённое управление устройством — которое необходимо настроить на компьютере, которым вы собираетесь управлять дистанционно. Также потребуется учётная запись с администраторскими правами, подключенный интернет на двух устройствах и открытый порт TCP 3389 на той стороне, которая принимает.
Подключение разрешения
Инструкция для Windows 10:
1. Делаем щелчок по правой кнопке мыши по иконке «Этот компьютер» и выбираем раздел «Свойства»;
2. Находясь в разделе «Система», переходим в «Настройку удалённого доступа»:
Когда соединение будет установлено, рабочий сеанс текущего пользователя компьютера завершится, и управление в ту же минуту перейдёт к вам. На экране расположится заставка, поэтому для пользователя удалённого компьютера будет закрыт его рабочий стол.
Настройка интернет подключения к удаленному компьютеру
Существует два способа как подключить удаленный доступ к компьютеру через интернет. Вы можете создать канал VPN – тогда устройства смогут видеть друг друга так, как будто те находятся в одной сети. Также есть возможность перенаправить порт 3389 в локальную сеть и изменить динамический IP адрес удалённого компьютера на статический.
Создание VPN-канала в Windows
На удалённом устройстве нужно произвести следующие действия:
2. После того, как вы нажали кнопку Alt на клавиатуре, щёлкните по разделу «Файл» и выберите опцию «Новое входящее подключение»:
3. Выберите пользователей компьютера, которым вы даёте разрешение на подключение:
После всех действий в папке сетевых подключений вы увидите значок «Входящие подключения» — это и есть новый VPN-канал. Для того, чтобы не произошло блокировки, создайте порт TCP 1723. Если же сервис получил локальный IP-адрес, то необходимо будет перенаправить его во внешнюю сеть.
Клиентский компьютер настраивается ещё легче. Нужно включить утилиту «Параметры, а далее в разделе «Сети и Интернет» и подразделе «ВПН» найдите действие «Добавить ВПН-подключение»:
Окно «Параметры» необходимо настроить следующим образом:
· Услуги поставляются «Windows»;
· Имя подключение «Любое»;
· Имя или адрес сервера содержат IP или доменное имя сервера, созданные вами прежде;
· Автоматически определённый тип VPN, либо «PPTP»;
· Окно «тип данных для входа» должны содержать ваш логин и пароль:
Проброс портов на роутере
Перенаправление портов на различных устройствах происходит по-разному, но можно заметить один общий принцип. Продемонстрируем, как это выполняется на маршрутизаторе TP-Link:
· Порт сервиса – «3389» («1723» при настройке VPN);
· Внутренний порт – остаётся тем же;
· IP-адрес – вводим адрес компьютера или доменное имя;
· Протокол: TCP или все;
· Можно оставить прежним так же и стандартный порт сервиса.
Получение статичного IP-адреса
Есть простой и не дорогой переход с изменяемого IP к постоянному через сервисы DDNS. Они присваивают компьютеру с динамическим сетевым адресом постоянное доменное имя. Сохраните для себя список бесплатных DDNS-сервисов:
Как пользоваться сервисами:
Теперь у вашего компьютера есть собственное имя в интернете, которое нужно вписать в настройках подключения там, где указан IP-адрес или имя локальной сети.
Преимущества удаленного рабочего стола Windows
У вас не будет никаких серверов-посредников при подключении, поэтому утечки данных бояться не стоит.
Наличие широкого спектра настроек, можно идеально подстроить под каждого пользователя:
· Не нужно скачивать что-либо дополнительно; · Нет никаких ограничений по времени длительности сессии; · Можно создать любое количество подключений; · Экономичность. Из недостатков можно назвать только сложный процесс настройки для соединения через интернет и чувствительность к «Pass the Hash» атакам.
TeamViewer
Одним из самых популярных приложений, которое способно установить удаленный доступ к компьютеру или мобильному устройству, является TeamViewer. Программа устанавливается на многие операционные системы, включая Chrome OS и BlackBerry. TeamViewer может быть инсталирован на компьютер или же работать без установки, если пользователю удобно использовать портативную версию.
Существует широкий перечень продуктов для решения различных задач, например, версия TeamViewer QuickSupport удобна для получения быстрой технической поддержки, а TeamViewer Host может быть использован для круглосуточного мониторинга удалённых устройств. Полный список продуктов указан на официальном сайте данного программного обеспечения.
Функционал программы TeamVIewer, как позволяет пользователю персонализировать дизайн, так и имеет множество других полезных опций. Стоит отметить, что использовать программный продукт в личных некоммерческих целях можно бесплатно, но с некоторыми ограничениями.
Чтобы обеспечить единовременное соединение, пользователь может не производить никаких настроек, а только лишь вписать ID и пароль в соответствующие поля раздела «Управлять компьютером», которые сообщит другой пользователь отдалённого устройства, а затем нажать кнопку «Подключиться к партнеру».
После успешного соединения вы сможете, как удалённо управлять компьютером другого оператора, так и своим, наблюдая через экран своего устройства рабочий стол другого дистанционного. Второй пользователь будет при этом наблюдать за вашими шагами.
Чтобы соединиться с другим компьютером без запроса ID и пароля, TeamViewer может присвоить ему постоянный пароль. Для этого:
2. Введите имя и пароль используемого вами устройства в окне «Неконтролируемый доступ»;
Отныне дистанционный доступ к этому компьютеру со второго устройства работает без запроса ID и пароля, нужно лишь выбрать его в списке «Мои компьютеры» (стрелка справа от главного окна TeamViewer) и ввести ранее указанный пароль.
Для успешного соединения должны быть выполнены три простых условия: удаленное устройство должно быть включено, подключено к интернету и на нем должен быть запущен TeamViewer.
Удаленный рабочий стол для Google Chrome
Браузер Google Chrome может расширить свои функции при помощи установки бесплатного расширения «Удалённый рабочий стол». Данное полезное новшество разработано для дистанционного управления устройствами и сравнимо с известным TeamViewer. Некоторые пользователи полагают, что приложение от Google Chrome не хуже своего аналога и является более простым в использовании.
Для установки расширения, используя Google Chrome, войдите в магазин с названием браузера, наберите в поисковой строке «Удаленный рабочий стол Chrome» и кликните по «Установить»:
После этого иконка запуска появится в разделе браузера chrome://apps/ (сервисы Гугл).
Условие соединения удаленных устройств — наличие программы «Рабочий стол Google» на каждой из задействованных машин. Чтобы соединяться с компьютером через мобильный телефон, нужно установить отдельное приложение под названием Chrome Remote Desktop. Приложение ставится на операционные системы iOS и Android.
Для полноценного использования сервиса нужно создать учётную запись Google, либо пройти авторизацию в самом браузере Google Chrome.
Главное окно «Рабочего стола Chrome» схоже по функциям с TeamViewer и содержит два раздела:
· Раздел «Удаленная поддержка» контролирует разовое подключение к другим машинам;
· Раздел «Мои компьютеры» запоминает ранее подключенные устройства и предлагает соединяться с ними быстро с использованием пин-кода.
Чтобы соединиться с другим устройством, нужно ввести 12-значный код доступа сгенерированный другим пользователем. Для того чтобы получить код, нужно нажать «Поделиться» в разделе «Удаленная поддержка».
Процесс установления связи между устройствами сопровождается установкой дополнительного компонента на удаленный компьютер. Через пару минут на экране высветится код, который нужно ввести в соответствующее поле и нажать «подключение».
Аналогично программе TeamViewer пользователь отдалённого устройства видит все действия, которые вы выполняете.
Напротив, если вы желаете открыть доступ к своему устройству другому пользователю, нужно нажать «Поделиться» и сообщить ему секретный 12-значный код.
Ammyy Admin
Простая и безопасная утилита, которая способна, как сделать удаленный доступ к компьютеру под управлением Windows, так и к компьютеру под управлением Linux. Из плюсов можно назвать: