[JAVA] Bis das Google Assistant-Beispiel auf Android Things ausgeführt wird

Einführung

Dieser Artikel ist ein Memorandum, als ich versuchte, Android Things auf Raspberry Pi3 Model B auszuführen. Ich arbeite in einer Umgebung, in der Android Studio 2.2 oder höher und ADB-Befehle verwendet werden können.

Dinge notwendig

Bild schreiben

Laden Sie das neueste Bild von der [offiziellen Seite] herunter und entpacken Sie es (https://developer.android.com/things/hardware/raspberrypi.html). Da es sich um 4 GB handelt, dauert die Bereitstellung einige Zeit. Schließen Sie die MicroSD-Karte mit einem Kartenleser oder Ähnlichem an Ihren PC an. Es scheint, dass es möglicherweise nicht an dem Steckplatz erkannt wird, der an den Notebook-PC usw. angeschlossen ist. In diesem Fall kaufen Sie bitte einen Kartenleser. Befolgen Sie die Schritte hier (https://www.raspberrypi.org/documentation/installation/installing-images/windows.md), um Win32DiskImager zu installieren und das Image zu schreiben.

Schalter- und LED-Einstellungen

Bauen Sie die Schaltung zusammen, während Sie das Bild in der README-Datei von sample-button betrachten. Da sich das Assistant-Beispiel jedoch nicht so bewegt, wie es ist, ändern Sie das LED-Kabel (blaue Linie im Bild) in BCM25 (11. von oben rechts) und das Schaltkabel (grüne Linie im Bild) in BCM23 (von oben rechts). Bitte wechseln Sie zu 8.).

Verbindung

Schließen Sie die SD-Karte, das HDMI-Kabel, das LAN-Kabel, das USB-Mikrofon und den Lautsprecher an den Raspberry Pi an. Überprüfen Sie den Schalter und die LED-Schaltkreise erneut und schalten Sie die Stromversorgung ein. Wenn der Startbildschirm von Android Things angezeigt wird, ist er erfolgreich. Die IP-Adresse wird auf dem Bildschirm angezeigt. Versuchen Sie daher, eine Verbindung von einem PC im selben Netzwerk herzustellen. Starten Sie eine Eingabeaufforderung und geben Sie den folgenden Code ein. > adb connect [IP-Adresse] Wenn eine Meldung wie Erfolg angezeigt wird, ist die Verbindung hergestellt.

Raspberry Pi WiFi-Einstellungen

Ich werde hier auch WiFi einrichten. Da es sich um ein IoT-Gerät handelt, möchten Sie es trotzdem drahtlos verbinden. Mit adb connect erfolgreich an der Eingabeaufforderung > adb shell am startservice -n com.google.wifisetup/.WifiSetupService -a WifiSetupService.Connect -e ssid <Network_SSID> -e passphrase <Network_Passcode>

Verwenden Sie den folgenden Befehl, um die Verbindung zu überprüfen. > adb shell logcat -d | grep Wifi Es gibt verschiedene Dinge, aber wenn das folgende Ergebnis angezeigt wird, ist es erfolgreich. V WifiWatcher: Network state changed to CONNECTED V WifiWatcher: SSID changed: ... I WifiConfigurator: Successfully connected to ...

Google Assistant-Beispielklon

Klonen Sie das folgende Repository von Github. https://github.com/androidthings/sample-googleassistant Folgen Sie als Nächstes ReadMe, um Google Console einzurichten.

Erstellen eines Google API-Konsolenprojekts

https://developers.google.com/assistant/sdk/prototype/getting-started-other-platforms/config-dev-project-and-account Folgen Sie dieser Seite, um die Google-API einzurichten.

  1. Erstellen Sie ein neues Projekt von hier. Geben Sie den Projektnamen ein und drücken Sie OK.
  2. Gehen Sie zur API-Bibliothek und suchen Sie nach Assistant. Aktivieren Sie die Google Assistant-API.
  3. Gehen Sie zu Anmeldeinformationen und erstellen Sie die Anmeldeinformationen. Erstellen Sie eine OAuth-Client-ID. Geben Sie nur den Dienstnamen ein, der dem Benutzer auf dem Oauth-Zustimmungsbildschirm angezeigt werden soll. Setzen Sie den Anwendungstyp auf "Andere", geben Sie einen Namen ein und speichern Sie.
  4. Ein Dialogfeld wird angezeigt, aber schließen Sie es.
  5. Klicken Sie auf die Download-Schaltfläche (↓) rechts neben der OAuth 2.0-Client-ID-Liste. Speichern Sie den Google-Assistenten im geklonten Verzeichnis mit dem Dateinamen "client_secret_ .json".

Einstellungen für das Aktivitätsmanagement

Um den Assistenten zu verwenden, lassen Sie folgende Aktivitäten zu https://myaccount.google.com/activitycontrols Aktivieren Sie die folgenden Elemente

--Web- und App-Aktivität

Installieren Sie google-auth-oauthlib

https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib Installieren Sie google-auth-oauthlib mit pip (dem Paketverwaltungssystem von Python). (Wenn Sie Python nicht installiert haben, installieren Sie es hier. Entweder 2 oder 3 ist in Ordnung.) Starten Sie die Eingabeaufforderung und geben Sie den folgenden Befehl ein > pip install google-auth-oauthlib

Starten Sie Android Studio

Starten Sie Android Studio und öffnen Sie das Projekt in dem Verzeichnis, in das Sie Google Assistant geklont haben. Ändern Sie zu diesem Zeitpunkt auch eine Zeile des Quellcodes in Android Studio. Setzen Sie die Variable in Zeile 61 von app> java> AssistantActivity.java auf false. private static final boolean AUDIO_USE_I2S_VOICEHAT_IF_AVAILABLE = false; Speichern Sie die Datei, nachdem Sie Änderungen vorgenommen haben.

Arbeiten an der Eingabeaufforderung

Machen Sie das Arbeitsverzeichnis der Eingabeaufforderung zu einem Klon von Google Assistant und geben Sie den folgenden Befehl ein. Geben Sie für "client_secret_NNNN.json" die Datei an, die in Abschnitt 5 "Erstellen eines Google API-Konsolenprojekts" gespeichert ist.

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

Der Browser wird automatisch gestartet und der Authentifizierungsbildschirm wird angezeigt. Wählen Sie daher Zulassen. Es ist in Ordnung, die Seite zu schließen, wenn sich der Bildschirm ändert.

Geben Sie dann den folgenden Befehl ein. > gradlew assembleDebug > adb install -g app/build/outputs/apk/app-debug.apk Es sollte erfolgreich sein, wenn der Raspberry Pi 3 angeschlossen ist. Wenn dies fehlschlägt, überprüfen Sie die Verbindung mit "adb connect [IP-Adresse]".

Führen Sie abschließend (▶) in Android Studio aus. Die App wird platziert und gestartet. Nachdem Sie eine Weile gewartet haben, drücken Sie den Schalter und sprechen Sie Englisch. Wenn Sie eine Antwort erhalten, sind Sie erfolgreich. Danke für deine harte Arbeit.

Zusammenfassung

Ich schrieb kurz auf, was ich von Grund auf getan habe, um die Probe zu bewegen. Android Things enthält nur wenige japanische Informationen, aber ich denke, es ist ein attraktiver Dienst, da die Google-API auf IoT-Terminals verwendet werden kann. Die Antwort des Assistenten ist schnell. Im nächsten Schritt erstellen wir tatsächlich eine App. Vielen Dank, dass Sie so weit gelesen haben.

Recommended Posts

Bis das Google Assistant-Beispiel auf Android Things ausgeführt wird
Scala läuft auf einer JVM
[Android] Holen Sie sich das Datum von Montag
Watson Assistant (ehemals Conversation) auf Android
Versuchen Sie, den Dienst auf Android Oreo zu verwenden
Beispiel für die Anzeige von (Head-up-) Benachrichtigungen auf Android
[Android] Ermittelt die getippte Position (Koordinaten) auf dem Bildschirm
Bis Sie anfangen, Android-Apps auf dem Mac zu entwickeln
[Android] Listet alle Einstellungselemente auf dem Einstellungsbildschirm auf
Bis Sie den Apache Velocity-Beispielcode ausführen