Comment fabriquer votre propre Google Home à la maison
Google Home est le moyen le plus facile d’avoir Google Assistant chez soi. L’inconvénient : il n’est pas disponible dans tous les pays, mais grâce à un Raspberry Pi 3 vous pouvez avoir Google Assistant installé dans votre salon, et même contrôler n’importe quel objet connecté à la Raspi rien qu’au son de votre voix.
Pour pouvoir utiliser Google Assistant sur notre Raspberry Pi 3, on va avoir besoin de hardware. Plus précisément, un micro et un haut-parleur pour pouvoir communiquer avec Google Assistant. Dans le MagPi (le magazine officiel de Raspberry Pi) de mai, il y avait un set inclus en partenariat avec Google, mais si vous ne l’avez pas, ce n’est pas un problème : on peut simplement le remplacer par des enceintes et un microphone USB. Voici toutes les étapes pour chacun des deux cas :
- Construire votre propre Google Home avec le AIY Voice Kit du MagPi
- Construire votre propre Google Home avec micro, haut-parleur et une Raspberry Pi 3
Construire votre propre Google Home avec le AIY Voice Kit du MagPi
Dans le numéro 57 du MagPi de mai 2017 (5,99 livres sterling), Google a offert un kit pour inciter les bricolos à faire leur propre Google Home. Le projet était baptisé AIY, soit l’association d’AI (Artificial Intelligence, soit intelligence artificielle) et DIY (acronyme de Do It Yourself, à faire soi-même).
1. Monter le kit AIY Project « made by you with Google »
Le kit inclus avec le MagPi est très simple à monter. Il suffit de suivre les instructions que vous trouverez dans le magazine ou sur le site de AIY Proyects. Je crois que le plus difficile dans mon cas, c’était l’étape de pliage du carton. Pour construire ce kit intelligent, Google nous propose :
- un circuit imprimé pour contrôler les micros et le bouton (Voice HAT)
- une carte fille équipée de deux micros
- un haut-parleur
- un bouton
- une LED
- le mécanisme pour le bouton
- des câbles pour connecter l’ensemble
- un carton qui contiendra le kit
En plus des composants inclus dans le kit il va falloir que vous vous procuriez en plus :
- un Raspberry Pi 3
- une carte microSD pour installer le système de contrôle
- un peu de ruban adhésif
- un tournevis cruciforme tailel P00.
Les instructions complètes pour monter le kit AIY sont disponibles sur le site officiel, mais on vous résume les étapes-clé ici.
Une fois tous les composants réunis, on va commencer à connecter le circuit imprimé, intitulé Voice HAT qui contrôle les microphones et le bouton, au Raspberry Pi 3 à l’aide des des deux entretoises en plastique. Ensuite, connectez les deux câbles du haut-parleur avec un tournevis (le rouge est positif, le noir négatif).
Connectez le reste des câbles au circuit. Puis il est temps de tout mettre dans le premier carton. Pliez-le en suivant les pointillés et glissez-y le haut-parleur en premier. Ensuite, introduisez la Raspberry Pi 3 couplée au Voice HAT. Montez le carton et glissez-y l’ensemble. Assurez-vous de garder le haut-parleur sur la partie du carton où sont les trous.
Puis il s’agit de fixer le bouton (dans ce cas, on a pris un bouton jaune). Tout d’abord, dévissez l’écrou en plastique noir, introduisez le bouton dans le trou du carton, puis revissez l’écrou. Puis montez le mécanisme d’activation de l’ampoule LED. Introduisez-le à l’intérieur du bouton et connectez les câbles en faisant attention à les mettre dans l’ordre correcte (rouge et bleu à l’extérieur ; noir et blanc au centre).
Enfin, connectez le circuit aux deux micros et collez-le sur la boîte en carton avec un peu de ruban adhésif. Prenez soin de placer les micros pour avoir une bonne entrée audio à travers les trous de la boîte. Une fois que tout est bien monté, le set est prêt pour l’installation du logiciel grâce à une carte microSD.
2. Installer le logiciel et configurer Raspbian pour utiliser Google Assistant
Pour installer le logiciel, on doit télécharger l’image du système et la transférer sur la carte microSD sur un PC.
- Téléchargez l’image du Voice Kit pour microSD
- Téléchargez le programme Etcher.oi pour PC
- Puis dézippez le dossier avec l’image (*.img) de l’OS pour la Raspberry Pi 3
- Introduisez la carte microSD dans le PC
- Ouvrez le programme Etcher, sélectionnez l’image, puis la carte, et appuyez sur « Flash »
- Une fois terminé, la carte microSD est prête pour être connectée sur la Raspberry Pi 3
Une fois le transfert flash fini, placez la carte sur la Raspi et on peut commencer l’utilisation. Pour initialiser la Raspberry Pi 3 avec le Voice Kit, on aura besoin d’un moniteur avec câble HDMI et d’un clavier avec souris. Branchez l’ensemble et allumez la Raspi.
La première initialisation du système peut durer plusieurs minutes. Raspberry Pi tourne sous une version de Debian spécialement customisée pour l’appareil, baptisée Raspbian. Debian est un des systèmes opérationnels les plus exhaustifs sur GNU/Linux, et des distributions aussi réputées qu’Ubuntu se basent sur Debian.
Une fois que le bureau est visible, on peut se connecter à notre réseau Wi-Fi sur la droite (entre les icônes du volume et du Bluetooth). Une fois connectés à Internet, ouvrez le navigateur et tapez cette URL : https://console.cloud.google.com/
On va vous demander d’entrer nos identifiants Gmail pour utiliser les services Google Cloud, parmi lesquels celui qui nous intéresse, Google Assistant. Rentrez votre e-mail et mot de passe pour accéder au service, qui est gratuit.
À partir de là, les étapes sont les suivantes :
- Créez un nouveau projet, par exemple en le nommant « Home Pi »
- Activez l’API de Google Assistant dans le projet dans API > Enable API > Google Assistant > Enabl
- Créez un nouveau credential dans Credentials > Create credentials > OAuth Client ID > Other (ajoutez un nom) > Create
- Il faut ensuite télécharger le credential sur la Raspberry Pi 3 à partir de la page de credentials des API de notre projet. Tout à droite de la credential que l’on vient de créer, se trouve une icône de téléchargement
- Copiez le dossier téléchargé de la fenêtre des téléchargements vers la fenêtre /home/pi et renommez-le en faisant un clic droit sur le dossier > rename pour celui de assistant.json
3. Parler à Google Assistant avec une Raspberry Pi 3
Pour démarrer Google Assistant avec la Raspberry Pi 3, ouvrez l’icône du terminal que l’on voit sur le bureau et tapez la commande suivante :
src/main.py.
La première fois que les commandes apparaissent, il est demandé les autorisations requises pour utiliser notre compte Google Cloud associé à notre adresse Gmail. Si tout s’est bien passé, on voit un écran qui nous recommande d’appuyer sur le bouton avant de parler. Pour sortir de l’application tapez CTRL+ avec la fenêtre du terminal actif. Maintenant, vous pouvez demander ce que vous voulez au kit en carton, qui renferme toutes les capacités de Google Assistant.
Pour régler le volume, vous n’avez qu’à le baisser avec l’icône sur le bureau à droite, ou de dire à Google Assistant « volume down ».
4. Activer Google Assistant à distant grâce à SSH depuis un autre appareil
On peut activer Google Assistant sur la Raspberry 3 sans avoir besoin d’un écran, d’un clavier/souris grâce au protocole SSH et notre smartphone. Pour activer le protocole SSH allez dans la configuration de votre Raspi dans Démarrage > Preferences > Raspberry Pi Configuration, puis dans l’onglet « Interfaces », activez la section SSH. On vous recommande aussi de changer le mot de passe par défaut de l’utilisateur Pi.
Depuis un smartphone, grâce à une application permettant les connexions SSH (ou Putty avec Windows), tapez l’IP local de la Raspberry Pi 3 et loggez-vous directement sur une console de commande avec notre nom d’utilisateur (par défaut, il s’appelle « Pi ») et le mot de passe (par défaut, c’est « raspberry »).
Vous pouvez connaître l’adresse IP locale de votre Raspi depuis l’icône de connexion sur le bureau, ou grâce à l’application Fing sur Android.
Une fois qu’on est connectés au centre de commandes de la Raspberry Pi 3 pour SSH, il faut maintenant taper les deux commandes suivantes pour initialiser le service Google Assistant :
- /home/pi/bin/voice-recognizer-shell.sh
- src/main.py
Construire son propre Google Home simplement avec un haut-parleur et une Raspberry Pi 3
Il n’y a pas besoin de posséder un AIY Voice Kit de la revue MagPi pour avoir l’opportunité de créer son propre Google Home. En réalité, vous avez seulement besoin d’un micro USB, deux haut-parleurs avec port mini-jack et une Raspberry Pi 3 (on peut aussi y connecter un bouton en option).
Je n’avais pas à disposition un micro USB, c’est pour cela que j’ai utilisé une vieille webcam qui avait un micro intégré.
Vous pouvez suivre les mêmes étapes pour installer le logiciel que j’ai détaillé plus haut, mais il faudra modifier certaines choses pour pouvoir utiliser notre propre hardware.
Premièrement. Modifiez le fichier /boot/config.txt en tapant la commande sudo nano /boot/config.txt. Ensuite, il s’agit de modifier la ligne où est inscrit #dtparam=audio=on en supprimant # et éditer les deux lignes suivantes, de façon à ce que le paragraphe soit comme ci-dessous.
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
#dtoverlay=i2s-mmap
#dtoverlay=googlevoicehat-soundcard
Ensuite, appuyez sur CTRL+X pour sortir et en gardant le même nombre.
Deuxièmement. Modifiez le dossier etc/asound.conf, là aussi depuis le terminal en tapant sudo nano/etc/asound.conf. Supprimez toutes les lignes et entrez le code suivant. Puis tapez CTRL+X pour sortir.
pcm.!default {
type asym
capture.pcm "mic"
playback.pcm "speaker" }
pcm.mic {
type plug
slave {
pcm "hw:1,0" } }
pcm.speaker {
type plug
slave {
pcm "hw:0,0" } }
Troisièmement. Dans cette étape, il faut réinitialiser la Raspberry Pi 3 et tester s’il reconnaît bien le micro et les haut-parleurs. Sur le bureau, il se trouve un dossier « Check audio » et si on double-clique dessus, on verra qu’il cherche le Voice HAT qu’on a pas : il faut donc le modifier. Tapez la commande sudo nano /home/pi/voice-recognizer-raspi/checkpoints/check_audio.py, et dans la ligne où est inscrit VOICEHAT_ID = ‘googlevoicehat’ remplacez-la par VOICEHAT_ID = ‘bcm2835’ , qui est le son par défaut de la Raspi. Puis faites CTRL+X pour sortir. Maintenant, vous pouvez tester le matériel et voir si tout fonctionne.
Quatrièmement. Si vous avez un bouton, vous pouvez le brancher au GPIO 23. Si vous ne l’avez pas, on va démarrer le service comme à la troisième étape avec une commande spéciale supplémentaire :
- python3 src/main.py -T clap
Avec cette commande, chaque fois que vous tapez dans les mains Google Assistant attendra votre réponse. Ensuite, vous pouvez aussi faire CTRL+C pour sortir, et bien sûr vous pouvez activer le service depuis un autre appareil grâce au SSH.
Conclusion
Comme vous pouvez le constater, avoir Google Assistant chez soi est plus facile qu’il n’y paraît. Vous n’avez besoin que d’un Raspberry Pi 3 et deux-trois composants supplémentaires. Le seul hic, c’est qu’il n’est disponible qu’en anglais, mais devrait être disponible en français dans le courant de l’été, et courant 2018, il sera intégré au SDK de Google Assistant que l’on utilise avec la Raspi.
Par défaut, l’assistant de Google est capable de répondre à toutes les requêtes que vous souhaitez, mais son potentiel ne s’arrête pas là. Vous pouvez aussi utiliser le pouvoir de l’intelligence artificielle pour, par exemple, contrôler un robot ou un miroir “magique” avec la voix et aussi faire des tâches plus compliquées de gestion avec IFTT. Mais pour ce faire, il faut créer ses propres scripts.
Et vous, vous risquerez-vous à adopter l’intelligence artificielle de Google ?
Bonjour, j'ai suivie le tuto et je n'ai pas main.py
Comment sa ce fait?
Bonjour, même problème je ne trouve pas main.py
Bonjour,
Merci pour ce tuto je testerai ça rapidement. J'ai cependant plusieurs questions.
Pour l'activation de la reconnaissance vocale, est-il possible de le faire par autre chose qu'on "clap"? Genre juste par un mot clé?
J'ai vu que certains couplaient google home avec Jeedom afin d'étendre la compatibilité du home avec plus d'appareils domotiques. Est-il possible de faire fonctionner à la fois google home et jeedom sur le même raspberry et de les faire "communiquer" ensembles?
Merci
Bonjour,
Est ce quelqu'un sait si une version française est sortie?
Merci
Hello All ^^
J'ai un petit problème, l'installation c'est bien déroulée, tout démarre correctement.
Mais lorsque j'active le "PI Home assistant" par un "clap" de main (je test le bouton pin 23 ce soir) , un message vocal me dit de d’exécuter Google Home sur mon téléphone pour terminer le setup.
Mais, Google Home ne détecte pas le "PI Home assistant", je ne peux donc pas réaliser l'operation.
Le Wifi du PI est actif et connecté au même réseau wifi que le téléphone, le portail de DEV Google remonte bien mes demandes -> les credentiels sont bons.
Des idées ?
Cordialement
A mon avis , il aurait été plus judicieux de transformé un vieux smartphones en Google home. Cela aurait été nettement plus économique... et moins compliquer😕
Un smartphone est donc un haut parleur…
Non mais on peut connecter (ou plusieurs😃) un haut parleur bluetooth avec c'est viables.
Récupérer un vieux Android et télécharger Google now , puis activée la détection de vois par les appareil bluetooth via les paramètres et activé la détection de vois en charge. Procurer vous une petite enceintes bluetooth équipé d'un micro , connecté le smartphone a l'enceinte et placé et placé la là ou vous voulez . Enfin branché le vieux smartphone a une prise pas trop loin de l'enceinte et c'est fini.
@rideau
Parce que pour toi Google Home est un hautparleur ?
@Aboubacar G.
Pas besoin de hautparleur puisque Google Home se met automatiquement en mode hautparleur...
Non bien sur ,il y a tout un système complexe derrière, mais qui peut facilement s'installer sur un appareil.
Pour la puissance bien sur☺,le son sur un haut parleur et souvent meilleur et plus fort que celui des smartphone.
@Wincro$oft
Oui, un haut-parleur intelligent.
Le kit fonctionne avec un autre assistant comme kalliope?
C'est plausible, mais étend donné que Google a spécialement adaptée son assistant pour qu'il puissent être monté dans le raspberry pi le plus simplement possible... ( et on voit le résultats😧) alors se sera plus difficile avec un autres assistant (mais pas impossible).
Ah ben oui ça parait nettement plus facile, mais non finalement ! :-)
Tu a essayé?
Non , pas le courage .