Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Из этого руководства вы узнаете, как подключить приложение Android к серверу AWS IOT и понять API распознавания голоса, который управляет кофемашиной.
Приложение управляет кофемашиной с помощью голосовой службы Alexa, каждый компонент приложения и голосовые команды запускают различные навыки, созданные в AWS путем публикации в темах AWS IOT.
Требования:
- Базовые знания о разработке под Android, учитывая, что базовый код прилагается к этому руководству, но необходимо внести некоторые изменения, чтобы адаптироваться к учетной записи пользователя и некоторым параметрам.
- Активная учетная запись AWS.
Этот проект разделен на 2 этапа: подготовка среды с приложением Android Studio и обмен данными с сервером AWS IOT и понимание функции распознавания голоса.
Шаг 1. Подготовка среды с помощью приложения Android Studio и обмен данными с сервером AWS IOT
На этом шаге используется код приложения Android, уже настроенный в этом руководстве, но необходимо установить и настроить инструмент Android Studio. Чтобы скачать его, нажмите на эту ссылку и следуйте инструкциям в официальной документации.
Чтобы самостоятельно создать приложение Android Studio и подключиться к серверу AWS IOT, ознакомьтесь с этим руководством.
Теперь, чтобы использовать доступный здесь исходный код, выполните следующие действия:
- Загрузите код кофемашины, доступный в конце этого шага.
- Откройте Android Studio Tool.
- Щелкните «Импортировать проект (Eclipse ADT, Gradle и т. Д.)».
- Выберите загруженный код из первой темы.
Чтобы изменить приложение и включить связь AWS IOT:
- Выберите Android в опции структуры в левой верхней части окна.
- Откройте файл «AWS Connection», доступный по этому пути: app / java / cafeteira.com.cafeteira / Controller.
- Найдите следующие переменные: CUSTOMER_SPECIFIC_ENDPOINT, COGNITO_POOL_ID, AWS_IOT_POLICY_NAME и MY_REGION.
- Установите их в соответствии с вашей учетной записью AWS после настройки пула удостоверений с помощью Amazon Cognito.
Связь приложения с сервером AWS IOT осуществляется через темы, которые работают как каналы связи. По этой тематике происходит подписка и публикации, которые отвечают за контроль и мониторинг состояния различных типов устройств IOT. В этом примере приложение подписывается и публикуется в следующих темах, которые находятся в файле «Константы» (app / java / cafeteira.com.cafeteira / Controller): TOPIC_TURN_ON_OFF, TOPIC_SHORT_COFFE, TOPIC_LONG_COFFE, TOPIC_LEVEL_COFFEE, TOPIC_LEVEL_DATE, TOPIC_LEVEL_GATER_.
В этом примере темы контролируют и контролируют кофемашину.
Шаг 2. Знакомство с функциями распознавания голоса
Функция распознавания голоса заключается в преобразовании голосовых команд пользователя в текст и отправке их на сервер AWS IOT. Эта функция преобразования обеспечивается API Google с именем SpeechRecognizer. Для его использования необходимо импортировать класс SpeechRecognizer (документация здесь). Этот класс уже импортирован в исходный код из шага 1.
Распознавание голоса активируется нажатием кнопки речи (изображение микрофона), на которую указывает кнопка изображения mSpeechButton.
Обработка команды находится в событии onActivityResult, которое принимает голос пользователя, преобразуется в текст и затем выбирает, какой компонент будет активирован. В этом примере: когда пользователь говорит «Включите кофемашину», приложение включает переключатель, который управляет мощностью кофемашины. Включив его, приложение публикует в теме AWS IOT сообщение («1»), указывающее, что кофеварка должна быть включена.
Шаг 3: Заключение
После этих шагов приложение готово для подключения к AWS IOT, публикации и подписки на темы с помощью голосовых команд и компонентов пользовательского интерфейса.
Если у вас есть какие-либо сомнения по поводу сертификатов или приложения, перейдите по следующим ссылкам:
- AWS IOT Android SDK
- Сертификаты AWS IOT