Nouveau snips satellite

Préparation de raspbian

Alors, comme une nouvelle version de raspbian est sortie, la buster, nous allons installer la version lite. Pour ça, pas de surprise, tu vas sur le site de téléchargement et tu suis la procédure que tu trouveras déjà dans cet article. On va pas épiloguer là-dessus 🙂

N’oublie pas non plus d’installer les drivers de ton micro et de ton haut-parleur. Pour le respeaker, c’est en allant sur cet article.

Installation d’un satellite snips

Si tu es un anglophone, n’hésite pas à aller sur cette page : https://docs.snips.ai/articles/platform/satellites

Si tu n’es pas anglophone, je vais te détailler les actions à faire ci-dessous.

Alors même si cela doit déjà être fait, on s’assure que tout est à jour

sudo apt-get update
sudo apt-get dist-upgrade

On installe le petit pré-requis qui va bien

sudo apt-get install -y dirmngr

Ensuite, on ajoute les sources snips

sudo bash -c 'echo "deb https://raspbian.snips.ai/stretch stable main" > /etc/apt/sources.list.d/snips.list'
 sudo apt-key adv --keyserver pgp.surfnet.nl --recv-keys D4F50CDCA10A2849

On recharge le tout

sudo apt-get update

Voilà. Jusqu’ici, c’était à peu près identique à ce que l’on connaissait déjà. C’est maintenant que ça change.

Snips a désormais un nouveau service pour le satellite qui remplace snips-server-audio et snips-hotword. Et histoire d’être logique, il s’appelle snips-satellite. Alors, installons tout ça.

sudo apt install snips-hotword-model-heysnipsv4
sudo apt install snips-satellite

Bon vérifions avec sam si tout va bien

pi@snips-bureau:~ $ sam status
-bash: sam : commande introuvable

Ah… Bon, il n y a pas de sam installé… Ah oui c’est vrai, L’équipe de snips n’aime pas qu’on installe sam en local… Bon, ce n’est pas grave, on va au moins regarder les services.

pi@snips-bureau:~ $ sudo systemctl status snips-*
● snips-satellite.service - Snips Satellite
   Loaded: loaded (/lib/systemd/system/snips-satellite.service; enabled; vendor preset: enabled)
   Active: activating (auto-restart) (Result: exit-code) since Wed 2019-09-11 21:37:02 CEST; 3s ago
  Process: 2452 ExecStart=/usr/bin/snips-satellite (code=exited, status=1/FAILURE)
 Main PID: 2452 (code=exited, status=1/FAILURE)
pi@snips-bureau:~ $

bon, il ne démarre pas, allons voir pourquoi en lançant notre commande pour voir les logs

pi@snips-bureau:~ $ sudo journalctl --since "10 minutes ago" -u snips-*
-- Logs begin at Thu 2019-02-14 11:11:59 CET, end at Wed 2019-09-11 21:43:45 CEST. --
sept. 11 21:34:03 snips-bureau systemd[1]: Started Snips Satellite.
sept. 11 21:34:03 snips-bureau snips-satellite[2394]: INFO:snips_satellite: Using site id : default
sept. 11 21:34:03 snips-bureau snips-satellite[2394]: ERROR:snips_satellite: Could not start MQTT client on localhost:1883
sept. 11 21:34:03 snips-bureau snips-satellite[2394]:  -> caused by: Connection refused (os error 111)
sept. 11 21:34:03 snips-bureau systemd[1]: snips-satellite.service: Main process exited, code=exited, status=1/FAILURE
sept. 11 21:34:03 snips-bureau systemd[1]: snips-satellite.service: Failed with result 'exit-code'.
sept. 11 21:34:08 snips-bureau systemd[1]: snips-satellite.service: Service RestartSec=5s expired, scheduling restart.
sept. 11 21:34:08 snips-bureau systemd[1]: snips-satellite.service: Scheduled restart job, restart counter is at 1.
sept. 11 21:34:08 snips-bureau systemd[1]: Stopped Snips Satellite.

Et oui… Nous n’avons pas configuré notre fichier snips.toml . On peut le voir car dans les logs, il nous dit qu’il ne peut pas se connecter au serveur MQTT. Pour une petite explication sur le MQTT, c’est dans cet article.
Logique car le serveur MQTT est sur notre snips maître. Modifions donc notre fichier snips.toml

Dans [snips-common] on modifie

# mqtt = "localhost:1883"

par

mqtt = "snips-maitre:1883"

Bien évidemment, remplace ‘snips-maitre’ par le nom réseau de ton snips maître.

Maintenant, dans [snips-audio-server], nous allons remplacer

# bind = "default@mqtt"

par

bind = "bureau@mqtt"

Alors évidemment, j’ai mis bureau puisque je configure le satellite du bureau 🙂 Cela permet d’identifier chaque satellite. Pratique par exemple quand on dit juste ‘Hey snips, éteins la lumière’ et qu’il sait qu’il doit éteindre la lumière de la pièce dans laquelle est le satellite.

Maintenant qu’on a configuré notre satellite, essayons de démarrer le service

sudo systemctl start snips-satellite

Et voilà le résultat :

pi@snips-bureau:~ $ sudo systemctl status snips-satellite
● snips-satellite.service - Snips Satellite
   Loaded: loaded (/lib/systemd/system/snips-satellite.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-09-11 21:49:01 CEST; 1h 1min ago

Vérifions le bon fonctionnement sur notre snips maître

cedcox@snips-master:~$ snips-watch -vvv
[22:48:50] [Hotword] detected on site bureau, for model hey_snips
[22:48:50] [Asr] was asked to stop listening on site bureau
[22:48:50] [Hotword] was asked to toggle itself 'off' on site bureau
[22:48:50] [Dialogue] session with id '0b55939c-348a-4fd2-9f25-f998726414e5' was started on site bureau
[22:48:50] [AudioServer] was asked to play a wav of 41.1 kB with id '99969702-483c-4fcc-8131-a7c57cdb86df' on site bureau
[22:48:50] [AudioServer] finished playing wav with id '99969702-483c-4fcc-8131-a7c57cdb86df'
[22:48:50] [Asr] was asked to listen on site bureau
[22:48:53] [Asr] captured text "quelle heure est il" in 2.0s
[22:48:53] [Asr] was asked to stop listening on site bureau
[22:48:53] [AudioServer] was asked to play a wav of 93.1 kB with id '345df666-f300-41fa-a04a-15ebabb31e43' on site bureau
[22:48:54] [AudioServer] finished playing wav with id '345df666-f300-41fa-a04a-15ebabb31e43'
[22:48:54] [Nlu] was asked to parse input "quelle heure est il"
[22:48:54] [Nlu] detected intent cedcox:askTime with confidence score 1.000 for input "quelle heure est il"
[22:48:54] [Dialogue] New intent detected cedcox:askTime with confidence 1.000
[22:48:54] [Dialogue] was ask to end session with id 0b55939c-348a-4fd2-9f25-f998726414e5 by saying 'Il est 22 heures  48'
[22:48:54] [Tts] was asked to say "Il est 22 heures  48"
[22:48:54] [AudioServer] was asked to play a wav of 66.9 kB with id '61c5d591-0568-422f-962c-e9a21532c38e' on site bureau
[22:48:57] [AudioServer] finished playing wav with id '61c5d591-0568-422f-962c-e9a21532c38e'
[22:48:57] [Tts] finished speaking with id 'dbc7d591-ec07-48bb-a9d6-d27818a63d47'
[22:48:57] [Dialogue] session with id '0b55939c-348a-4fd2-9f25-f998726414e5' was ended on site bureau. The session ended as expected
[22:48:57] [Asr] was asked to stop listening on site bureau
[22:48:57] [Hotword] was asked to toggle itself 'on' on site bureau

17 Comments

  1. Merci!
    C’est une bonne nouvelle
    En attendant J’essaye de remettre en route mon snips suite à un crash SD. Je n’arrive plus a recharger le package seeed pour mon ReSpeaker 2-Mics.
    à l’nstallation install.sh j’ai un message d’erreur
    Error: not enough space left (21M) on /boot
    Y a t il une solution?
    Merci d’avance

    • Bon pas de réponse mais j’ai trouvé tout seul!!
      Ca ne marchait pas avec Raspbian Stretch mais avec le nouveau Raspbian Buster tout va bien!
      Si vous avez le même problème migrez sur Buster.
      Bonne journée

    • désolé, effectivement, je n’avais pas vu ta réponse 🙁

      Content, que tu aies résolu ton problème 🙂

      Ced

  2. Bonjour,
    J’ai beaucoup apprécié ces tutos!! Trés efficaces et didactiques.
    Mais Snips a fini de vivre… so bad…
    Peux t on espérer des tutos de cette qualité pour installer Rhasspy?
    Ce serait le pied ! Merci d’avance.

  3. Bonjour,
    Tout d’abord merci pour la rédaction de toutes les procédures d’installations que vous partagez avec une si grande précision, très utile pour des novices comme moi.
    J’ai un satellite pi zéro avec carte respeaker 2 mic. Tout fonctionne en ayant suivi votre procédure. J’ai tenté d’installer HermesLedControl de Psychokiller que vous avez détaillé dans un autre post mais cela ne fonctionne pas chez moi…
    Y a t’il une procédure d’installation particulière pour un snips satellite qui n’a d’installé que les services « snips-hotword-model-heysnipsv4 » et « snips-satellite »?
    Ou alors n’est t’il pas possible d’avoir l’animation des leds sur un tel satellite.
    Merci d’avance de votre aide car je ne suis vraiment pas expert en programmation..

    • Bonjour Michel,

      Le système développé par Psychokiller est normalement piloté par les messages lus sur MQTT. Donc comme ça, je pense qu’il faudrait vérifier que ça se connecte bien au serveur MQTT et qu’il n’essaye pas de se connecter à un serveur MQTT local qui n’existe pas sur le satellite.
      Tu peux aussi aller sur le github de Psycho et lui poser la question. Je suis sûr qu’il pourra te filer un coup de main 😉

      Ced

  4. Bonjour,
    Merci pour cette procédure qui m’a aidé à arriver jusqu’au point où j’en suis.
    Je souhaiterais pouvoir finaliser l’installation de mon satellite avant la fin du mois et la disparition de la console.
    J’ai suivi la procédure (et recommencé à plusieurs reprises) mais j’ai le message d’erreur :
    ● snips-satellite.service – Snips Satellite
    Loaded: loaded (/lib/systemd/system/snips-satellite.service; enabled; vendor
    Active: activating (auto-restart) (Result: exit-code) since Sun 2020-01-12 23
    Process: 4620 ExecStart=/usr/bin/snips-satellite (code=exited, status=1/FAILUR
    Main PID: 4620 (code=exited, status=1/FAILURE)
    Quelqu’un peut m’aider ? Ce serait très sympa.

    • Bonjour Pascal,

      Alors comme ça, ça va être compliqué car la seule chose qu’on voit c’est que ton service ne démarre pas.
      Il faudrait que tu regardes les logs et tu auras plus d’information 😉

      Ced

    • Un grand merci pour la réponse.
      Lorsque je fais un sam status, j’ai un retour Snips platform not installed.
      J’utilise le matériel snips seeed, dont un pi 3 pour la base et un pi 0 pour le satellite. Je n’ai pas vu qu’il fallait installer la plateforme. Comme j’ai cru comprendre dans ta procédure, j’ai juste installé
      sudo apt install snips-hotword-model-heysnipsv4
      sudo apt install snips-satellite
      et la partie audio. le HP et le micro fonctionnent mais le satellite ne répond pas au « hey snips’. Dois-je installer tout snips sur le pi 0, y compris l’assistant ?
      En ce qui concerne les logs, je dois être un béotien. Je sais où les trouver dans Jeedom mais pas dans snips. Ce doit être un fichier à ouvrir mais lequel? Encore merci et désolé. Au besoin, pour ne pas polluer ce site, mon adresse mail est

  5. Salut à toi cedcox, vu que tu maitrises assez snips je voulais avoir ton avis sur la suite a donner à ce produit suite au rachat de sonos sachant que la console sera très prochainement plus accessible à mon grand regret

    • Hello,

      Malheureusement, je n’ai pas encore trouvé de remplaçant valable à snips. En tout rien de très simple à mettre en place. Le temps me manquant en ce moment, je n’ai pas encore pris le temps de vraiment m’y mettre.
      Mais ce qui est sûr c’est que snips est mort et qu’il va de toutes façons falloir trouver une alternative.
      Je crois avoir lu qu’il y a aussi un petit groupe qui s’était crée pour essayer de créer les éléments non opensource de snips (voir le message de psycho à la fin https://forum.snips.ai/t/important-message-regarding-the-snips-console/4145/60 )

      J’essaierai de tenir au courant dès que j’ai un truc fiable à proposer 🙂

      Ced

  6. Hello
    Comme pour l’installation de snips sur debian, j’ai un soucis pour installer le satellite. J’ai des erreurs « Impossible de trouver le paquet snips-hotword-model-heysnipsv4 »
    J’ai essayé avec la commande sudo apt-key adv –fetch-keys https://debian.snips.ai/5FFCD0DEB5BA45CD.pub que tu m’avais laissé sur le post debian mais toujours la même erreur.
    Merci pour ton aide !

Poster un Commentaire

Votre adresse de messagerie ne sera pas publiée.


*


Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.