J’ai quelques vieux téléphones qui traînent – peu d’entre eux sont désormais entièrement fonctionnels. J’allais en jeter un quand j’ai réalisé que je pouvais remplacer le câblage intérieur par un Tarte aux framboiseset faites fonctionner l’Assistant Google dessus.
S’il est certainement plus facile d’appeler «hé google» dans toute la pièce, il y a quelque chose d’amusant à prendre le téléphone, à lui poser une question et à le faire répondre immédiatement. Voici comment installer l’Assistant Google sur un ancien téléphone à cadran avec un Raspberry Pi Zero.
Ce dont vous aurez besoin pour transformer un ancien téléphone en assistant Google
Comment installer l’Assistant Google sur un ancien téléphone
Cette Projet Raspberry Pi est assez vaste et peut prendre un peu de temps, je l’ai donc divisé en quatre parties distinctes:
- S’inscrire avec Google
- S’authentifier avec Google
- Câblage de votre téléphone
- Configurer l’assistant
S’inscrire avec Google
Avant d’utiliser un Raspberry Pi comme assistant Google, nous devons enregistrer l’appareil auprès de Google. Ce processus peut être un peu déroutant si vous n’avez jamais utilisé Google Cloud Platform auparavant, mais les étapes devraient être assez faciles à suivre.
1. Cloner ce référentiel à votre raspberry pi.
cd ~/
git clone https://github.com/rydercalmdown/google_assistant_telephone
2. Aller vers https://console.actions.google.com dans votre navigateur. Ce site nous permet de gérer les actions de l’Assistant Google et d’enregistrer des appareils personnalisés avec l’Assistant Google.
3. Cliquez sur «Nouveau projet» et remplissez les informations requises. Le nom n’a pas d’importance – choisissez simplement quelque chose dont vous vous souviendrez.
4. Dans un nouvel onglet, visite ce lien vers Google Cloud Platform, et confirmez que le nom du projet que vous venez de créer apparaît dans la barre supérieure – sinon, sélectionnez-le. Puis, cliquez sur le bouton « Activer » pour activer l’API.
5. Dans votre onglet d’origine, faites défiler vers le bas de la page et cliquez sur «Cherchez-vous l’enregistrement de l’appareil? Cliquez ici »
6. Sur la page suivante, cliquez sur «Enregistrer le modèle».
7. Remplissez les informations requises et copiez l’ID de modèle dans le fichier – vous en aurez besoin plus tard.
8. Cliquez sur Télécharger les informations d’identification OAuth 2.0 pour télécharger le fichier d’informations d’identification que votre Raspberry Pi utilisera pour faire des demandes.
9. Renommez le fichier téléchargé en oauth_config_credentials.json et transférez-le sur votre pi. Placez-le dans le dossier du référentiel que vous avez cloné à l’étape 1.
# Rename your downloaded file
cd ~/Downloads
mv your_unique_secret_file_name.json oauth_config_credentials.json
# Move the file into your repository
scp oauth_config_credentials.json pi@your_pis_ip_address:/home/pi/google_assistant_telephone
10. De retour dans le navigateur, après avoir téléchargé et renommé les informations d’identification, cliquez sur le bouton «Suivant».
11. Dans l’onglet « Spécifier les traits », cliquez sur « Enregistrer les traits » sans ajuster les paramètres pour terminer la configuration.
S’authentifier avec Google
Nous avons maintenant enregistré un appareil auprès de Google. Ensuite, il est temps d’authentifier cet appareil pour qu’il ait accès à notre compte Google et à notre assistant personnalisé.
1. Aller vers https://console.cloud.google.com/apis/credentials/consent en vous assurant que le projet correspond au nom que vous avez choisi à l’étape 3 de «Inscription auprès de Google».
2. Sélectionnez «Externe» et cliquez sur le bouton « Créer ».
3. Remplissez un nom d’application. Encore une fois, cela n’a pas vraiment d’importance – mais pour rester simple, j’ai choisi le même nom qu’avant.
4. Sélectionnez votre adresse e-mail dans la liste déroulante de l’e-mail d’assistance utilisateur. C’est au cas où des utilisateurs de votre application auraient besoin de vous contacter, mais comme nous ne rendrons pas l’application publique, il n’y a pas lieu de s’inquiéter.
5. Ajoutez ce même e-mail sous « Coordonnées du développeur » et cliquez sur « Enregistrer et continuer ».
6. Sur la page suivante, cliquez sur Ajouter ou supprimer des étendues pour afficher la barre latérale des étendues.
7. Recherchez « Google Assistant API » dans la barre de recherche, et vérifier la portée / auth / assistant-sdk-prototype. Puis cliquez sur mettre à jour, suivi de «Enregistrer et continuer» au bas de la page.
8. Sur la page suivante, cliquez sur « Enregistrer et continuer » pour ignorer les informations facultatives.
9. Une fois la configuration terminée, cliquez sur « Écran de consentement OAuth » dans la barre latérale pour actualiser la page – puis « Ajouter un utilisateur » sous Utilisateurs de test.
dix. Ajoutez l’adresse e-mail de votre compte Google, et cliquez sur enregistrer.
11. Ensuite, sur votre pi, accédez au référentiel téléchargé et exécutez la commande suivante:
cd ~/google_assistant_telephone
make authenticate
12. Suivez le lien qu’il vous donne et terminer le processus d’authentification dans votre navigateur. Une fois le processus terminé, copiez le code et collez-le dans votre terminal.
13. En cas de succès, vous verrez un message indiquant «informations d’identification enregistrées:» suivi d’un chemin d’accès aux informations d’identification. Utilisez ce chemin pour déplacer les informations d’identification dans le répertoire actuel. Transférez ces informations d’identification dans le répertoire racine de votre référentiel
# credentials saved: /Users/test/Library/Application Support/google-oauthlib-tool/credentials.json
mv /Users/test/Library/Application Support/google-oauthlib-tool/credentials.json /home/pi/google/assistant/telephone/credentials.json
Câblage de votre téléphone rotatif avec Raspberry Pi
En fonction de votre téléphone à cadran, ce processus varie considérablement. Ce sont les étapes que j’ai utilisées, mais cela nécessitera probablement un peu d’essais et d’erreurs de votre part. Assurez-vous d’utiliser un téléphone dont vous ne vous souciez pas, car il ne pourra plus fonctionner normalement après cela.
1. Retirez le couvercle du téléphone. Vous devrez peut-être desserrer une vis en bas.
2. Trouvez et dénudez les fils connectés au crochet commutateur. Nous connecterons ces fils aux broches GPIO du pi pour déterminer si le récepteur a été récupéré ou déposé.
3. Connectez les fils de l’interrupteur à crochet à la broche 18 de la carte GPIO et à la masse. Vous devrez peut-être souder les fils de l’interrupteur à crochet aux fils de cavalier pour les connecter plus facilement, ou simplement les attacher avec un peu de ruban isolant.
4. Connectez votre adaptateur audio USB au Raspberry Pi Zero. Vous aurez besoin d’un adaptateur USB-micro vers USB-A femelle pour ce faire.
5. Souder le microphone et le haut-parleur du combiné à deux câbles séparés de 3,5 mm. Ceux-ci transporteront le signal du pi vers le haut-parleur et du microphone vers le pi. Vous devriez pouvoir les connecter dans le boîtier du téléphone et utiliser le cordon d’origine du combiné. Cela prendra un peu d’essais et d’erreurs pour déterminer quels fils appartiennent au haut-parleur et lesquels au microphone.
6. Connectez les câbles 3,5 mm à l’adaptateur audio USB être attentif à les connecter dans le bon ordre.
7. Rentrez le pi dans le téléphoneet fermez le capot ou laissez-le ouvert pendant que vous déboguez la configuration de l’assistant. Exécutez l’adaptateur secteur connecté au pi à l’arrière du boîtier où irait le fil téléphonique d’origine.
Configuration de l’assistant
1. Exécutez le script d’installation. Il prendra en charge les exigences de base et python. Si vous avez un Raspberry Pi Zero, le le processus de compilation peut prendre des heures et apparaîtra coincé sur une étape d’installation de grpc (il se déplace juste très lentement). Je recommanderais de le laisser fonctionner toute la nuit.
cd google_assistant_telephone
make install
2. Configurez votre audio USB en exécutant la commande suivante. Il se chargera de modifier la configuration de votre alsamixer, de définir votre carte USB comme sortie audio par défaut et de régler les volumes du haut-parleur et du microphone.
make configure-audio
3. Testez et ajustez vos volumes en exécutant la commande suivante, en parlant et en écoutant via le combiné de votre téléphone. Si votre volume n’est pas assez élevé sur votre microphone ou haut-parleur, réglez-le avec la commande alsamixer.
# Run, speak something into the microphone, and listen
make test
# Set volumes
alsamixer
4. Exportez votre ID de projet à une variable d’environnement. Vous pouvez récupérer votre ID de projet en visiter cette URL, en sélectionnant votre projet, en cliquant sur les trois points à côté de votre photo de profil en haut à droite, puis en cliquant sur « Paramètres du projet »
export PROJECT_ID=your-project-id
5. Exportez votre identifiant de modèle des étapes Inscription auprès de Google à une variable d’environnement.
export DEVICE_MODEL_ID=your-model-id-from-the-earlier-steps
6. Exécutez la commande make run. Il se chargera de l’enregistrement de ce périphérique et de la sauvegarde de la configuration sur le disque afin que vous n’ayez plus besoin des variables d’environnement à l’avenir.
make run
7. Testez votre assistant en décrochant le téléphone et en lui posant une question simple, comme «Quelle est la capitale du Canada?» Si tout se passe bien, vous verrez des journaux dans le terminal et l’assistant répondra. Pour poser une autre question, raccrochez le combiné et reprenez-le.
8. Enfin, exécutez la commande suivante pour configurer l’assistant pour qu’il s’exécute au démarrage.
make configure-on-boot