Raspberry Pi Sprachsteuerung selber bauen (Hausautomatisierung)

20. Dezember 2014
71 Comments

Siri, Amazon’s Echo und „S Voice“ sind alles Spracherkennungprogramme, die das Leben einfacher machen sollen. Auch eine Raspberry Pi Sprachsteuerung kann einfach selbst gebaut werden. Denn solch eine Spracherkennung ist natürlich auch sehr vorteilhaft für eine Hausautomatisierung.

In diesem Tutorial zeige ich wie die Spracheingabe über ein Mikrofon digitalisiert, in Text umgewandelt wird und anschließend darauf reagiert wird.

 

Die Spracherkennungsfunktion kann (in Chrome) bereits hier getestet werden.

Hardware für die Raspberry Pi Sprachsteuerung

Alternativ kannst du auch ein USB Mikrofon nehmen, ich habe es allerdings damit nicht getestet. Dennoch sollte es funktionieren.

Falls du per Spracheingabe z.B: die GPIOs steuern möchtest, ist ein Breadboard sowie Jumper Kabel hilfreich für die Verbindung zum Raspberry Pi.

 

Vorbereitung

Als Spracherkennungdienst dient Google. Um die API nutzen zu können, musst du mit deinem Google Account dieser Gruppe beitreten.

Als nächstes öffnest du die Developer Console und drückst auf „Projekt erstellen“. Nachdem es erstellt wurde klickst du links auf „APIs und Authentifizierung“ -> „APIs“ und suchst nach „Speech API“. Diese aktivierst du für dein Projekt und klickst links auf „Zugangsdaten“. Hier musst du einen neuen öffentlichen Schlüssel (Browserschlüssel) erzeugen.

Den nun erstellten API Schlüssel musst du gleich im Skript einfügen.

Dazu sei gesagt, dass täglich 50 Anfragen kostenlos sind. Wer mehr braucht kann diese entweder bei Google kaufen oder ein zweites Projekt erstellen und einen weiteren Schlüssel bekommen 😉

Raspberry Pi Sprachsteuerung – Software

Das Prinzip ist folgendes. Es wird eine Audiodatei erstellt, diese an Google gesendet und als Text zurückgesendet. Fangen wir also an:

sudo apt-get update
sudo apt-get install flac

Nun prüfen wir ob die USB Karte korrekt erkannt wurde:

lsusb

Dabei sollte u.a. so ein Eintrag sein:

Bus 001 Device 004: ID 1130:f211 Tenx Technology, Inc. TP6911 Audio Headset

Nun lassen wir die Aufnahmegeräte ausgeben:

arecord -l

Bei mir sieht der Output folgendermaßen aus. Wichtig ist dabei die Nummer:

**** List of CAPTURE Hardware Devices ****
card 1: AUDIO [USB  AUDIO], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

 

An dieser Stelle empfehle ich das Mikrofon zu testen. Bei mir war das Mikrofon stumm gestellt (was mit amixer -c 1 rückgängig gemacht werden kann). Wir nehmen also eine kurze Testdatei auf und lassen sie abspielen:

arecord -d 10 -f cd -t wav -D plughw:1,0 test.wav
aplay -f dat test.wav

Wenn du etwas hörst, hat alles geklappt und es kann weiter gehen.

 

Wir erstellen eine Datei, die die Anfrage sendet und auswertet.

sudo nano speech2text.sh

Die Datei hat folgenden Inhalt. Oben musst du noch deinen API Schlüssel eintragen.

Anschließend muss dem Skript noch erforderliche Rechte zugeteilt werden.

chmod +x speech2text.sh

Nun kann es gestartet werden und gesprochen werden.

./speech2text.sh

Ich habe im unteren Teil des Skripts zwei Beispiel Abfragen eingefügt, mit denen auf die Spracheingabe reagiert werden kann. Bspw. könnte ein anderes Skript oder ein Befehl ausgeführt werden. Wofür du dies benutzt bleibt ganz dir überlassen.

Der Vollständigkeit halber hier meine Test Ausgabe:

pi@raspberrypi ~ $ ./speech.sh
Aufnahme... Zum stoppen STRG+C drücken und warten.
^C
Ausführen...
Google Antwort: "mach das Licht an"

Licht wird eingeschaltet

 

 

Falls Interesse bestehen sollte könnte ich dazu auch eine Nutzung per Smartphone erstellen und posten.

71 Kommentare

    • Wie genau meinst du das? Das das Android Gerät ein Sprachassistent ist oder das man das Android nur als Mikrofon verwendet und der Raspberry Antwortet?

      Antworten
  1. Tolles Tutorial! Was mich interessieren würde: Wie groß ist die Latenz, sprich die Zeit zwischen erfolgter Spracheingabe und Aktion?

    Antworten
  2. Immer wenn ich versuche das Script zu starten, startet es auch ganz normal und nimmt meine Aussage auf. Bei der Antwort und Auswertung kommt aber jedes mal diese Fehlermeldung.

    pi@raspberrypi ~ $ ./speech2text.sh
    Aufnahme… Zum stoppen STRG+C drücken und warten.
    ^C
    Ausführen…
    ./speech2text.sh: Zeile 10: gt: Kommando nicht gefunden.
    ./speech2text.sh: Zeile 10: stt.txt: Kommando nicht gefunden.
    Google Antwort: cat: stt.txt: Datei oder Verzeichnis nicht gefunden

    ./speech2text.sh: Zeile 18: Syntaxfehler beim unerwarteten Wort `;&‘
    ./speech2text.sh: Zeile 18: `rm file.flac > /dev/null 2>&1′

    kann mir da jemand helfen?

    Antworten
    • Hallo Gary,
      leider macht WordPress manchmal aus „&“ bzw „<>“ Zeichen z.B. die HTML Variante „&“. Daher die Fehler.
      Ich habe es aber nun verbessert und mit diesem Code sollte es klappen. Entferne am besten den vorherigen Code und ersetze es mit dem aktuellen.
      LG Felix

      Antworten
  3. Hey Leute,
    als ich die beschriebenen Schritte durchgeführt habe, um mein USB-Mikro zu testen, wurde der gesamte Ordner mit über 5000 Wave-Dateien, die nur eine 10telsekunde lang sind, zugemüllt, und erst durch killen des Prozesses konnte ich dies stoppen. Habe ich irgendetwas falsch gemacht?
    Ich habe überall exakt die gleichen Werte und Selektoren verwendet.

    Antworten
  4. Bei mir klappt das mit dem Stoppen nicht. Wenn ich STRG+C drücke, wird das gesamte Skript abgebrochen:

    pi@raspberry ~ $ ./speech2text.sh
    Aufnahme… Zum stoppen STRG+C drücken und warten.
    ^C
    pi@raspberry ~ $

    Woran könnte dies liegen?

    Antworten
    • Ich habe leider das gleiche Problem. Habs immer wieder anders versucht, aber es tut nicht. Der ganze Prozess wird irgendwie gekillt.

      Antworten
  5. Hallo Felix, erst einmal danke für die coole Anleitung hier.
    Soweit hab ich alles wie oben beschrieben umgesetzt,
    doch es kommt keine Antwort von Google.
    Wenn ich das Skript starte und dein Beispielsatz spreche oder sonstige Wörter,
    (hier ein Auszug):
    —————————————————————————————————
    pi@raspberrypi ~ $ ./speech2text.sh
    Aufnahme… Zum stoppen STRG+C drücken und warten.
    ^C
    Ausführen…
    Google Antwort:

    pi@raspberrypi ~ $
    —————————————————————————————————–
    bleibt nach „Google Antwort:“ das Feld leer!
    Mikrofon und Lautsprecher funktionieren (habe den oben beschriebenen Mikro-Test erfolgreich durchgeführt)
    Auch auf der Google Developer Console konnte ich in der Statistikübersicht Aktivitäten erkennen
    (also muss ja ein Zugriff stattfinden?)
    Wo könnte ich noch nach Fehlern suchen?
    Viele Grüße Sebi

    Antworten
    • Hallo Sebi,
      hm das ist merkwürdig. In der Google Statistik siehst du also, dass eine Anfrage stattgefunden hat? Ansonsten würde ich einfach mal alles was möglich ist loggen (was gesendet wurde, Antwort etc.) Außerdem kannst du mal eine vorgefertigte Test Audio File senden (ohne das Mikro zu verwenden). Irgendwo muss der Fehler ja liegen.

      Antworten
    • Hallo Felix, ja genau in der Google-Statistik sind z.B. 14 Anfragen (ich habe dein Skript 14 mal gestartet). Also wir auf jeden Fall eine Verbindung aufgebaut. Aber keine Antwort. Wie würde das mit deinem Vorschlag einer „Test Audio File senden“ funktionieren? Was muß ich da mach um diese zu versenden?
      Und vorallen wie weis ich nach dem Test ob eine Antwort kommt?
      Gruß Sebi

      Antworten
      • Du nimmst eine vorgefertigte flac Datei mit aufgenommen Sätzen (oder nimmst etwas auf und speicherst es als Datei mit arecord). Dann sendest du es (Zeile mit wget) und schaust dir den Output an, der im Skript als stt.txt gespeichert wird. Der Inhalt davon ist wichtig und enthält die Informationen.
        Im Grunde musst du die Schritte des Skriptes nur in der Reihe ausführen und jeden Schritt überprüfen, um den Fehler zu finden.

  6. Hallo Felix, erst einmal danke für die coole Anleitung hier.
    Soweit hab ich alles wie oben beschrieben umgesetzt,
    doch es kommt keine Antwort von Google.
    Wenn ich das Skript starte und dein Beispielsatz spreche oder sonstige Wörter,
    (hier ein Auszug):
    —————————————————————————————————
    pi@raspberrypi ~ $ ./speech2text.sh
    Aufnahme… Zum stoppen STRG+C drücken und warten.
    ^C
    Ausführen…
    Google Antwort:

    pi@raspberrypi ~ $
    —————————————————————————————————–
    bleibt nach „Google Antwort:“ das Feld leer!
    Mikrofon und Lautsprecher funktionieren (habe den oben beschriebenen Mikro-Test erfolgreich durchgeführt)
    Auch auf der Google Developer Console konnte ich in der Statistikübersicht Aktivitäten erkennen
    (also muss ja ein Zugriff stattfinden?)
    Wo könnte ich noch nach Fehlern suchen?
    Viele Grüße Sebi

    Antworten
    • Hallo Sebi,
      hm das ist merkwürdig. In der Google Statistik siehst du also, dass eine Anfrage stattgefunden hat? Ansonsten würde ich einfach mal alles was möglich ist loggen (was gesendet wurde, Antwort etc.) Außerdem kannst du mal eine vorgefertigte Test Audio File senden (ohne das Mikro zu verwenden). Irgendwo muss der Fehler ja liegen.

      Antworten
    • Hallo Felix, ja genau in der Google-Statistik sind z.B. 14 Anfragen (ich habe dein Skript 14 mal gestartet). Also wir auf jeden Fall eine Verbindung aufgebaut. Aber keine Antwort. Wie würde das mit deinem Vorschlag einer „Test Audio File senden“ funktionieren? Was muß ich da mach um diese zu versenden?
      Und vorallen wie weis ich nach dem Test ob eine Antwort kommt?
      Gruß Sebi

      Antworten
      • Du nimmst eine vorgefertigte flac Datei mit aufgenommen Sätzen (oder nimmst etwas auf und speicherst es als Datei mit arecord). Dann sendest du es (Zeile mit wget) und schaust dir den Output an, der im Skript als stt.txt gespeichert wird. Der Inhalt davon ist wichtig und enthält die Informationen.
        Im Grunde musst du die Schritte des Skriptes nur in der Reihe ausführen und jeden Schritt überprüfen, um den Fehler zu finden.

  7. hey vielen dank für das tutorial aber bei mir kommt bei der flac datei nur ein rauschen und piepsen. aber die wav ist sauber… ich weis nicht warum es nicht funktioniert…

    Antworten
  8. hey vielen dank für das tutorial aber bei mir kommt bei der flac datei nur ein rauschen und piepsen. aber die wav ist sauber… ich weis nicht warum es nicht funktioniert…

    Antworten
  9. Hallo,
    vielen dank für diese ausführliche Anleitung!
    Jedoch habe ich ein Problem:
    alles funktionier ich bekomme eine Google Antwort.
    Doch dann meldet er mir folgende Fehler :

    ./speech2text.sh: 49: ./speech2text.sh: [[: not found
    ./speech2text.sh: 59: ./speech2text.sh: 7: not found
    ./speech2text.sh: 49: ./speech2text.sh: [[: not found
    ./speech2text.sh: 63: ./speech2text.sh: 7: not found

    Ich würde mich über Hilfe sehr freuen!

    Antworten
    • Bist du sicher, dass das Skript übereinstimmt? Zumindest kommt in dem Skript keine „7“ vor und auch die Zeilennummern sind unterschiedlich.

      Antworten
  10. Hallo,
    vielen dank für diese ausführliche Anleitung!
    Jedoch habe ich ein Problem:
    alles funktionier ich bekomme eine Google Antwort.
    Doch dann meldet er mir folgende Fehler :

    ./speech2text.sh: 49: ./speech2text.sh: [[: not found
    ./speech2text.sh: 59: ./speech2text.sh: 7: not found
    ./speech2text.sh: 49: ./speech2text.sh: [[: not found
    ./speech2text.sh: 63: ./speech2text.sh: 7: not found

    Ich würde mich über Hilfe sehr freuen!

    Antworten
    • Bist du sicher, dass das Skript übereinstimmt? Zumindest kommt in dem Skript keine „7“ vor und auch die Zeilennummern sind unterschiedlich.

      Antworten
  11. Hallo Leute,

    bei mir funktioniert das nicht so recht. Führe ich das Programm aus, dann passiert folgendes:
    pi@raspberrypi:~ $ ./speechtotext.sh
    Aufnahme… Zum stoppen STRG+C drücken und warten.
    ^C
    pi@raspberrypi:~ $
    Führe ich folgenden Befehl aus:
    arecord -D plughw:1,0 -f cd -t wav -d 0 -q -r 44100 | flac – -s -f –best –sample-rate 44100 -o file.flac
    und im Anschluss:
    aplay file.flac
    kommt folgender Fehler:
    Wiedergabe: Rohdaten ‚file.flac‘ : Unsigned 8 bit, Rate: 8000 Hz, mono
    aplay: set_params:1233: Sample-Format nicht unterstützt
    Available formats:
    – S16_LE

    Antworten
    • Die wurde als 1 erkannt.
      Wenn ich als Test „arecord -D plughw:1,0 -f cd -t wav -d 0 test.wav“ eingebe und das dann mit „aplay test.wav“ abspiele, dann höre ich auch das gesprochene.

      Antworten
    • Lösung gefunden! Einfach bei der folgenden Zeile -c 1 ergänzen.

      arecord -D plughw:1,0 -f cd -t wav -d 0 -c 1 -q -r 44100 | flac – -s -f –best –sample-rate 44100 -o file.flac

      Antworten
  12. Hallo Leute,

    bei mir funktioniert das nicht so recht. Führe ich das Programm aus, dann passiert folgendes:
    pi@raspberrypi:~ $ ./speechtotext.sh
    Aufnahme… Zum stoppen STRG+C drücken und warten.
    ^C
    pi@raspberrypi:~ $
    Führe ich folgenden Befehl aus:
    arecord -D plughw:1,0 -f cd -t wav -d 0 -q -r 44100 | flac – -s -f –best –sample-rate 44100 -o file.flac
    und im Anschluss:
    aplay file.flac
    kommt folgender Fehler:
    Wiedergabe: Rohdaten ‚file.flac‘ : Unsigned 8 bit, Rate: 8000 Hz, mono
    aplay: set_params:1233: Sample-Format nicht unterstützt
    Available formats:
    – S16_LE

    Antworten
    • Die wurde als 1 erkannt.
      Wenn ich als Test „arecord -D plughw:1,0 -f cd -t wav -d 0 test.wav“ eingebe und das dann mit „aplay test.wav“ abspiele, dann höre ich auch das gesprochene.

      Antworten
    • Lösung gefunden! Einfach bei der folgenden Zeile -c 1 ergänzen.

      arecord -D plughw:1,0 -f cd -t wav -d 0 -c 1 -q -r 44100 | flac – -s -f –best –sample-rate 44100 -o file.flac

      Antworten
  13. Bei mir kommt beim Start des Skripts eine Meldung

    ./speech2text.sh: Zeile 7: flac: Kommando nicht gefunden.

    Was muss ich nun tun?

    Antworten
  14. Bei mir kommt beim Start des Skripts eine Meldung

    ./speech2text.sh: Zeile 7: flac: Kommando nicht gefunden.

    Was muss ich nun tun?

    Antworten
  15. Hi, ich hätte sehr großes Interesse an der Möglichkeit mit dem Smartphone das ganze zu nutzen. Ein Mikrofon müsste ja in geringer Nähe sein um die Hintergrundgeräusche mit meine Stimme überlagernd zu empfangen.
    Mein Raspi soll im Flur in der Wand verbaut werden aber wenn ich im Wohnzimmer sitze möchte ich, dass der bei einem Befehl die Leinwand und den Beamer aus der Decke fährt. So müsste ich nicht direkt vorm Raspi die Befehle geben..

    Antworten
    • An sich sollte es kein Problem sein das Smartphone als Mikropphon zu nutzen, sofern du Programmierkenntnisse hast: Statt einer Native App (mMn zu viel Aufwand dafür) würde ich einen Webserver (Apache) aufsetzen und die Hardwareunterstützung des Browsers verwenden. Mit einer kleinen PHP/JS Seite kannst du dich Aufnehmen und das Skript starten lassen.

      Antworten
  16. Hi, ich hätte sehr großes Interesse an der Möglichkeit mit dem Smartphone das ganze zu nutzen. Ein Mikrofon müsste ja in geringer Nähe sein um die Hintergrundgeräusche mit meine Stimme überlagernd zu empfangen.
    Mein Raspi soll im Flur in der Wand verbaut werden aber wenn ich im Wohnzimmer sitze möchte ich, dass der bei einem Befehl die Leinwand und den Beamer aus der Decke fährt. So müsste ich nicht direkt vorm Raspi die Befehle geben..

    Antworten
    • An sich sollte es kein Problem sein das Smartphone als Mikropphon zu nutzen, sofern du Programmierkenntnisse hast: Statt einer Native App (mMn zu viel Aufwand dafür) würde ich einen Webserver (Apache) aufsetzen und die Hardwareunterstützung des Browsers verwenden. Mit einer kleinen PHP/JS Seite kannst du dich Aufnehmen und das Skript starten lassen.

      Antworten
  17. Hallo,

    Ist dies eine Art Amazon Echo Clon ? Da ich es genau dafür benutzen möchte, kann man Fragen stellen wie erzählt mir einen Witz oder gibt es Stau auf dem Weg zur Arbeit ?

    VG Dennis

    Antworten
    • Hallo Dennis,
      nein, damit wird nur die Sprache in Text umgewandelt. Auf den Text kannst du reagieren lassen (z.B. wenn ein Wort gesagt wird, eine FUnktion starten). Ein Amazon Echo Tutorial ist aber in Zukunft geplant.
      LG, Felix

      Antworten
  18. Hallo,

    Ist dies eine Art Amazon Echo Clon ? Da ich es genau dafür benutzen möchte, kann man Fragen stellen wie erzählt mir einen Witz oder gibt es Stau auf dem Weg zur Arbeit ?

    VG Dennis

    Antworten
    • Hallo Dennis,
      nein, damit wird nur die Sprache in Text umgewandelt. Auf den Text kannst du reagieren lassen (z.B. wenn ein Wort gesagt wird, eine FUnktion starten). Ein Amazon Echo Tutorial ist aber in Zukunft geplant.
      LG, Felix

      Antworten
  19. Hallo,
    Ich habe ein Problem bei der Zuteilung der Rechte. Immer wenn ich

    chmod +x speech2text.sh

    eingebe, kommt die Fehlermeldung:

    chmod: changing permissions of ’speech2text.sh‘ : Operation not permitted

    Was habe ich da falsch gemacht bzw. gibt es da eine Loesung?

    LG
    Haitao

    Antworten
  20. Hallo,
    Ich habe ein Problem bei der Zuteilung der Rechte. Immer wenn ich

    chmod +x speech2text.sh

    eingebe, kommt die Fehlermeldung:

    chmod: changing permissions of ’speech2text.sh‘ : Operation not permitted

    Was habe ich da falsch gemacht bzw. gibt es da eine Loesung?

    LG
    Haitao

    Antworten
  21. Vielen Dank erstmal für das super Tutorial, wirklich gut verständlich, hat alles geklappt mit der Einrichtung des Mirkofons.

    Ich kann mich mit einer deutschen Adresse leider nur als „Geschäftskonto“ bei Google Cloud Services anmelden, nicht mit einem privaten Konto. Und in der Developerconsole ( wo ich bereits andere Projekte habe) kann ich die API nicht aktivieren, die Seite lädt ewig und bringt dann kein Ergebnis.

    Wie hast du es geschafft dich da zu registrieren?

    Antworten
  22. Vielen Dank erstmal für das super Tutorial, wirklich gut verständlich, hat alles geklappt mit der Einrichtung des Mirkofons.

    Ich kann mich mit einer deutschen Adresse leider nur als „Geschäftskonto“ bei Google Cloud Services anmelden, nicht mit einem privaten Konto. Und in der Developerconsole ( wo ich bereits andere Projekte habe) kann ich die API nicht aktivieren, die Seite lädt ewig und bringt dann kein Ergebnis.

    Wie hast du es geschafft dich da zu registrieren?

    Antworten
    • Ich habe es über HDMI, Audio Out (Klinke 3,5mm) und Soundkarte per USB ausprobiert aber die Sprachsteuerung gibt keinen Ton aus 🙁
      Ich hoffe das mir irgendjemand helfen kann,
      Fred

      Antworten
    • Ich habe es über HDMI, Audio Out (Klinke 3,5mm) und Soundkarte per USB ausprobiert aber die Sprachsteuerung gibt keinen Ton aus 🙁
      Ich hoffe das mir irgendjemand helfen kann,
      Fred

      Antworten
  23. Hallo,

    ich habe das selbe Problem wie Sebi. Google liefert mir einfach keine Antworten obwohl bei Developer Console Anfragen ankommen.
    Ich habe auch schon eine separate Flac-Datei mit mein Windows PC aufgenommen um mein Raspberry als Fehlerquelle auszuschließen, aber erfolgslos 🙁

    An was kann es noch liegen?

    Antworten
  24. Hallo,

    ich habe das selbe Problem wie Sebi. Google liefert mir einfach keine Antworten obwohl bei Developer Console Anfragen ankommen.
    Ich habe auch schon eine separate Flac-Datei mit mein Windows PC aufgenommen um mein Raspberry als Fehlerquelle auszuschließen, aber erfolgslos 🙁

    An was kann es noch liegen?

    Antworten
  25. servus,

    wenn ich mit Strg +C die Aufnahme beenden möchte schließt das ganze Programm.
    Hast du eine Idee oder alternative ?

    Antworten
  26. servus,

    wenn ich mit Strg +C die Aufnahme beenden möchte schließt das ganze Programm.
    Hast du eine Idee oder alternative ?

    Antworten
  27. Hallo und Danke für die Tutorials die sehr detailliert und verständlich sind.

    Ich bin noch nicht lange dabei und obwohl im Internet schon einiges gibt, würde ich mich hier über eine Tutorial „Cloud Storage“ sehr freuen.

    Danke & Lieben Gruß

    Antworten
  28. Hallo und Danke für die Tutorials die sehr detailliert und verständlich sind.

    Ich bin noch nicht lange dabei und obwohl im Internet schon einiges gibt, würde ich mich hier über eine Tutorial „Cloud Storage“ sehr freuen.

    Danke & Lieben Gruß

    Antworten
  29. Moin Felix,
    wieder ein sehr feines Tutorial,
    dazu hätte ich eine Frage, die etwas vom Thema abweicht…
    Kann ich unter Python Audios vom Mikrofon aufzeichnen. Python wäre
    schon interessant, da ich das aufzeichnen vllt an eine Bedingung knüpfen will (z.b. wenn taster gedrückt, bewegungsmelder, reed relais, lichtschranke und so weiter)

    MfG Hauschi

    Antworten
  30. Hallo,

    Danke für das Tuturoial! Ich habe ein Problem das ich momentan nicht zu lösen vermag:
    Wenn ich das Skript ausführen möchte erhalte ich folgende Fehlermeldung:
    „ERROR: raw format options (–endian, –sign, –channels, –bps, and –sample rate) are not allowed for non raw input
    […]“
    Im Vorraus vielen Dank! 🙂

    Antworten
  31. Hallo Felix,

    könntest du ein Tutorial anfertigen, wie man mit Google Speech die Funksteckdosen aus deinem 433 MHZ Tutorial steuern könnte? Das wäre klasse =)

    Antworten

Hinterlasse einen Kommentar

Deine Email Adresse wird nicht veröffentlicht.

Blog abonnieren

Abonniere Raspberry Pi Tutorials, um kein Tutorial mehr zu verpassen!