Рубрики
Без рубрики

Светодиоды с Google Home

Недавно я попробовал экспериментировать с Google Home, пытаясь озвучить светодиоды. … Помечено IoT, Python, Glowleds, GoogleHome.

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

  1. Пользовательская команда, которая делает запрос на веб -пост для получения результата.
  2. Простое приложение Flask, которое может получать запрос POST с параметрами и светиться некоторые светодиоды на основе данных запроса POST.

Для первой части пользовательские команды были возможны благодаря Google Actions API Анкет Я использовал Api.ai Для моей цели, так как у них была хорошая документация. Я не буду вдаваться в подробности, объясняя поля формы в Api.ai Они проделали хорошую работу с документацией и объяснением части, я просто поделюсь своим скриншотом конфигураций для быстрой ссылки и понимания. В api.ai разговоры разбиты на намерения. Я использовал одно намерение (по умолчанию приветственное намерение) и последующее намерение (по умолчанию приветственное намерение – пользовательский) для моего приложения.

Вот мое первое намерение, которое в основном приветствует пользователя и просит светодиодный цвет, когда пользовательская команда “свечительные светодиоды” активируется.

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

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

Здесь ожидаемый Пользователь говорит был бы цвет (красный, синий, зеленый) – это то, что Я разрешил. В Api.ai вы можете использовать их ML для обработки речи и найти необходимые параметры и значения. Мне нужны цвета, следовательно, использовались @sys.color. Это другие сущности, такие как @sys.address или @sys.flight и т. Д. Если эти сущности не служат вашей цели, вы можете пойти в ваниль и обработать речь в своем конце веб-апи. Более поздняя часть последующего намерения немного отличается, мы выполняем запрос пользователя через веб-клетку здесь. Здесь Ответ Является ли резервный ответ, если веб-запрос не удастся, ответ успех получен из тела ответа на веб-клетку.

Опция выполнения не будет активирована, пока вы не добавите свой веб -крючок в Выполнение раздел. Это все для первой части. Также вы можете использовать Google Web Simulator Чтобы проверить ваше приложение на ходу.

Во второй части я использовал Raspberry Pi, 3 светодиода (красный, синий, зеленый), резистор 1 км ом несколько проводов, макет (необязательно) и плату T-Cobbler (необязательно). Теперь мы напишем приложение Flask, которое примет запрос POST и включите требуемый вывод GPIO PIN -контакт High/Low.

Вы можете проверить с помощью запроса и структуры ответа, которые вам нужны от документов API.ai. Далее это приложение получает звонки от api.ai Webhook и это запускает целевой светодиод в зависимости от ResolvedQuery. Приведенный выше код был записан так, чтобы я мог тестировать локально с помощью запросов GET. Я использовал pagekite.net Туннель и разоблачить мое применение колбы на внешний мир. Ниже приведена схема подключений.

Ниже приведен результат,

Еще несколько чтений:

  1. https://arstechnica.com/gadgets/2016/12/google-assistant-api-launches-today-so-we-tested-some-custom-voice-commands/
  2. https://docs.api.ai/docs/actions-on-google-integration
  3. https://developers.google.com/actions/develop/conversation
  4. https://developers.google.com/actions/develop/apiai/tutorials/getting-started
  5. https://developers.google.com/actions/samples/
  6. https://docs.api.ai/docs/webhook
  7. https://docs.api.ai/docs/concept-intents#user-says

Оригинал: “https://dev.to/_no_rules_/glow-leds-with-google-home-9mh”