Getestet mit:Raspberry Pi 2, Raspbian pre Jessie, Python 2.7
Voraussetzungen:Jasper: manuelle Installation auf Raspbian Wheezy
Ultraschall Reichweitenmessung mit dem Raspberry Pi
0

Raspberry Pi und Jasper: Entfernungsmessung durch einen Sprachbefehl

Dieses Tutorial zeigt ein Sprachkommando zur Ultraschall-Distanzmessung mit der Spracherkennungssoftware Jasper auf einem Raspberry Pi und soll zeigen, wie man fuer Jasper nach der Installation (z.B. der manuellen Installation) eigene Sprachkommandos baut. Voreingestellt in Jasper ist die Spracherkennungssoftware Pocketsphinx; da diese recht schwach ist zeigt dieses Tutorial nur den Bau eines einfachen Sprachkommandos.

Installation
Befolge zuerst das Jasper- und das Ultraschallmessungs-Tutorial aus den Voraussetzungen und dann diese kurze Anleitung zur Installation von PiGPIO fuer einen sudo-freien GPIO-Zugriff.
Lade dann das Beispielscript herunter mit

Alle Sprachbefehle muessen in ~/jasper/client/modules/ gespeichert sein. Starte jetzt Jasper wie gewoehnlich mit

Nach der Begruessung durch Jasper, sage Jasper, warte auf das Signalzeichen und sage What. Jasper liest jetzt die mit dem Ultraschallsensor gemessene Distanz vor.

Ein eigenes Jasper Spracherkennungsmodul
Das Modul What.py nutzt sowohl Spracherkennung (Speech-To-Text, STT) als auch Sprachausgabe (Text-To-Speech, TTS). Die folgenden Konstanten und Funktionen muessen definiert sein, damit What.py als Jasper-Spracherkennungsmodul funktioniert.
Zu Beginn des Scriptes ist das zu erkennende Wort festgelegt mit

Weitere Woerter koennen per Komma getrennt und in Anfuehrungszeichen angehaengt werden. Ueberpruefe vorher, ob Jasper alle Woerter in der Liste versteht.
In dieser Funktion wird der transkribierte Text (STT) nach dem Wort durchsucht:

Die Funktion handle ist die Aktion, welche durch die Erkennung des Sprachbefehls ausgeloest wird:

distance wird mit dem Ultraschallsensor in der Funktion measure_distance() gemessen (siehe dazu das Tutorial in den Voraussetzungen). Jasper wandelt das Ergebnis dann mit mic.say() in Sprache (TTS) um.

Das ganze Script
Klicke auf Ganzes Script um das ganze Programm anzuzeigen.

Jasper Testlauf

Links
Jasper manuelle Installation: http://www.knight-of-pi.org/de/jasper-manuelle-installation-auf-einem-raspberry-pi-2-und-raspbian-jessie
PiGPIO Installation und Benutzung: http://www.knight-of-pi.org/de/pigpio-fuer-einen-sudo-freien-zugriff-auf-gpio-vor-raspbian-jessie/
Jasper manuelle Installation: http://www.knight-of-pi.org/de/jasper-manuelle-installation-auf-einem-raspberry-pi-2-und-raspbian-jessie
PiGPIO Installation und Benutzung: http://www.knight-of-pi.org/de/pigpio-fuer-einen-sudo-freien-zugriff-auf-gpio-vor-raspbian-jessie/

Knight of Pi

Johannes Bergs aka Knight of Pi. Diploma in Bioinformatics, some Webdesign and Python coding then. Living in the beautiful city of Vienna.

Kommentar

Time limit is exhausted. Please reload CAPTCHA.