Способов управления технологией умного дома в этой программе целых два. Первый - это плагины (Вера, Хао и т.д.). Они представлены от самых популярных компаний, предоставляющих подобные услуги. Все работают по одному и тому же принципу - получив заданную команду, программа, используя локальную сеть (например, домашний вай-фай), отправляет на определенное устройство команду.
Теоретически, технологию умного дома можно совместить с абсолютно любой частью квартиры, вплоть до открытия/закрытия замков и дверей. При этом ваш голосовой ассистент сможет взаимодействовать как с группой контроллеров ("Выключи весь свет", "Включи музыку", "Включи отопление на 30%" и т.д), так и с каждым конроллером отдельно ("Включи свет в гостиной", "Проверь, закрыта ли входная дверь", "Закрой шторы в спальне" и т.д.).
Чем больше электронной начинки в вашем доме, тем шире возможности программы.
Но и они не безграничны. Плагины не поддерживают обратной связи, поэтому вы не сможете получать голосовое уведомление о том, что свет горит больше часа, когда в комнате никого нет.
И тут нам на помощь приходит второй способ работы с умным домом, EventGhost.
Программа EventGhost была создана специально для управления всем-чем-можно-управлять-через-пульт. Она умеет эмулировать практически любой управляющий элемент, взаимодействует хоть с лампочками, хоть с телевизором, но, что гораздо важнее, отлично синхронизируется с VoxCommando.
Вы сможете посылать команды из одной программы в другую. Это позволит получать обратную связь программой EventGhost, пересылать соответствующие уведомления в Vox, и реагировать на них уже голосом.
Помимо EventGhost, есть более интересный способ взаимодействия телефона и ПК. В первую очередь, это программа VoxWav, устанавливаемая на андроид. Она позволяет использовать мобильник, как микрофон, подключенный непосредственно к VoxCommando, что довольно удобно. К сожалению, без настройки VPN, программа работает только в локальной сети.
Настройки просты.
Если программа автоматически не нашла ваш компьютер в сети, просто укажите в настройках IP вашего ПК в локальной сети и порты, которые использует VoxCommando для связи. Посмотреть порты можно, опять же, в настройках программы. Готово, вы восхитительны.!
Второй способ синхронизации - это пакет программ Tasker+AutiRemout. Программы платные, но стоят своих денег.
Таскер - это обработчик состояний (Внимание! Для многих функций нужен root), который выполняет заданные действия, когда то или иное состояние активно.
Он умеет читать ваши смс, определять подключенные устройства, следит за батареей, реагировать на будильники, кнопки и вообще, хочется сказать, что программа почти всемогущая.
Вторая программа, Autoremout, эмулирует работу дистанционного пульта, генерируя события, определяемые как VoxCommando, так и EventGhost. Сама по себе, она является лишь плагином к Таскеру, Поэтому останавливаться на ней не будем.
Для чего же все это нужно? Во-первых, теперь ваш ассистент не привязан к ПК и работает с вами еще и через мобильное устройство.
Во-вторых, становятся возможными множество функций. Например, узнавание. Когда вы приходите домой и подключаетесь к домашнему вай-фаю, ассистент получает уведомление и приветствует вас или как-то еще реагирует на ваш приход домой. Когда ваш телефон разряжен, компьютер напомнит его зарядить. Проверит его состояние утром, уведомит об смс или пропущенных звонках и многое, многое другое.
Наконец, несколько слов о настройках и использовании программы. Сразу скажу, что все необходимое гуглится легко и еще проще ищется по ссылкам в комментариях к предыдущему посту. При необходимости, продублирую ссылки в комментариях здесь.
В первую очередь, установка.
1. Установите речевой движок и русский войспак с официального сайта Майкрософт.
2. У вас должен быть установлен .NET Framework 4.5 или выше
3. Опционально - голосовые движки по-вкусу.
4. VoxCommando, скачанный с официального сайта.
Важные настройки.
1. Почтовый адрес.
Его нужно указать в настройках самой программы, а так же ввести пароль к ящику. Через этот ящик реализована работа календаря и работа с почтой. На этом адресе должны быть открыты Гугл-аккаунты почты и календаря.
2. Уверенность произношения.
Программа анализирует ваши команды и сравнивает их с "идеальным" звучанием в процентном соотношении. Исполняются те команды, которые произнесены с четкостью, превышающей определенный уровень, указать который вы можете в настройках.
3. Префикс.
У программы есть три режима. Зеленый (включен), желтый (ожидание) и крастный (выключен).
В желтом режиме команды воспринимаются только в том случае, если в начале обратиться к программе, используя префикс.
Укажите в настройках желаемый префикс и необходимую уверенность произношения. Рекомендую использовать приятное на слух имя.
4. Плагины.
Скачивать дополнительно плагины не нужно, вы можете включать и выключать их по желанию. Но для синтеза речи вам необходим плагин TTS, работающий с дополнительно установленными войспаками. Выберите в нем желаемый русский голос и сохраните настройки.
Для эмуляции нажатия клавиш будет полезен плагин DirectX Input. Настраивать ничего не нужно, просто включите его.
Плагины календаря и погоды описаны в предыдущем посте, включите их.
В дальнейшем планирую написать краткий обзор по используемым плагинам.
Использование программы.
Включите окно истории в главном окне. Попробуйте пооткрывать окна, сказать что-то из команд, а что-то неразборчиво, смените активное окно.
Вы увидите красные иконки календаря - это значок произошедшего события. Рядом название и время конкретных событий.
Например, когда вы произносите команду неразборчиво, генерируется событие "VC.NotRecognized". В дальнейшем вы сможете использовать эти события и генерировать их по своему усмотрению.
Перейдем в окно редактирования.
1. Панель действий.
Черный ящик - коллекция задач. Создает "папку" для групп команд. Нужна для систематизации команд, практической пользы не имеет.
Желтая папка - группа задач. Создает папку для самих команд. Помогает систематизировать команды. Вы можете активировать и деактивировать группы при необходимости. Как командами, так и вручную. Полезно, если вы создаете разные группы команд для разных программ или игр, например и не хотите их срабатывания вне нужной программы или игры.
Спик-облако с шестеренкой - команда. Ваш основной инструмент в работе.
Кавычки - выпадающий список для вставки нужного способа вызова команды.
2. Создание команды.
В самой команде вы описываете ТОЛЬКО то, что она выполняет. Все условия вызова команды указываются в окне редактора.
Ваши основные инструменты - это функции, их параметры, полезная нагрузка, циклы и алгоритмы.
Функции и их параметры вы можете изучить в мастере функций. Они удобно группированы и имеют подробное описание.
Полезная нагрузка.
При использовании списков, диапазонов или перечислений при вызове команды (см. соответствующее меню редактора), данные из них передаются в саму команду под видом полезной нагрузки.
Эти данные имеют индексацию от 1 до 10, передаются в том порядке, в котором были использованы и вызываются фигурными скобками {1}, {2}...{10}.
Например.
Команда: Таймер.
Фраза: Алиса, поставь будильник на
Диапазон: 0-23
Фраза: часов
Диапазон: 0-59
Фраза минут
Сама команда:
VC.SetEventTimer {1}:{2} Будильник
Генерируемое предыдущей командой событие "Будильник" будет запущено в {1} час, {2} минуты. Все, что выделено курсивом - это то, что вы должны произнести для запуска команды. Объясняю я, возможно путано, но уверяю, как только вы откроете окно редактора, вы сразу поймете, о чем я говорю.
Кроме того, в мастере заполнения параметров вы найдете другие виды полезной нагрузки, например, {LastResult}. Эта переменная содержит результат выполнения последней операции. Так же есть имена последних событий или команд, различные переменные времени и многое другое. Немаловажно, что полезная нагрузка актуальна только в пределах той команды, в которой создана. Для отправки этой нагрузки в другую команду, вам нужно будет передать ее в параметрах функции, а в самой команде нумерование произойдет уже в том порядке, в котором вы передадите данные из предыдущей команды.
На этом все на сегодня. Надеюсь, все более-менее понятно. Разумеется, готов ответить на все интересующие вопросы по теме поста в комментариях.
Следующий пост будет о картах, списках, событиях и полезной нагрузке. Предположительно, в среду.
Если у вас возникли идеи применения команды, но вы не знаете, как их реализовать, пишите в комментариях - подумаем вместе.