Snips-Technologie_verstecken

Snips – SmartHome hört aufs Wort – lokal und autark

Es ist schon eine Weile her, dass ich in meinem Beitrag Sprachsteuerung ohne Alexa, Siri, Cortana und Co. darüber berichtet habe, das ich vorhabe, als Sprachsteuerung in meinem SmartHome Snips einzusetzen. Seit ca. April diesen Jahres läuft erfolgreich und zufriedenstellend Snips bei mir zu Hause und sorgt dafür, dass man per Sprachkommando das Licht ein- oder ausschalten oder auch die Rollläden hoch- und runterfahren lassen kann. Und damit das ganze nicht nur vom Wohnzimmer aus funktioniert, wo die zentrale Snips-Instanz auf einem Raspberry Pi 3 läuft, sondern auch von anderen Zimmern aus, habe ich zusätzlich noch diverse Snips-Satelliten in verschiedenen Räumen installiert, die auf einem schmalbrüstigen Raspberry Pi Zero W laufen.

Ich habe mir ein Voice Interaction Base Kit bestellt und mich dann an diese Anleitung gehalten. Im Prinzip benötigt man dieses Base Kit aber gar nicht. Im Großen und Ganzen benötigt man einen Raspberry Pi 3 (ein Pi 2 tut es eventuell auch noch, aber die Sprachverarbeitung ist halt ressourcenhungrig und die Reaktion könnte länger dauern), ein Mikrofon und einen Lautsprecher. Da in dem Base Kit ein ReSpeaker2-HAT enthalten war, mit dem ich sehr gute Erfahrungen gemacht habe und auch ein Lautsprecher mit JST 2.0-Stecker, habe ich für den anschließenden Bau der Snips-Satelliten dann nur noch diese Einzelteile gekauft.

Snips wird im Browser unter der Adresse https://console.snips.ai/assistant vorkonfiguriert. Nachdem der konfigurierte Assistent heruntergeladen wurde, läuft der Assistent völlig lokal ohne die Notwendigkeit eines Internetzugangs. Wenn man Abfragen zum Wetter oder ähnliches integriert, wird ein Internetzugang natürlich wieder benötigt. Oder man begnügt sich mit den lokal verfügbaren Temperaturen draußen.

Die Möglichkeit, Snips-Satelliten in anderen Räumen zu integrieren ist einfach nur genial. Angenommen, die Snips-Hauptinstallation läuft im Wohnzimmer auf einem Raspberry Pi 3. In der Küche läuft ein Snips-Satellit auf einem Raspberry Pi Zero. Fragt man nun in der Küche „Hey Snips – Wie ist die Temperatur draußen?“, dann wird nach Erkennung des Hotwords „Hey Snips“ die Sprachaufzeichnung gestartet. Dieser Audio-Stream wird per MQTT an die Snips-Hauptinstanz im Wohnzimmer gesendet, wo die Audioaufnahme analysiert wird. Nachdem dort die Stichwörter „Temperatur“ und „draußen“ erkannt wurden, ist Snips klar, dass diese zum FHEM-Modul gehören und fragt bei FHEM nach dem aktuellen Temperaturwert des Thermometers mit dem Namen „draußen“. FHEM liefert diesen Wert zurück und die Snips-Hauptinstanz generiert einen Audiostream der in der Antwort auch den Temperaturwert beinhaltet: „Die Temperatur draußen beträgt 23 Grad Celsius.“. Da Snips gespeichert hat, über welches Mikrofon (Küche) die Anfrage hereinkam, wird der Audiostream wieder per MQTT an den Snips-Satelliten in der Küche gesendet und dort über den Lautsprecher ausgegeben. Das alles passiert innerhalb weniger Sekunden.

Es ist schon erstaunlich, was so ein kleiner Rechner wie ein Raspberry Pi 3 alles zu leisten vermag. Und es ist schon erstaunlich, warum solche Systeme offenbar nur von technik-affinen Leuten wie mir genutzt werden können. Warum bietet die Industrie nicht solche lokal funktionierenden SmartHome-Systeme und Sprachassistenten an, sondern nur solche, die auf den Servern anderer Anbieter laufen? Vermutlich, weil man mit dem einmaligen Verkauf der Hardware längst nicht so viel verdienen kann, wie mit dem Verkauf der Daten, die der liebe Kunde im Laufe des Produktlebenszyklus an den Anbieter liefert.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.