Les assistants vocaux comme Google Home ou Amazon Alexa ont envahi nos foyers, contrôlant éclairages, médias et bien plus. Bonne nouvelle : vous pouvez reproduire cette technologie chez vous avec un Raspberry Pi ! Ce guide détaillé, basé sur le SDK officiel de Google, vous explique comment installer l'Assistant Google sur votre Pi et contrôler une LED via les broches GPIO par commandes vocales.
Ce tutoriel s'appuie sur des ressources officielles Google pour une mise en œuvre fiable et sécurisée. Assurez-vous de respecter les conditions d'utilisation de Google.

Liste du matériel :
Note : Utilisez des périphériques compatibles Raspberry Pi (listes disponibles en ligne). J'ai testé avec une webcam USB pour son micro et la sortie jack 3,5 mm. HDMI nécessite des ajustements audio.
Branchez le micro/haut-parleur et montez le circuit LED si souhaité.
Travaillez directement sur le Pi ou via SSH. Dans le terminal, listez les périphériques :
arecord -l
aplay -l
Notez les numéros de carte/périphérique (ex. : carte 1, device 0 pour webcam).
Dans /home/pi, créez .asoundrc :
sudo nano .asoundrcAdaptez selon vos périphériques (ex. priorisez HDMI si besoin). Exemple de contenu (ajustez les numéros) :
pcm.!default {
type asym
playback.pcm {
type plug
slave.pcm "hw:1,0" # Haut-parleur
}
capture.pcm {
type plug
slave.pcm "hw:1,0" # Micro
}
}
ctl.!default {
type hw
card 1
}
Sauvegardez (Ctrl+X). Testez :
arecord -D plughw:1,0 -d 5 test.wav
a play test.wav
Optionnel : Ajustez le volume micro avec alsamixer (F6 pour sélectionner périphérique).
L'audio est prêt !
Dans un navigateur (sur Pi ou local), allez sur Actions Console. Créez un Nouveau projet.

Patientez, puis gardez l'onglet ouvert.
Sur API Assistant, cliquez Activer.

Activez dans votre Activité Google :

Dans Actions Console, sélectionnez Enregistrement appareil. Nommez Produit (ex. "MonPiAssistant"), Fabricant (n'importe quoi), Type : Autre.

Cliquez Enregistrer modèle, puis Télécharger credentials OAuth 2.0 (fichier JSON).
Déplacez-le vers /home/pi/. Pour SSH :
scp ~/Downloads/client_secret_*.json pi@IP_DU_PI:/home/pi/
Créez un environnement virtuel Python :
python3 -m venv env
source env/bin/activateInstallez dépendances :
sudo apt update
sudo apt install portaudio19-dev libffi-dev libssl-dev libmpg123-devSDK :
python -m pip install --upgrade pip setuptools wheel
google-assistant-library
python -m pip install --upgrade google-assistant-sdk[samples]
python -m pip install --upgrade google-auth-oauthlib[tool]google-oauthlib-tool \
--scope https://www.googleapis.com/auth/assistant-sdk-prototype \
--scope https://www.googleapis.com/auth/gcm \
--save --headless --client-secrets /home/pi/client_secret_*.jsonCopiez le lien, autorisez, collez le code. Credentials sauvées !

googlesamples-assistant-hotword --project-id VOTRE_PROJECT_ID --device-model-id VOTRE_MODEL_IDDites "OK Google" ! Ajustez volume : "Hey Google, volume à 80%".

Dans Actions Console, pour votre appareil, activez trait OnOff.

Dans env :
git clone https://github.com/googlesamples/assistant-sdk-python
pip install RPi.GPIO
cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/libraryÉditez hotword.py :
nano hotword.pyAjoutez :
import RPi.GPIO as GPIODans process_event (ligne ~66), remplacez print par :
if command == "action.devices.commands.OnOff":
if params["on"]:
print("LED allumée")
GPIO.output(18, GPIO.HIGH)
else:
print("LED éteinte")
GPIO.output(18, GPIO.LOW)Dans main() :
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT, initial=GPIO.LOW)python hotword.py --device-model-id VOTRE_MODEL_ID

Dites "OK Google, allumez/éteignez" !
Parfait pour débuter avec les API Google. Testez les meilleures commandes Google Home.
[]