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

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

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

Итак, если вы ищете способ развить навык с голосовой поддержкой Alexa, то вы попали в нужное место!
Давайте создадим навык Amazon Alexa с нуля, используя Node Server и сервис функций Lambda AWS.

Сначала зарегистрируйте учетную запись разработчика Amazon, если у вас ее нет.

Перейдите на страницу разработчика Alexa.

Затем перейдите в консоль Alexa.

Нажмите создать навык.

Дайте название навыку, я назвал свой как employeeinfo и нажмите Далее.

Выберите модель, чтобы повысить свои навыки. Я выбрал для своих экспериментов собственный.

Нажмите Создать навык.

Таким образом вы попадете на панель управления навыками Alexa.

Укажите имя вызова. Я назвал его run employeeinfo и нажимаю Сохранить модель.

Нажмите Конечная точка.

Теперь нам нужно предоставить конечную точку для консоли Alexa. Но перед этим нам нужно настроить конечную точку.

Для настройки конечной точки нам нужно использовать сервис функций AWS Lambda, чтобы добраться туда.

Нажмите «Создать функцию», чтобы создать свою собственную лямбда-функцию.

После щелчка вы увидите, что ваша конечная точка создается в правом углу панели инструментов как ARN.

Скопируйте и вставьте ARN в раздел «Lambda Endpoint» консоли Alexa.
Нажмите «Сохранить конечную точку».

Создание узла-сервера

Создайте сервер, который может принимать запросы POST в местоположении по умолчанию, то есть «/».

Существует так много методов создания сервера, что я лично предпочитаю Node.

Я предполагаю, что у вас уже установлен код Node, NPM и Visual Studio.

Для конкретных требований этого руководства мы создадим приложение узла Hello World, выполнив шаги, указанные ниже:

  • Запустите npm init на терминале. Вам будет предложено предоставить пакет
  • Следуйте указаниям мастера терминала в файле package.json.
  • Запустите npm i express http - save, и это добавит следующую запись в файл package.json:

»Зависимости»: {
«экспресс»: «4.16.3»,
«sql»: «0.0.2»
}

  • Установите значение index.js основного ключа в файле package.json.
  • Добавьте файл index.js на том же уровне
  • Добавьте следующий код в файл index.js:

const express = require ('express');
const app = express ();
app.post ('/', (req, res) = ›
res.send ({< br /> версия: '1.0',
ответ: {
shouldEndSession: false,
outputSpeech: {
тип: 'SSML',
текст: 'Hello World ! ',
ssml:' ‹speak› Hello World! ‹/speak› '
}
}
}));
app.listen (8080, ( ) = ›Console.log ('Пример приложения, прослушивающего порт 8080!'));

  • Задайте для скриптов значение {«start»: «node index.js»}
  • Запустите npm start на терминале
  • Если все в порядке, вы должны увидеть следующее приглашение:

Нажмите на редактор JSON и укажите следующую модель:
{
«InteractionModel»: {
«languageModel»: {
«invocationName»: «employeeinfo»,
« намерения »: [
{
« имя »:« AMAZON.FallbackIntent »,
« образцы »: []
},
{
« имя »:« AMAZON.CancelIntent »,
« samples »: [
« ya »,
« Yups »,
« yes »,
« я ошибся ввод »,
« я хочу узнать что-то еще »,
« я хочу узнать что-то еще »,
« я хочу что-то еще »,
]
},
«имя»: «AMAZON.PauseIntent»,
«образцы»: []
},
],
«образцы»: [
«Могу ли я узнать информацию о {empname}»,
«я хочу узнать информацию о {empname}»,
«могу ли я получить всю информацию о {empname}»,
«могу я знаю о {empname} »,
« я хочу знать о {empname} »,
« я хочу знать полную информацию о {empname} »
]
} < br />],

Нажмите Сохранить модель, а затем - Построить модель.

Как только модель навыков построена, нам нужно ее протестировать. Перейдите на вкладку Тест и установите переключатель в положение ВКЛ, «Тест включен для этого навыка».

Вот и все, вы создали навык Alexa, связанный с вашей функцией Lambda на AWS.

Этот пост написан на основе документации портала разработчиков AWS.

Если у вас есть вопросы, оставьте свои комментарии ниже.