[JAVA] Jusqu'à ce que l'exemple de l'Assistant Google s'exécute sur Android Things

introduction

Cet article est un mémorandum lorsque j'ai essayé d'exécuter Android Things sur Raspberry Pi3 Model B. J'exécute dans un environnement où Android Studio 2.2 ou supérieur et les commandes ADB peuvent être utilisés.

Les choses nécessaires

Image d'écriture

Téléchargez et décompressez la dernière image de la page officielle. Puisqu'il s'agit d'environ 4 Go, le déploiement prendra un certain temps. Connectez la carte MicroSD à votre PC à l'aide d'un lecteur de carte ou autre. Il semble qu'il ne soit pas reconnu par la fente connectée au PC portable, etc. Dans ce cas, veuillez acheter un lecteur de carte. Suivez les étapes ici (https://www.raspberrypi.org/documentation/installation/installing-images/windows.md) pour installer Win32DiskImager et écrire l'image.

Paramètres du commutateur et des voyants

Assemblez le circuit en regardant l'image dans le README de sample-button. Cependant, comme l'échantillon de l'Assistant ne se déplace pas tel quel, changez le fil de la LED (ligne bleue dans l'image) en BCM25 (11e en haut à droite) et changez le fil du commutateur (ligne verte dans l'image) en BCM23 (en haut à droite). Veuillez passer au 8).

Lien

Connectez la carte SD, le câble HDMI, le câble LAN, le microphone USB et le haut-parleur au Raspberry Pi. Vérifiez à nouveau les circuits de l'interrupteur et des DEL et mettez l'appareil sous tension. Si l'écran de démarrage d'Android Things apparaît, cela signifie qu'il a réussi. L'adresse IP s'affiche à l'écran, essayez donc de vous connecter à partir d'un PC sur le même réseau. Démarrez une invite de commande et entrez le code suivant. > adb connect [adresse IP] Lorsqu'un message tel que Success s'affiche, la connexion est établie.

Paramètres WiFi du Raspberry Pi

Je vais également configurer le WiFi ici. C'est un appareil IoT, vous voulez donc le connecter sans fil de toute façon. Avec adb connect réussi à l'invite de commande > adb shell am startservice -n com.google.wifisetup/.WifiSetupService -a WifiSetupService.Connect -e ssid <Network_SSID> -e passphrase <Network_Passcode>

Pour vérifier la connexion, utilisez la commande suivante. > adb shell logcat -d | grep Wifi Il y a plusieurs choses, mais si le résultat suivant est affiché, il réussit. V WifiWatcher: Network state changed to CONNECTED V WifiWatcher: SSID changed: ... I WifiConfigurator: Successfully connected to ...

Exemple de clone de l'Assistant Google

Clonez le référentiel suivant à partir de Github. https://github.com/androidthings/sample-googleassistant Ensuite, nous configurerons Google Console en fonction de Read Me.

Créer un projet de console API Google

https://developers.google.com/assistant/sdk/prototype/getting-started-other-platforms/config-dev-project-and-account Suivez cette page pour configurer l'API Google.

  1. Créez un nouveau projet depuis ici. Entrez le nom du projet et appuyez sur OK.
  2. Accédez à la bibliothèque API et recherchez Assistant. Activez l'API de l'Assistant Google.
  3. Accédez à Informations d'identification et créez les informations d'identification. Créez un ID client OAuth. Saisissez uniquement le nom du service à afficher pour l'utilisateur sur l'écran de consentement Oauth. Définissez le type d'application sur autre, entrez un nom et enregistrez.
  4. Une boîte de dialogue apparaît, mais fermez-la.
  5. Cliquez sur le bouton de téléchargement (↓) à droite de la liste des ID client OAuth 2.0. Enregistrez l'Assistant Google dans le répertoire cloné avec le nom de fichier client_secret_ <client-id> .json.

Paramètres de gestion des activités

Pour utiliser l'Assistant, autorisez les activités des éléments suivants https://myaccount.google.com/activitycontrols Activez les éléments suivants

Installez google-auth-oauthlib

https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib Installez google-auth-oauthlib à l'aide de pip (le système de gestion de paquets de python). (Si vous n'avez pas installé Python, installez-le ici. Soit 2 ou 3 est OK) Démarrez l'invite de commande et entrez la commande suivante > pip install google-auth-oauthlib

Lancez Android Studio

Démarrez Android Studio et ouvrez le projet dans le répertoire dans lequel vous avez cloné Google Assistant. En outre, à ce moment, modifiez une ligne de code source sur Android Studio. Définissez la variable à la ligne 61 de app> java> AssistantActivity.java sur false. private static final boolean AUDIO_USE_I2S_VOICEHAT_IF_AVAILABLE = false; Après avoir apporté des modifications, enregistrez le fichier.

Travailler sur l'invite de commande

Faites du répertoire de travail de l'invite de commande un clone de Google Assistant et entrez la commande suivante. Pour client_secret_NNNN.json, spécifiez le fichier enregistré dans 5 de la création d'un projet de console API Google.

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

Le navigateur démarrera automatiquement et l'écran d'authentification apparaîtra, alors sélectionnez Autoriser. Vous pouvez fermer la page lorsque l'écran change.

Entrez ensuite la commande suivante. > gradlew assembleDebug > adb install -g app/build/outputs/apk/app-debug.apk Cela devrait réussir si le Raspberry Pi 3 est connecté. En cas d'échec, vérifiez la connexion avec ʻadb connect [adresse IP] `.

Enfin, exécutez (▶) dans Android Studio. L'application sera placée et lancée. Après avoir attendu un moment, appuyez sur l'interrupteur et parlez en anglais. Si vous obtenez une réponse, vous réussissez. Je vous remercie pour votre travail acharné.

Résumé

J'ai brièvement écrit ce que j'ai fait de zéro au déplacement de l'échantillon. Android Things contient peu d'informations japonaises, mais je pense que c'est un service attractif, car l'API de Google peut être utilisée sur les terminaux IoT. La réponse de l'assistant est rapide. Dans la prochaine étape, nous allons créer une application. Merci d'avoir lu jusqu'ici.

Recommended Posts

Jusqu'à ce que l'exemple de l'Assistant Google s'exécute sur Android Things
Scala s'exécute sur une JVM
[Android] Obtenez la date du lundi
Watson Assistant (anciennement Conversation) sur Android
Essayez d'utiliser le service sur Android Oreo
Exemple d'affichage des notifications (tête haute) sur Android
[Android] Obtenez la position tapée (coordonnées) sur l'écran
Jusqu'à ce que vous commenciez à développer des applications Android sur Mac
[Android] Liste tous les éléments de réglage sur l'écran de réglage
Jusqu'à ce que vous exécutiez l'exemple de code Apache Velocity