- Erforderliches Material:
- Teil 1: Einrichten des Raspberry Pi mit SSH und VNC
- Teil 2: Richten Sie Ihr Amazon Developer Account ein und konfigurieren Sie die Alexa Voice Services auf Raspberry Pi:
- Teil 3: Einrichten von PubNub und IFTTT für Alexa Pi Home Automation :
- Teil 3-2: Einrichten von IFTTT für Amazon Alexa Service:
- Teil 4: Hardwareanschlüsse und Schaltplan:
- Teil 5: Python-Code zur Steuerung der LED:
Haben Sie jemals an einen Lautsprecher gedacht, der von Ihrer Stimme gesteuert werden kann !!! Was ist, wenn wir unsere Haushaltsgeräte auf diese Weise steuern und diese Geräte intelligenter machen können? Sprachassistenten werden immer beliebter, wenn wir uns einer Ära von KI- und IoT-basierten Systemen nähern. Sie haben von Google Assistant, Apple Siri und Amazon Alexa gehört . Dies sind alles sprachbasierte KI-Systeme. Was diese voneinander unterscheidet, sind ihre Ökosysteme, und hier sticht Amazon Alexa am meisten hervor. Google, Apple und Amazon, all diese Unternehmen haben bereits ihre Smart-Lautsprecher auf den Markt gebracht, aber Amazon hat als erster Smart-Lautsprecher eingeführt. Amazon Echo, Echo Dot Spot usw. sind die intelligenten Lautsprecher, die auf dem Markt erhältlich sind.
Amazon bietet die API für die Nutzung seines beliebten Sprachdienstes Alexa. Es ist Open Source und auf Github verfügbar. Außerdem können Sie Alexa auf benutzerdefinierten Geräten wie Raspberry Pi installieren oder integrieren und die volle Amazon Echo-Funktionalität auf diesem Gerät nutzen.
Mit dem Alexa-Sprachdienst können wir Musik abspielen, Informationen über das Wetter abrufen, Tickets buchen und vieles mehr. Alles was Sie tun müssen, ist zu fragen. In diesem Tutorial werden wir sehen, wie wir Raspberry Pi GPIO mithilfe von Alexa Voice-Diensten steuern können, um eine LED zu leuchten.
Erforderliches Material:
Hardware-Anforderungen:
- Raspberry Pi 3 oder Raspberry Pi 2 Modell B und SD-Karte (8 GB oder mehr)
- Externer Lautsprecher mit 3,5 mm AUX-Kabel
- Beliebige Webcam oder USB 2.0-Mikrofone
- Relaismodul
- LED
Hinweis: Die Webcam verfügt über ein eingebautes Mikrofon. Daher verwenden wir dieses anstelle des USB 2.0-Mikrofons.
Software-Apps und Webanforderungen:
- Registrieren Sie ein Konto bei Alexa Voice Services
- Registrieren Sie ein Konto bei PubNub
- Registrieren Sie ein Konto bei IFTTT
Wir gehen auch davon aus, dass Ihr Raspberry Pi bereits mit einem Raspbian-Betriebssystem eingerichtet und mit dem Internet verbunden ist. Wenn diese vorhanden sind, fahren wir mit dem Tutorial fort. Wenn Sie Raspberry Pi noch nicht kennen, lesen Sie zuerst Erste Schritte mit Raspberry Pi.
Das gesamte Tutorial ist hauptsächlich in 5 Teile unterteilt:
- Wenn Sie keinen Monitor haben, müssen wir den Raspberry Pi mit SSH und VNC einrichten und die Konnektivität des USB-Mikrofons überprüfen.
- Richten Sie Ihren Amazon Developer ein und installieren Sie Alexa auf Raspberry Pi
- Einrichten von PubNub und IFTTT für Alexa Home Automation
- Hardware-Verbindung
- Python-Code für Alexa Pi GPIO Control
Wenn Sie einfach eine LED mit Ihrer Stimme steuern möchten, lesen Sie auch unser Bluetooth-basiertes sprachgesteuertes LED-Projekt.
Teil 1: Einrichten des Raspberry Pi mit SSH und VNC
Zuerst werden wir Raspberry Pi mit SSH und VNC verbinden. Folgen Sie dazu den folgenden Tutorials auf der offiziellen Website von Raspberry Pi. Links finden Sie unten.
Für SSH: SSh-Link
Für VNC: VNC-Verbindung
Wenn Sie über einen Monitor verfügen, können Sie diesen Schritt verlassen und direkt mit Schritt 2 fortfahren, in dem der Alexa Voice Service (Avs) eingerichtet wird. Vorher müssen wir die Konnektivität des Mikrofons überprüfen.
Überprüfen des Webcam-Mikrofons mit Raspberry Pi:
1. Öffnen Sie das Raspberry Pi-Terminal und geben Sie den Befehl arecord -l ein. Dadurch werden die Hardwaregeräte angezeigt, die wie unten gezeigt an Raspberry Pi angeschlossen sind:
Karte 1 ist das Mikrofon Ihrer Webcam, das wir verwenden werden. Wenn es nicht angezeigt wird, ist Ihre Webcam möglicherweise defekt.
2. Überprüfen Sie nun, ob das Mikrofon funktioniert, indem Sie den Befehl Audio aufnehmen wie folgt ausführen:
arecord /home/pi/Desktop/test.wav -D sysdefault: CARD = 1
3. Geben Sie den folgenden Befehl ein, um das aufgenommene Audio abzuspielen:
omxplayer -p -o local /home/pi/Desktop/test.wav
Wenn Sie Raspberry Pi über ein HDMI-Kabel mit dem Monitor verbunden haben, erfolgt die Audioausgabe standardmäßig über den Lautsprecher Ihres Monitors (sofern ein eingebauter Lautsprecher vorhanden ist). Um es auf 3,5 mm zu ändern, müssen Sie den folgenden Befehl eingeben:
sudo raspi-config und gehe zur Option Erweitert .
Wählen Sie Audio aus der Liste -> wählen Sie Force 3.5mm -> wählen Sie Ok und starten Sie Ihren Raspberry Pi neu.
Jetzt sollten Sie den Ton von der 3,5-mm-Buchse hören.
HINWEIS: Wenn Sie die Lautstärke der Eingangsstimme für das Mikrofon erhöhen oder verringern möchten, geben Sie alsamixer im Terminal ein. Wählen Sie die Soundkarte vom Terminal aus, indem Sie F6 drücken.
Drücken Sie F4, um die Mikrofon-dB-Verstärkung zu ändern und nach Ihren Wünschen einzustellen.
Wenn Sie ein USB 2.0-Mikrofon haben, gehen Sie wie folgt vor, um das Mikrofon zu überprüfen. Hier haben wir Webcam für USB-Mikrofon verwendet.
Teil 2: Richten Sie Ihr Amazon Developer Account ein und konfigurieren Sie die Alexa Voice Services auf Raspberry Pi:
Wir haben dies bereits in unserem vorherigen Tutorial ausführlich erklärt, in dem wir einen Amazon Echo Smart Speaker gebaut haben. Hier konzentrieren wir uns auf die Steuerung des Raspberry Pi GPIO mit Alexa, damit wir den gesamten Vorgang nicht noch einmal erläutern. Lesen Sie daher den vorherigen Artikel und bereiten Sie Ihren Lautsprecher mit den auf Ihrem Raspberry Pi installierten Alexa-Sprachdiensten vor.
Um Alexa zu testen, weck sie einfach auf, indem du ihren Namen sagst! Überprüfen Sie das Demo-Video am Ende des Tutorials.
Sie können sie nach der Temperatur Ihrer Stadt fragen, um zu überprüfen, ob sie funktioniert oder nicht.
Teil 3: Einrichten von PubNub und IFTTT für Alexa Pi Home Automation :
Für die Steuerung von Raspberry Pi GPIO mit diesem Alexa Pi benötigen wir die Hilfe von PubNub Python SDK und IFTTT. Wir werden IFTTT über Alexa Befehle erteilen, und PubNub gibt RPi ein Signal zum Ein- und Ausschalten der LED. Also werden wir zuerst den PubNub auf Raspberry Pi installieren.
Teil 3-1: Installieren des PubNub Python SDK:
PubNub bietet eine Messaging-API zum Veröffentlichen / Abonnieren von Nachrichten in ihrem globalen Netzwerk. Hier verwenden wir IFTTT und Alexa, um die Nachricht auf PubNub zu veröffentlichen, um Raspberry Pi GPIO niedrig / hoch zu machen. Diese Nachricht wird von Raspberry Pi empfangen und Pi schaltet die LED entsprechend ein oder aus. Führen Sie die folgenden Schritte aus, um PubNub auf Raspberry Pi einzurichten:
Schritt 1: Öffnen Sie das Terminal Ihres RPi und führen Sie den folgenden Befehl aus, um das SDK zu installieren:
sudo pip install pubnub == 3.9.0
Installieren Sie nur die Version 3.9.0, andere Versionen funktionieren nicht mit dem Python-Skript, das wir in der letzten Version ausführen werden.
Schritt 2: Gehen Sie jetzt zu PubNub und melden Sie sich mit Ihren Anmeldeinformationen an.
Schritt 3:. Besorgen Sie sich die Veröffentlichungs- und Abonnementschlüssel, die wir später verwenden werden.
Teil 3-2: Einrichten von IFTTT für Amazon Alexa Service:
IFTTT ist ein kostenloser webbasierter Dienst, mit dem Benutzer Ketten einfacher bedingter Anweisungen erstellen können, die als „Rezepte“ bezeichnet werden und aufgrund von Änderungen an anderen Webdiensten wie Google Mail, Facebook, Instagram und. IFTTT ist eine Abkürzung für "If This Then That".
Für dieses Projekt wird IFTTT verwendet, um den Raspberry Pi GPIO LOW / HIGH basierend auf dem Sprachbefehl zu machen, der vom Alexa-Dienst empfangen wird, der auf RPi ausgeführt wird.
Führen Sie die folgenden Schritte aus, um ein Applet zu erstellen:
Schritt 1: - Melden Sie sich mit Ihren Anmeldeinformationen bei IFTTT an oder melden Sie sich an, wenn Sie kein Konto haben.
Schritt 2: - Klicken Sie in Meine Applets auf Neues Applet
Schritt 3: - Klicken Sie auf + dies
Schritt 4: - Durchsuchen Sie Amazon Alexa und klicken Sie darauf. Melden Sie sich mit Ihren Amazon-Entwicklerkontodaten an.
Schritt 5: - Wählen Sie den Auslöser, sagen Sie eine bestimmte Phrase
Schritt 6: - Geben Sie als Ausdruck "Licht einschalten " an und klicken Sie auf " Trigger erstellen".
Schritt 7: - Klicken Sie auf + das
Schritt 8: - Suchen Sie nach Webhooks, klicken Sie darauf und wählen Sie eine Webanforderung
Schritt 9: - Webhooks stellt die REST-WEB-Anforderung bereit. Verwenden Sie die vom PubNub erhaltenen Schlüssel zum Veröffentlichen und Abonnieren und ändern Sie die folgende URL.
http://pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":1}
Schritt 10: - Fügen Sie die geänderte URL in das URL-Textfeld ein.
Schritt 11: - Legen Sie die Methode als GET, den Inhalt als application / json fest und klicken Sie auf Speichern.
Schritt 12: - Befolgen Sie die gleichen Schritte, um den Auslöser für „ Licht ausschalten “ zu erstellen und die URL wie folgt zu ändern.
pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":0
Schritt 13: - Wir sind jetzt mit allen Webkomponenten für die Demo fertig.
Teil 4: Hardwareanschlüsse und Schaltplan:
Für dieses Projekt benötigen wir zu Testzwecken eine einfache LED. Unten finden Sie den Schaltplan und die Hardware-Verbindungen zur Steuerung des Raspberry Pi GPIO mit Amazon Alexa.
Wir werden GPIO18 in unserem Python-Skript verwenden. Verbinden Sie also Relay Ihre LED 18. Sie können dies im Python-Skript ändern.
Teil 5: Python-Code zur Steuerung der LED:
Das vollständige Python-Skript finden Sie am Ende dieses Tutorials.
Sie müssen Pub- und Sub-Schlüssel mit Ihren Pubnub-Schlüsseln im Python-Code bearbeiten.
# Initialisieren Sie die Pubnub-Schlüssel pub_key = "******************************" sub_key = "*********** ************* "
Führen Sie nun das Skript aus
python alexaRpi.py
Jetzt sind wir alle bereit für die Demo. Stellen Sie sicher, dass Sie alle drei Dienste von Teil 1 (den drei Terminals) aus ausführen, bevor Sie fortfahren.
Um einen Befehl zu erteilen, müssen Sie den Alexa-Dienst aktivieren, indem Sie jedes Mal, wenn Sie einen Befehl senden möchten, „Alexa“ anrufen. Sie hören einen Piepton. Wenn Sie den Piepton hören, sagen Sie „ Alexa Trigger Schalten Sie das Licht ein. Sie können sehen, dass das Licht innerhalb eines Augenblicks aufleuchtet. Und wenn Sie dann „ Alexa Trigger Schalten Sie das Licht aus “ sagen, sollte sich das Licht ausschalten .
Das ist es…. Sie können außerdem ein Relais zur Steuerung von Wechselstromgeräten hinzufügen, auch wenn Sie viele Geräte steuern können, indem Sie mehr Relais und mehr GPIO-Pins von Raspberry pi verwenden.
Überprüfen Sie den vollständigen Code und das Demonstrationsvideo unten. Überprüfen Sie auch alle unsere Hausautomationsprojekte hier.