• Erste Schritte
  • Hardware & GPIO
  • Projekte
  • Software
    • Webserver
  • Arduino & ESP8266
  • Hausautomatisierung
  • Sonstiges
    • News
Facebook Twitter YouTube
Tutorials for Raspberry Pi Tutorials for Raspberry Pi
  • Einstieg
    • Erste Schritte
      • Raspberry Pi 3 Einstieg - Starter KitWas brauche und wie starte ich? – Raspberry Pi Einstieg
    • Einrichtung
      • microsd_karte_menuRaspbian Betriebssystem auf eine SD Karte flashen – Einfach & Schnell
      • wlanbluetooth_menuWLAN und Bluetooth einrichten – Raspberry Pi 4
      • wifi_menuWLAN Stick installieren und einrichten – Alternative
      • bash_menuSSH Zugriff einrichten via Putty – Kommandozeilen Zugriff
      • rdp_menuRemotedesktop Verbindung aufbauen – Fernsteuerung
    • Einsteiger Projekte
      • Sinnvolles Raspberry Pi Zubehör
      • 15 Raspberry Pi Projekte für Anfänger
      • Ampelschaltung mit GPIOs
      • GPIOs mit Port Expander erweitern
      • Elektronischer Würfel
      • 13 tolle Projekte für Kinder und Jugendliche
      • Roboter selber bauen
      • In Visual Studio Code mit C++ programmieren
      • Wünsch dir ein Tutorial
    • Programmieren lernen
      • Teil 1: Einführung
      • Teil 2: GPIOs steuern
      • Teil 3: GUI erstellen
      • Teil 4: PWM
      • C# GUI Apps entwickeln
  • Hardware & GPIO
    • 50 der wichtigsten Raspberry Pi Sensoren und Module – Aufgelistet mit Links zu den TutorialsRaspberry Pi Sensoren
    • Beliebte Tutorials
      • Raspberry Pi Luftfeuchtigkeit/Temperatur SensorLuftfeuchtigkeit und Temperatur messen
      • Raspberry Pi WS2801B RGB LED Streifen anschließen und steuernWS2801 RGB LED Streifen anschließen und steuern
      • Raspberry Pi Funksteckdosen (433Mhz)Raspberry Pi Funksteckdosen (433Mhz)Funksteckdosen (433MHz) steuern
      • Raspberry Pi Relais ModulRaspberry Pi: Relais-Schalter per GPIO steuern
      • Raspberry Pi Servo MotorRaspberry Pi Servo Motor Steuerung
      • Amazon-Alexa-deutsch-auf-dem-Raspberry-Pi-installierenAmazon Alexa (Deutsch) auf dem installieren
      • Entfernung messen mit Ultraschallsensor HC-SR04 – Raspberry PiEntfernung messen mit Ultraschallsensor HC-SR04
      • 71-M-PU7vML.-S3L1500-Raspberry Pi’s über 433 MHz Funk kommunizieren
      • Raspberry Pi PIR Motion SensorBewegungsmelder PIR anschließen und steuern
      • Raspberry Pi USB Boot per Stick oder SSD Festplatte einrichtenUSB Boot per Stick oder SSD Festplatte
      • Analog
        • Raspberry Pi MCP3008 ADCMCP3008: Am Raspberry Pi analoge Signale auslesen
        • Raspberry Pi Gas Sensor MQ-2Raspberry Pi Gas Sensor (MQ-X) konfigurieren und auslesen
        • Raspberry Pi PulsmesserRaspberry Pi Pulsmesser: Herzfrequenz messen
        • Joystick am Raspberry Pi benutzen (mit MCP3008)Joystick am Raspberry Pi benutzen (mit MCP3008)
        • infrarot sharp distance senserInfrarot Abstandsmessung mit dem Raspberry Pi
        • Raspberry Pi Drehregler - Rotary EncoderKY040 Drehregler als Lautstärkeregler für den Raspberry Pi
        • Easpberry Pi Soil SensorBodenfeuchtigkeit mit dem Raspberry Pi messen
        • Raspberry Pi KeypadRaspberry Pi Keypad anschließen – Codeschloss
        • Raspberry Pi door sensorÜberwachung von Fenstern und Türen mit dem Raspberry Pi und Reed-Relais
        • Raspberry Pi Fotowiderstand HelligkeitssensorFotowiderstand (Helligkeitssensor) am Raspberry Pi
        • Raspberry Pi Waage selber bauen (mit Gewichtssensor HX711)Raspberry Pi Waage selber bauen (mit Gewichtssensor HX711)
      • Funk
        • 71-M-PU7vML.-S3L1500-Raspberry Pi’s über 433 MHz Funk kommunizieren lassen
        • Remote Control Raspberry Pi 433Mhz Radio TransmitterRaspberry Pi mit 433Mhz Funksender fernsteuern
        • Raspberry Pi Funksteckdosen (433Mhz)Raspberry Pi Funksteckdosen (433Mhz)Raspberry Pi Funksteckdosen (433MHz) steuern
        • Raspberry Pi MiFlora - Xiaomi Pflanzensensor in OpenHAB einbindenMiFlora – Xiaomi Pflanzensensor ins Smart Home einbinden
        • Raspberry Pi RFID RC522 TüröffnerRaspberry Pi RFID RC522 Tags auslesen (NFC)
        • Funkkommunikation zwischen Raspberry Pi's und Arduinos (2.4 GHz)Funkkommunikation (2.4 GHz): Arduino & Raspberry Pi
        • Raspberry Pi Radio ReceiverRaspberry Pi als Radioempfänger benutzen
        • Raspberry Pi Xbox 360 Wireless ControllerRaspberry Pi mittels Xbox 360 Controller steuern
        • Raspberry Pi GSM Modul - Huawei Internet SticksRaspberry Pi GSM Modul – Mobiles Internet
        • Raspberry Pi Bluetooth DatentransferRaspberry Pi Bluetooth Datentransfer zum Smartphone
      • Infrarot & Laser
        • Raspberry Pi Infrarot FernbedienungRaspberry Pi: Per IR Remote Befehle ausführen
        • infrarot sharp distance senserInfrarot Abstandsmessung mit dem Raspberry Pi
        • Raspberry Pi Laser Lichtschranke für weite DistanzenRaspberry Pi Laser Lichtschranke für weite Distanzen
        • Infrarot Raspberry Pi FernbedienungInfrarot Steuerung einrichten
        • Raspberry Pi Infrarot Lichtschranke bauen und Geschwindigkeit messenRaspberry Pi Infrarot Lichtschranke bauen
        • Raspberry Pi Fotowiderstand HelligkeitssensorFotowiderstand (Helligkeitssensor) am Raspberry Pi
      • Temperatur & Navigation
        • Raspberry Pi Luftfeuchtigkeit/Temperatur SensorRaspberry Pi: Luftfeuchtigkeit und Temperatur messen
        • Measuring Temperature with a Raspberry Pi Temperature Sensor (1-Wire)Raspberry Pi Temperatursensor (1-Wire): Temperatur messen
        • Raspberry Pi BMP180 SensorRaspberry Pi und I2C Luftdrucksensor BMP180
        • Raspberry Pi RTC Real Time ClockReal Time Clock Modul steuern
        • Rotation und Beschleunigung mit dem Raspberry Pi messenRotation und Beschleunigung mit dem Raspberry Pi messen
        • Raspberry Pi GPS ModulRaspberry Pi GPS Ortungs- / Navigationsgerät bauen
        • Raspberry Pi Kompass selber bauenRaspberry Pi Kompass selber bauen (HMC5883L)
        • Kontaktlosen Infrarot-Temperatursensor MLX90614 am Raspberry Pi auslesenMLX90614 – Kontaktlos Temperaturen messen
      • Displays
        • Raspberrry Pi HD44780 I2CHD44780 LCD Display per I2C ansteuern
        • Raspbery Pi LCD DisplayRaspberry Pi LCD Display: 16×2 Zeichen anzeigen
        • DisplayTipps & Tricks zum offiziellen 7″ Raspberry Pi Touchscreen
        • Raspberry Pi TouchscreenTestbericht zum 7″ Raspberry Pi Touchscreen Display
        • LCD Touch Display (3.2″) am Raspberry PiLCD Touch Display (3.2″) am Raspberry Pi
        • tft lcd touch displayRaspberry Pi LCD Touch Display Teil 2 – Anpassungen
        • Raspberry Pi LED MAX7219 Dot Matrix – ProjektübersichtRaspberry Pi LED Matrix – Projektübersicht
        • Raspberry Pi 7 Segment Anzeige Kathode mit MAX7219Raspberry Pi: 7 Segment Anzeigen mit MAX7219 steuern (Kathode)
        • 7 Segment Anzeige (Anode) mit MAX7219 MAX7221 und Raspberry Pi7 Segment Anzeige mit MAX7219 am Raspberry Pi (Anode)
        • Raspberry Pi Tablet Raspad TestberichtRaspberry Pi Tablet „Sunfounder RasPad“ Testbericht
      • Motoren & Sonstige
        • Raspberry Pi Stepper Motor Control with L293D / ULN2003ARaspberry Pi Schrittmotor ansteuern
        • Raspberry Pi Servo MotorRaspberry Pi Servo Motor Steuerung
        • Raspberry Pi PCA9685 mehrere Servos gleichzeitig steuernMehrere Servo Motoren per Raspberry Pi steuern
        • Raspberry Pi PIR Motion SensorBewegungsmelder PIR anschließen und steuern
        • How to use a Raspberry Pi Fingerprint Sensor for AuthenticationRaspberry Pi Fingerprint Sensor zur Authentifizierung nutzen
        • Raspberry Pi Akku AdapterRaspberry Pi mit Akkus/Batterien betreiben
        • Entfernung messen mit Ultraschallsensor HC-SR04 – Raspberry PiEntfernung messen mit Ultraschallsensor HC-SR04
        • Raspberry Pi WS2801B RGB LED Streifen anschließen und steuernWS2801 RGB LED Streifen anschließen und steuern
        • Raspberry Pi WS2812 RGB LED StripWS2812 RGB LED Streifen per Raspberry Pi steuern
        • Raspberry Pi Überwachungskamera LivestreamÜberwachungskamera Livestream einrichten
        • NoIRAufnahmen mit dem offiziellen Kamera Modul
        • Raspberry Pi Zero - establishing an Ethernet connection (ENC28J60)Raspberry Pi Zero – Ethernet Verbindung
  • Software
    • Webserver Installation
      • apache2_menu25Teil 1 – Apache2
      • php_menu25Teil 2 – PHP 5
      • mysql_menu25Teil 3 – MySQL
      • phpmyadmin_menu25Teil 4 – phpMyAdmin
      • ftp_menu25Teil 5 – FTP Server
      • dns_menu25Teil 6 – DNS Server via No-IP
      • home_menu25Homeverzeichnis ändern
      • share_25Samba Server: Dateien im Netzwerk teilen
      • nodejs_menu25Node.js Webserver installieren und GPIOs schalten
      • ssl_menu25SSL Zertifikat kostenlos mit Let’s Encrypt
      • wordpress_25Eigenen WordPress-Server einrichten
      • cloud-25Nextcloud auf dem Raspberry Pi installieren
    • Entertainment
      • led_menu25Raspberry Pi Ambilight für alle Geräte mit OSMC selber bauen
      • amazon_menu25Amazon Alexa (Deutsch) auf dem Raspberry Pi installieren
      • controller_25Raspberry Pi RetroPie – Spielekonsole selber bauen
      • kodi_menu25Mediencenter Raspbmc als SmartTV mit dem Raspberry Pi
      • android_25Android TV Box zum selber bauen
      • apple-2316234_640Raspberry Pi als AirPlay-Empfänger
      • jukebox_menu25Raspberry Pi als Jukebox (Spotify, Soundcloud, TuneIn, uvm.)
      • steam_25Steam Spiele streamen
      • minecraft_menu25Raspberry Pi Minecraft Server
      • youtube_25YouTube Live Streaming einrichten
      • qr-code-tutorials-raspberrypi.de_25Raspberry Pi QR / Barcode Scanner
    • Fernsteuerung
      • rdp_menuRaspberry Pi Remotedesktop Verbindung
      • ssh_menu25SSH Zugriff einrichten via Putty (Windows)
      • vnc_menu25Raspberry Pi mittels VNC fernsteuern
      • welcome_menu25SSH Terminal Begrüßung ändern
      • telegram1_menu25Telegram Messenger auf dem RaspberryPi
      • telegram2_menu25Mit Telegram Messenger Raspberry Pi steuern
      • bluet_menu25Raspberry Pi Bluetooth Datentransfer zum Smartphone
      • alexa_voice_25Eigenen Raspberry Pi Alexa Skill bauen
      • microphone_25Sprachsteuerung selber bauen
      • mqtt_25MQTT Broker/Client Funkkommunikation
      • mail_25Vom Raspberry Pi Emails senden
      • twitter_25Per Twitter Bot Nachrichten posten
    • Weitere
      • loggen_menu25Sensordaten mit ThingSpeak loggen und auswerten
      • mysql_datalogger25Per lokaler MySQL Datenbank zum Raspberry Pi Datenlogger
      • opencv_menu25OpenCV auf dem Raspberry Pi installieren
      • arduino_menu30tWiringPi installieren & Pinbelegung (Raspberry Pi)
      • radio_menu25Raspberry Pi als Radio Sendestation
      • win10_menu25Windows 10 IoT auf dem Raspberry Pi installieren
      • printer_25Drucker einrichten und per Knopfdruck Bilder drucken
      • gsm_menu25Raspberry Pi GSM Modul – Mobiles Internet (LTE, 3G, UMTS)
      • autostart_menu25Autostart: Programm automatisch starten lassen
      • machine-learning-25Raspberry Pi Machine Learning erlernen
  • Projekte
      • roboter_menu30tRoboter
        • Raspberry Pi Roboter ProjektRaspberry Pi Roboter Projektübersicht
        • Raspberry Pi Roboter Bausatz fertigTeil 1: Zusammenbau
        • Raspberry Pi Roboter - Linien folgenTeil 2: Linien folgen lassen
        • Raspberry Pi Roboter per Infrarot Fernbedienung steuernTeil 3: Per Infrarot Fernbedienung steuern
        • Raspberry Pi Roboter: Ultraschall AutopilotTeil 4: Automatisch Hindernissen ausweichen
        • Raspberry Pi Roboter der eigenen Stimme folgen lassenTeil 5: Der eigenen Stimme folgen lassen
        • Raspberry Pi Roboter mit Xbox 360 Controller fernsteuernTeil 6: Mit Xbox 360 Controller Roboter fernsteuern
        • Raspberry Pi Robot Arm 6DOF6-Gelenkigen Roboter Arm am Raspberry Pi betreiben (6 DOF)
      • led_menu30LED Matrix
        • Raspberry Pi LED MAX7219 Dot Matrix – ProjektübersichtMAX7219 LED Matrix – Projektübersicht
        • 8×8 LED Dot Matrix Parts8×8 LED Matrix – Zusammenbau und Installation
        • Raspberry Pi Bibliothek für mehrzeilige m x n MAX7219 LED MatrizenBibliothek für mehrzeilige m x n MAX7219 LED Matrizen
        • Graphiken auf mehrzeiligen Raspberry Pi LED Matrizen zeichnenGraphiken auf mehrzeiligen Raspberry Pi LED Matrizen zeichnen
        • Pong auf MAX7219 Matrizen spielen (mit Joystick) – Raspberry PiPong auf MAX7219 Matrizen spielen (mit Joystick)
        • Snake auf Raspberry Pi MAX7219 Matrizen spielenSnake auf Raspberry Pi MAX7219 Matrizen spielen
        • 7 Segment Anzeige (Anode) mit MAX7219 MAX7221 und Raspberry Pi7 Segment Anzeige (Anode) mit MAX7219/MAX7221
        • Raspberry Pi 7 Segment Anzeige Kathode mit MAX7219Raspberry Pi: 7 Segment Anzeigen mit MAX7219 steuern (Kathode)
      • wetterstation_menu30Wetterstation
        • Raspberry Pi Wetterstation mit OpenHAB 2 bauenEigene Raspberry Pi Wetterstation mit OpenHAB 2 bauen
        • Raspberry Pi Luftfeuchtigkeit/Temperatur SensorLuftfeuchtigkeit und Temperatur messen
        • raspberry_pi_thingspeak_daten_loggenSensordaten mit ThingSpeak loggen und auswerten
        • Raspberry Pi BMP180 SensorRaspberry Pi und I2C Luftdrucksensor BMP180
        • Measuring Temperature with a Raspberry Pi Temperature Sensor (1-Wire)Raspberry Pi Temperatursensor (1-Wire): Temperatur messen
        • ESP8266 NodeMCU Außenposten-Wetterstation für den Raspberry PiESP8266 Wetterstation Außenposten für den Raspberry Pi
        • Raspberry Pi Gas Sensor MQ-2Raspberry Pi Gas Sensor (MQ-X) konfigurieren und auslesen
      • arduino_menu30tArduino & ESP8266
        • ESP8266 Microcontroller BoardEinführung & Programmierung des ESP8266 NodeMCU Boards
        • Raspberry Pi + ESP8266 NodeMCU: Per WLAN Daten sendenRaspberry Pi + ESP8266 NodeMCU: Per WLAN Daten senden
        • ESP8266 NodeMCU Außenposten-Wetterstation für den Raspberry PiESP8266 Wetterstation Außenposten für den Raspberry Pi
        • Mit dem NodeMCU ESP8266 433MHz Funksteckdosen steuernMit dem NodeMCU ESP8266 433MHz Funksteckdosen steuern
        • ESP8266 NodeMCU HD44780 LCD Display per I2C steuernNodeMCU ESP8266: HD44780 LCD Display per I2C steuern
        • ESP8266 Grafikdisplay: Am SSD1306 OLED per I2C Bilder & Text anzeigen
        • ESP8266 Google Maps API RoutenplanerESP8266 Google Maps API Routenplaner auf LCD anzeigen
        • 2000px-Arduino_Logo.svgRaspberry Pi und Arduino – Einführung
        • arduino unoArduino und Raspberry Pi miteinander kommunizieren lassen
        • Funkkommunikation zwischen Raspberry Pi's und Arduinos (2.4 GHz)Funkkommunikation zwischen Raspberry Pi’s und Arduinos (2.4 GHz)
        • NodeMCU: ESP8266 mit Solarpanel und Akku mit Strom versorgenNodeMCU: ESP8266 mit Solarzelle und Akku mit Strom versorgen
        • ESP8266 Access Point: Günstigen Wlan Repeater selber bauenESP8266 Access Point: Günstigen Wlan Repeater selber bauen
      • Mini Projekte
        • Raspberry Pi Gewächshaus automatisch selber bauenAutomatisches Raspberry Pi Gewächshaus selber bauen
        • Eigene Raspberry Pi Gartenbewässerung mit Webseite bauenEigene Gartenbewässerung mit Webseite bauen
        • Raspberry Pi Radio StationRaspberry Pi als Radio Sendestation verwenden
        • Raspberry Pi Radio ReceiverRaspberry Pi als Radioempfänger benutzen (Autoradio, Car PC)
        • spotify-logo-primary-horizontal-dark-background-rgbRaspberry Pi als Jukebox (Spotify, Soundcloud, TuneIn, uvm.) – Online Radio
        • Raspberry Pi RetroPie Guide - SNES Classic Spielekonsole selber bauenRaspberry Pi RetroPie Guide – SNES Spielekonsole bauen
        • Android + Raspberry Pi: Funksteckdosen App BedienungRaspberry Pi + Android/iOS: Funksteckdosen per App schalten
        • Indirekte Deckenbeleuchtung selber bauen mit farbigem LED LichtIndirekte Deckenbeleuchtung selber bauen mit farbigem LED Licht
  • Sonstiges
    • Wünsch dir ein Tutorial
    • News
    • Reviews
      • Pi Cap – Kapazitives Raspberry Pi Erweiterungsboard
      • Raspberry Pi Tablet „Sunfounder RasPad“ – Testbericht & Einrichtung
      • Testbericht zum 7″ Raspberry Pi Touchscreen Display
      • CrowPi 2 Testbericht: Laptop & Lern-Kit für Kinder
      • Daten auf dem Wio Terminal LCD Screen anzeigen
    • Raspberry Pi Zero
      • Offizielles 5$ Raspberry Pi Zero Modul vorgestellt
      • Raspberry Pi Zero – Ethernet Verbindung herstellen (ENC28J60)
      • Raspberry Pi: WS2801 RGB LED Streifen anschließen und steuern
  • Hausautomation
    • OpenHAB
      • steckdose_25Sonoff S20 Wifi Steckdose steuern
      • wireless_25Funksteckdosen (433 MHz) schalten
      • schalter_25Relais steuern (Rollladen, Lichter, etc.)
      • wetterstation_menu30Wetterstation mit OpenHAB 2 bauen
      • ws28_25WS28xx RGB LED Streifen steuern
      • touchscreen_25Touchscreen Panel bei Näherung aktivieren
      • mqtt_25MQTT Datenabfrage: Raspberry Pi an ESP8266
      • spotify_25Remote Spotify Player im Smart Home
      • heizung_25eQ-3 Thermostat im Smart Home
    • Einführung
      • Raspberry Pi Smart Home OpenHAB installierenOpenHAB installieren & konfigurieren
      • Home Assistant auf dem Raspberry Pi – Erste Schritte
    • ESP8266 NodeMCU
      • esp8266_25Einführung & Programmierung
      • arduino_25ESP8266: Arduino IDE installieren
      • lcd_25NodeMCU HD44780 LCD
      • battery_25Batteriebetrieb via Deep-Sleep
      • wifi_menuPer WLAN Daten senden
      • wetterstation_menu30Wetterstation Außenposten
      • maps_25Google Maps Routenplaner
      • wireless_25NodeMCU Funksteckdosen steuern
      • mail_25Vom NodeMCU Emails versenden
      • rgb_25WS2812B LEDs am Smartphone steuern
      • solar_25ESP8266 Stromversorgung mit Solarzelle
    • Überwachung
      • Aufnahmen mit dem offiziellen Kamera Modul des Raspberry Pi
      • Raspberry Pi: Überwachungskamera Livestream einrichten
      • mailbox_25Briefkasten Sensor – Email Benachrichtigung bei neuer Post
      • Raspberry Pi Überwachungskamera mit Webcam betreiben
      • Überwachung von Fenstern und Türen mit dem Raspberry Pi und Reed-Relais
      • ESP32 Cam Livestream Tutorial für Kamera Modul
    • Raspberry Pi + Android: Benachrichtigungen von Bewegungsmelder
    • Raspberry Pi + Android/iOS: Funksteckdosen per App schalten
    • Raspberry Pi + Android: Schwenkbarer Kamera-Livestream
      • Smart Home
        • Amazon Alexa (Deutsch) auf dem Raspberry Pi installieren
        • Raspberry Pi Funksteckdosen (433MHz) steuern – Tutorial
        • Raspberry Pi Sprachsteuerung selber bauen (Hausautomatisierung)
  • Englisch
Tutorials for Raspberry Pi Tutorials for Raspberry Pi
Home»Hausautomatisierung»Eigenen Raspberry Pi Alexa Skill entwickeln und Pi fernsteuern

Eigenen Raspberry Pi Alexa Skill entwickeln und Pi fernsteuern

Facebook Twitter LinkedIn Tumblr Email Reddit
Eigenen Raspberry Pi Alexa Skill entwickeln und Pi fernsteuern
Teilen
Facebook Twitter LinkedIn Email Tumblr Reddit Telegram WhatsApp

Im Smart Home ist die Sprachsteuerung eine immer wichtiger werdende Komponente. Amazon stellt hierfür Skills zur Verfügung, die auf Amazon Echo Dot, Fire TV Sticks, Smartphones und weiteren Geräten laufen. So lassen sich auch Raspberry Pi Alexa Skills auf einfache Art und Weise erstellen.

Die Skills können optional veröffentlicht werden und sogar damit Geld verdient werden. In diesem Tutorial erstellen wir einen Alexa Skill, der Befehle auf unserem lokalen Raspberry Pi ausführt. Dafür gehen wir alle Punkte Schritt für Schritt durch.

Verschiedene Anbieter wie Google („OK Google“), Apple (Siri) und Microsoft (Cortana) haben ebenfalls Sprachassistenten und bieten Möglichkeiten an, eigene Skills zu schreiben. Bei Interesse können wir das in zukünftigen Tutorials zeigen.

Dieses Tutorial beinhaltet eine einfache LED Steuerung, aber durch kleine Anpassungen können viele weitere Szenarien gebaut werden.

Zubehör

Die Software läuft komplett auf dem Pi. Daneben benötigen wir die Hardware, welche per Sprachsteuerung bedient werden soll. Wir verwenden hierfür:

  • Raspberry Pi
  • eine LED
  • optimal: Widerstände
  • Stromversorgung (USB Typ C)

Daneben ist ein Amazon Gerät mit Alexa nötig. Diese sind:

  • Echo Plus
  • Echo Dot
  • Fire TV Stick
  • Echo Show

 

Vorbereitung und Raspberry Pi Programmierung

Bevor wir den eigentlichen Alexa Skill erstellen, müssen wir ein paar Sachen einrichten und konfigurieren. Zunächst benötigen wir einen Amazon Entwickleraccount. Wir erstellen als erstes auf developer.amazon.com einen Account bzw. loggen uns mit dem existierenden Amazon Account ein.

Anschließend kümmern wir uns um die Einrichtung auf dem Raspberry Pi.

Raspberry Pi Hardware anschließen und Software installieren

Bevor du den Pi startest, verbinde eine einfache LED mit dem langen Ende an GPIO 17 und mit dem kurzen Ende an Ground. Hier siehst du die Pinbelegung:

Raspberry Pi GPIO Pin Belegung
Raspberry Pi GPIO Pin Belegung

Idealerweise kannst du auch einen kleinen Widerstand (220Ω) zwischen Ground und die LED schalten.

Da dieses Beispiel sehr einfach gehalten ist, möchte ich hier noch einige bessere Projektideen mitgeben:

  • LED Strip Effekte per Sprachsteuerung ändern (und dimmen)
  • Steuerung eines Thermostats
  • Den Garten auf Befehl wässern
  • Temperatur von anderen Zimmern abfragen
  • Videoaufnahmen von Überwachungskameras starten
  • uvm.

 

Installation

Verbinde dich nun z.B. per SSH mit dem Raspberry Pi. Zunächst installieren wir die benötigte Software. Wir nutzen die Python Pakete Flask bzw. Flask-Ask, womit man sehr einfach Amazon Alexa Skills schreiben kann:

python3 -m pip install Flask-Ask
pip3 install --upgrade setuptools
pip3 install 'cryptography<2.2'

Wie du siehst nutzen wir eine Version kleiner als 2.2 vom Package Cryptography. Bei neueren Versionen kommt es häufig zu Fehlern in Verbindung mit Flask.

Jetzt erstellen wir die Python Datei, die unseren Code enthält:

sudo python3 alexaskill.py

Diese Datei bekommt folgenden Inhalt:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import logging
import os
 
from flask import Flask
from flask_ask import Ask, request, session, question, statement
import RPi.GPIO as GPIO
 
app = Flask(__name__)
ask = Ask(app, "/")
logging.getLogger('flask_ask').setLevel(logging.DEBUG)
 
STATUSON = ["anzuschalten","anzumachen","anmachen","anschalten","an"] # alle Werte, die als Synonyme im Slot Type definiert wurden
STATUSOFF = ["auszuschalten","auszumachen","ausmachen","ausschalten","aus"]
 
@ask.launch
def launch():
    speech_text = 'Wilkommen zur Raspberry Pi Automatisierung.'
    return question(speech_text).reprompt(speech_text).simple_card(speech_text)
 
@ask.intent('LightIntent', mapping = {'status':'status'})
def Gpio_Intent(status,room):
    GPIO.setwarnings(False)
    GPIO.setmode(GPIO.BCM)
    GPIO.setup(17,GPIO.OUT)
    if status in STATUSON:
        GPIO.output(17,GPIO.HIGH)
        return statement('Licht wurde angeschaltet')
    elif status in STATUSOFF:
        GPIO.output(17,GPIO.LOW)
        return statement('Licht wurde ausgeschaltet')
    else:
        return statement('Sorry, der Befehl ist leider nicht möglich.')
 
@ask.intent('AMAZON.HelpIntent')
def help():
    speech_text = 'You can say hello to me!'
    return question(speech_text).reprompt(speech_text).simple_card('HelloWorld', speech_text)
 
 
@ask.session_ended
def session_ended():
    return "{}", 200
 
 
if __name__ == '__main__':
    if 'ASK_VERIFY_REQUESTS' in os.environ:
        verify = str(os.environ.get('ASK_VERIFY_REQUESTS', '')).lower()
        if verify == 'false':
            app.config['ASK_VERIFY_REQUESTS'] = False
    app.run(debug=True)
 

Speichere die Datei mit Strg + O und beende den Editor mit Strg + X. Anschließend führen wir die Datei aus:

python3 alexaskill.py

 

Erreichbarkeit außerhalb des lokalen Netzwerks

Wir haben zwar nun einen Raspberry Pi Server laufen, allerdings ist dieser nur über das lokale Netzwerk erreichbar. Damit Amazon unseren Raspberry Pi später aufrufen kann, muss dieser öffentlich zugänglich sein.

Wir könnten hierfür entweder einen dDNS Service nutzen und die Ports im Router freigeben, oder aber einen Service wir ngrok nutzen. Das hat den Vorteil, dass wir uns die Konfiguration sparen.

Öffne ein neues Terminal (das alte nicht schließen) und gib folgendes ein:

wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-arm.zip
unzip ngrok-stable-linux-arm.zip

Anschließend können wir bereits starten:

./ngrok http 5000

Die zweite URL (https) benötigen wir im Anschluss für Amazon.

Achtung: Als nicht registrierter User wird nach 8 Stunden die Verbindung resettet und du bekommst eine neue URL. Dies kannst du ändern, indem du dich registrierst und deinen Token angibst:

./ngrok authtoken <TOKEN>

Außerdem ist es möglich die Subdomain selbst zu wählen. Weitere Infos zu ngrok findest du in der Dokumentation.

./ngrok http -subdomain=myveryownamazonalexaskill 5000

 

Übrigens: Beide Befehle (Python Skript und ngrok) können wir auch per Autostart starten lassen.

 

Einrichten des Raspberry Pi Alexa Skills im Amazon Developer Account

In der Amazon Developer Console drücken wir den „Create Skill“ Button. Hier vergeben wir einen Namen (z.B. „Raspberry Pi“), wählen die Sprache und das „Custom“ Modell. Die Hosting Methode ist „Privision your own“.  Anschließend klicken wir oben rechts auf „Create Skill“.

Raspberry Pi Alexa Skill Erstellen - Neuer Skill

Anschließend drücken wir das Plus Zeichen neben „Slot Types“ (Interaction Models) und legen einen neuen Typ namens „STATUS“ an:

 

Raspberry Pi Alexa Skill Erstellen - Slot Type

Hierfür legen wir noch zwei „Values“ an. Diese bekommen die Namen „on“ bzw. „off“ und wir definieren zusätzlich alle möglichen Synonyme (dies sind die gleichen Synonyme, die auch im Python Skript angegeben sind):

Amazon Alexa Skill Slot Values

Als letzten Konfigurationsschritt erstellen wir ein „Intent“ (Klick auf das Plus Zeichen) mit dem Namen „LightIntent“ (selber Name, der auch im Skript angegeben wurde):

Raspberry Pi Alexa Skill Erstellen - Intent hinzufügen

Im unteren Teil fügen wir zunächst den „Intent Slot“ hinzu. Hier wählen wir als Typ „STATUS“ und nennen ihn ebenfalls „status“ (kleingeschrieben):

Im oberen Teil kannst du nun alle möglichen Sprachbefehle angeben, wie bspw. „schalte das licht aus“. Per Doppelklick auf ein Wort, kannst du es mit dem Slot ersetzen:

Überlege dir dabei verschiedene Kombinationen, welche du später nutzen willst. Normalerweise ist der Aufruf z.B. folgender:

Alexa, sage Raspberry Pi, [schalte das Licht an/das Licht auszuschalten/…]

Der hintere Teil ist also wichtig und sollte in diesem Teil definiert werden. Speichere das Model und drücke „Build Model“.

Hier noch einmal die generierte JSON Datei. Du kannst sie auch einfach einfügen

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
{
    "interactionModel": {
        "languageModel": {
            "invocationName": "raspberry pi",
            "modelConfiguration": {
                "fallbackIntentSensitivity": {
                    "level": "LOW"
                }
            },
            "intents": [
                {
                    "name": "AMAZON.FallbackIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.CancelIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.HelpIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.StopIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.NavigateHomeIntent",
                    "samples": []
                },
                {
                    "name": "LightIntent",
                    "slots": [
                        {
                            "name": "status",
                            "type": "STATUS"
                        }
                    ],
                    "samples": [
                        "das licht {status}",
                        "schalte das licht {status}",
                        "mach das licht {status}"
                    ]
                }
            ],
            "types": [
                {
                    "name": "STATUS",
                    "values": [
                        {
                            "id": "off",
                            "name": {
                                "value": "off",
                                "synonyms": [
                                    "auszuschalten",
                                    "auszumachen",
                                    "ausmachen",
                                    "ausschalten",
                                    "aus"
                                ]
                            }
                        },
                        {
                            "id": "on",
                            "name": {
                                "value": "on",
                                "synonyms": [
                                    "anzuschalten",
                                    "anzumachen",
                                    "anmachen",
                                    "anschalten",
                                    "an"
                                ]
                            }
                        }
                    ]
                }
            ]
        }
    }
}

 

Zu guter letzt müssen wir noch die Server URL angeben, an die die Befehle gesendet werden. Klicke dazu auf der linken Seite auf „Endpoint“, wähle HTTPs und füge bei „Default Region“ die URL von ngrok ein. Wähle außerdem folgende Option: „My development endpoint is a sub-domain of a domain that has a wildcard certificate from a certificate authority„.

Amazon Alexa Skill Endpoint

Vergiss nicht zu speichern.

 

Neuen Raspberry Pi Alexa Skill testen – Lokal und auf Amazon Echo Geräten

Wir wollen den Raspberry Pi Alexa Skill nun testen. Dafür gibt es verschiedene Möglichkeiten, auf die wir eingehen. Idealerweise werden beide hintereinander ausgeführt:

1. Amazon Developer Console – Test

In der Developer Console gibt es unter dem Tab „Test“ die Möglichkeit per Sprachaufnahme oder mittels Text Befehle zu senden. Dazu musst du deinem Browser erlauben, dass der dein Mikrofon benutzen darf. Aud der rechten Seite siehst du, wie der Befehl an

2. Live Testen auf Amazon Echo (Dot), Fire TV Stick, etc.

Wir wollen unseren entwickelten Skill dauerhaft auf den Amazon Geräten laufen lassen. Dazu müssen wir zunächst alle Geräte zu unserem Account hinzufügen. Wie dies geht, ist u.a. hier beschrieben. Du siehst alle Alexa Geräte entweder in der Smartphone App (Android, iOS) oder im Amazon Dashboard.

In den Apps kannst du auch neue Geräte einfach hinzufügen. Sobald das Gerät mit dem Account verknpüft ist, kann der Skill bereits verwendet werden.

https://tutorials-raspberrypi.de/wp-content/uploads/alexaskill.mp4

 

Welche Projekte habt ihr damit vor? Weitere Ideen und Anregungen als Kommentare sind herzlich willkommen.

Amazon Alexa Amazon Echo Amazon Fire TV Stick Featured Hausautomation Hausautomatisierung Smart Home Spracherkennung
Teilen Facebook Twitter Pinterest LinkedIn Tumblr Email
Vorheriger BeitragLearn How to Program on the Raspberry Pi – Part 1: Introduction
Nächster Beitrag Mit dem ESP8266 WS2812B LED Strips am Smartphone steuern

Ähnliche Beiträge

Test & Vergleich beliebter WLAN Indoor Überwachungskameras

Türspion Kamera selber bauen und ins Smart Home integrieren

Smart Home: Notifications per Telegram Bot verschicken (Home Assistant)

SwitchBot Curtain 3: Vorhänge und Gardinen im Smart Home automatisieren

16 Kommentare

  1. Dieter Behm am 10. Mai 2020 18:46

    Hallo,
    hat alles gut funktioniert, bis ich das script ausführen wollte, dann habe ich in der Historie nachgesehen und diese Fehlermeldung gefunden.
    Installing collected packages: aniso8601, PyYAML, six, pyOpenSSL, Flask, Flask-Ask
    The script flask is installed in ‚/home/pi/.local/bin‘ which is not on PATH.
    Consider adding this directory to PATH or, if you prefer to suppress this warning, use –no-warn-script-location.
    Ich bin Anfänger und ratlos. Bitte um Hilfe

    Gruß
    Dieter

    Antworten
    • Thomas am 17. Mai 2020 0:27

      Das Problem hatte ich auch eben.
      Ich habe den angemeckerten Pfad unter „/etc/profile“ eingetragen.
      Dazu den Nano-Editor mit „sudo nano /etc/profile“ aufrufen.
      In Zeile 4ff steht folgendes oder ähnliches.
      if [ „`id -u`“ -eq 0 ]; then
      PATH=“/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/openhabian/.local/bin“
      else
      PATH=“/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:/home/openhabian/.local/bin“

      Den angemeckerten Pfad mit einem „:“ getrennt hinten anhängen. Bei mir war es „/home/openhabian/.local/bin“.

      Ich hoffe es hilft noch.

      Antworten
  2. Alfred Kurth am 12. Mai 2020 15:06

    Hallo

    Ich finde in der App keine Developer Option um ein Gerät hinzuzufügen.

    Wie komme ich zu dieser Option ?

    Danke und Gruss
    Alfred

    Antworten
  3. Thomas am 17. Mai 2020 0:31

    Ich habe leider das Problem, dass beim Ausführen des „alexaskill.py“ skriptes ein Fehler auftritt.

    Traceback (most recent call last):
    File „alexaskill.py“, line 5, in
    from flask_ask import Ask, request, session, question, statement
    File „/home/openhabian/.local/lib/python3.5/site-packages/flask_ask/__init__.py“, line 9, in
    from .core import (
    File „/home/openhabian/.local/lib/python3.5/site-packages/flask_ask/core.py“, line 10, in
    from werkzeug.contrib.cache import SimpleCache
    ImportError: No module named ‚werkzeug.contrib‘

    Beim Importieren von „from flask_ask import Ask, request, session, question, statement“ scheint dieser Fehler aufzutreten. Kann mir jemand sagen, was ich tun kann, um das Beispiel doch noch ans laufen zu bekommen?

    Antworten
    • Markus am 20. November 2020 19:54

      Hallo,
      ich habe das gleiche Problem auf meinem Raspberry Pi 4 mit Debian Strech Light.
      Wäre echt toll hier Hilfe zu bekommen, oder hast du das Problem evtl. schon Gelöst?

      MfG

      Antworten
    • Bernd am 6. Oktober 2021 22:07

      Das liegt an der aktuellen Werkzeug Modul
      es muss eine ältere Version installiert werden.

      sudo pip uninstall werkzeug
      sudo pip install werkzeug==0.16.0

      Damit geht es!!

      Antworten
  4. timmy am 17. August 2020 14:17

    Hallo,

    bei mir hat bisher alles geklappt ohne Fehlermeldungen o.ä.
    Nur bin ich jetzt an dem Punkt, an dem ich alles einmal testen möchte. Weder live noch in der Developer Console kann ich den Befehl ausführen, Rückmeldung: „Tut mir leid, ich kann kein Gerät mit dem Namen licht finden“
    Ebenso wird rechts im Bildschirm weder JSON Input noch Output angezeigt.
    Mache ich was falsch?

    Antworten
    • Michael am 29. Oktober 2020 20:07

      same here 🙁

      Antworten
    • Markus am 29. Januar 2021 14:57

      bei mir das gleiche, bitte um Hilfe 🙁

      Antworten
    • Markus am 29. Januar 2021 15:08

      habe es gelöst bekommen in dem ich in der Developer Console bei „Invocation“ den „Skill Invocation Name“ den Namen „raspberry pi“ gegeben habe (neu builden nicht vergessen). Danach reagiert er nun auf Alexa, sage Raspberry pi….. 🙂 Hoffe das hilft einem 🙂

      Antworten
      • Oli am 19. Oktober 2021 10:12

        Hat leider nicht geholfen. Gleiches Problem hier.

  5. Anonym am 17. Mai 2021 16:29

    Gibt es auch die Möglichkeit eine bestimmt Variable in einem Python-Skript abzufragen btw. zu setzen?
    „Wie lautet der Sensorwert von SensorXY?“ Oder „Setze die Variable X auf 50.“

    Antworten
  6. monty am 15. Oktober 2021 11:52

    Ich sehe zwar den Skill in meeiner Alexa App und kann diesen auch aktivieren, aber wenn ich dann den Statsatz bei Alexa sage, kann Alexa den Skill nicht finden. Das Vorgehen wie oben beschrieben (https://developer.amazon.com/de-DE/docs/alexa/ack/dev-kit-device-registration.html) passt nicht, weil man ja keinen QR Code hat.

    Antworten
  7. franz am 3. Februar 2022 19:26

    Hi ich habe eine Verbindung zu meinem Pi, kann die Funktionen die ich möchte über den Befehl auslesen lassen, jedoch keine Rückgabewerte an die Alexa zurück senden. Es kommt nur :“Bei der Antwort des angeforderten Skill ist ein Problem aufgetreten“. Kennt jemand die Antwort?

    Antworten
    • noName am 23. Juni 2022 22:21

      Hallo, diesen Fehler bekomme ich auch. Hat jemand eine Lösung gefunden?

      Antworten
  8. Nils am 26. März 2023 5:12

    wenn ich bei test den Sprachbefehl ausführe, sagt alexa sie könne diesen Skill nicht erreichen. :/

    Antworten

Hinterlasse einen Kommentar Antwort abbrechen

Raspberry Pi: Visual Studio Code installieren und in C++ programmieren

Raspberry Pi Daten auf dem Wio Terminal LCD Screen anzeigen

Raspberry Pi GPIOs mittels I2C Port Expander erweitern – Teil 2

Raspberry Pi: WS2801 RGB LED Streifen anschließen und steuern

Snake auf Raspberry Pi MAX7219 Matrizen spielen

Anleitung: Raspberry Pi Android TV Box zum selber bauen

Blog abonnieren

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

Tutorials for Raspberry Pi
Facebook Twitter YouTube
  • Kontakt & Impressum
  • Unterstützen
  • Datenschutz

Tippe den Suchbegriff oben ein und drücke Enter, um danach zu suchen. Drücke Esc, um abzubrechen.