Создание ИИ-помощника на базе Android Things

Google искусственный интеллект Android Интернет вещей

Создание ИИ-помощника на базе Android Things

Как создать простого ИИ-помощника на основе IoT?

https://wx1.sinaimg.cn/large/8f2eb073gy1fpeh5buzr3j20rs07itbj.jpg

программное обеспечение

  • Android Studio3.0
  • Android Things
  • Google Assistant SDK

аппаратное обеспечение

В настоящее время Android Things поддерживает следующие доски:

image

В этой статье мы выберемNXP Pico i.MX7D как наша доска развития.

image

Подготовить

Сначала вам нужно сделать следующие два шага:

  • соединятьNXP Pico i.MX7D различные компоненты
  • Установите Android Things на доску

Компоненты соединения

Вы можете установить его в соответствии с официальной документацией, предоставленной Google:developer.Android.com/things/hard…. Когда мы закончим установку, красивая плата будет выглядеть так:

image

Установите образ Android Things

После установки платы нам необходимо установить на плату образ Android Things.

image

Официальная документация по установке:developer.Android.com/things/hard…

Если вы не можете получить доступ к китайскому языку или предпочитаете его, вы можете посмотреть видео инженера по продвижению Google:V.Youku.com/V_show/ID_X…

Создайте приложение

Создать новый проект

Создать проект Android Things очень просто:

  • Откройте Android Studio и выберите «Начать новый проект Android Studio».
  • Установите флажок «Android Things» на панели «Целевые устройства Android».

image

  • В данном случае нам нужен UI, поэтому выбираемAndroid Things Empty Activity

image

  • Выбираем next до упора, и, наконец, наш проект создан.

Проекты Android Things отличаются от обычных проектов Android несколькими способами:

  • Добавлена ​​библиотека Android-вещей в build.gradle:
compileOnly 'com.google.android.things:androidthings:+'
  • Файл манифеста добавляет два пункта:
  1. Увеличиватьintent filterдля обработки IOT_LAUNCHER

image

Подробные официальные документы находятся по адресу:developer.Android.com/things/ Он любит…. Проще говоря,IOT_LAUNCHERИспользуется для указания того, что должно запускаться на устройстве IoT. Мероприятия,uses-libraryУказывает, что библиотеки, связанные с Android Things, гарантированно доступны во время выполнения.

Построить привет мир

После выполнения вышеизложенного создание программы пользовательского интерфейса Hello World для Android Things ничем не отличается от создания обычной программы для телефона/планшета. В этом примере мы добавляем кнопку в Activity, которая будет всплывать после нажатияHello Worldнамекать.

После написания подключите макетную плату к компьютеру через USB, и мы сможем установить наш проект на макетную плату так же, как запускаем программу для Android.

image

Простой проект ИИ

С предыдущим фундаментом мы можем сделать еще один шаг и создать помощника ИИ. Этот проект требует следующих шагов:

  • предыдущие этапы подготовки
  • Стандартные наушники или колонки с микрофоном.

проект инициализации

Клонируйте следующий репозиторий на свой компьютер:

GitHub.com/say magic/say…

Добавить API Google Ассистента

это здесьнет аккаунта account.Google.com/activity con…Функции, необходимые для включения Ассистента:

  • Web & App Activity (Активность в Интернете и приложениях), необходимо包含 Chrome 浏览记录以及在使用 Google 服务的网站和应用中的活动数据(Include Chrome browsing history and activity from websites and apps that use Google services)проверить
  • Запись информации об устройстве
  • Голосовая и звуковая активность

Следующий:

image

  • Включить для элемента, выбранного вышеGoogle Assistant API
  • Нажмите, чтобы включить

image

  • Создать идентификатор клиента OAuthconsole.developers.Google.com/APIs/CR Эдем…
  • Нажмите «Другое» и дайте идентификатору клиента имя.
  • image
  • На странице аутентификации (OAuth) Unity дайте продукту имя. (не включая Google)

image

  • Щелкните Создать. Появится всплывающее окно для идентификатора клиента и секрета. (Не нужно запоминать, просто закройте всплывающее окно)

image

  • Нажмите кнопку ⬇, чтобы загрузить файл JSON с идентификатором клиента и секретом. (client_secret_NNNN.json или client_id.json).

image

  • Откройте локальный терминал со средой Python и установитеgoogle-auth-oauthlib, команда такая:
pip install google-auth-oauthlib[tool]
  • Перейти в корневой каталог проекта
  • Скопируйте только что загруженный файл client_secret_NNNN.json в корневой каталог проекта. Выполните следующую команду:
google-oauthlib-tool --client-secrets client_secret_NNNN.json \ --credentials app/src/main/res/raw/credentials.json \ --scope https://www.googleapis.com/auth/assistant-sdk-prototype \ --save
  • Теперь проект будет работать нормально. Нажмите кнопку на экране, и устройство начнет запись.

Когда запись закончится, звук будет отправлен в Google Assistant API, и мы получим звук обратной связи Google. Поскольку мы связали службу с нашей учетной записью Google, мы даже можем позволить ей добавлять события в наш календарь или получать другую информацию, рассказывать анекдоты, узнавать погоду и многое другое. Вот полный список:

Woohoo.Android авторитет.com/Google-home…

image

Расширенный материал

Dave SmithСуществует очень качественное введение в AndroidThings. Если вам интересно, что такое Android Things, как представить Android Things другим и т. д., я рекомендую ее прочитать.

image

Rebecca FranksиWayne PiekarskiНа GDD есть очень хорошее введение в Android Things.

image

image

Стоит упомянуть, что я также встретился с самим Уэйном Пекарски в выставочном зале Android Things на конференции IO в этом году, Он очень красиво представил несколько моделей Google Android Things, в том числе роботизированную руку, которая может играть в камень-ножницы-бумага, интегрированные боты TensorFlow и более.


просто оглядываюсь

Анализ нескольких моделей безопасности потоков

Изучите несколько вопросов о файлах классов

Понимание потоковой модели RxJava

Задачи и стеки возвратов в Android

Общая конфигурация Nginx