• 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)
Tutorials for Raspberry Pi Tutorials for Raspberry Pi
Home»Arduino & ESP8266»Mit dem NodeMCU ESP8266 433MHz Funksteckdosen steuern

Mit dem NodeMCU ESP8266 433MHz Funksteckdosen steuern

Facebook Twitter LinkedIn Tumblr Email Reddit
Teilen
Facebook Twitter LinkedIn Email Tumblr Reddit Telegram WhatsApp

Im Bereich der Hausautomatisierung sind 433 MHz Funksteckdosen kaum wegzudenken. Ebenso der ESP8266 Microcontroller. Mit diesen beiden Komponenten zusammen lässt sich eine extrem einfache und kostengünstige Methode schaffen, eine ESP8266 433MHz Funksteckdosen-Steuerung zu bauen. Da die NodeMCU Boards noch einmal für weniger Geld als bspw. ein Raspberry Pi Zero zu haben und dazu Wifi-fähig sind, bieten sie das perfekte Werkzeug.

In diesem Tutorial bauen wir für wenige Euro eine per Smartphone und Web steuerbare Oberfläche, mit der wir unsere Steckdosen daheim schalten können.

Aus einer normalen 433 MHz Funksteckdose machen wir mittels dem ESP8266 eine WLAN-Steckdose bzw. Netzwerksteckdose und das für einen Bruchteil dessen, was jene Modelle einzeln kosten würden.

 

Zubehör

Einige haben vielleicht noch die Funksteckdosen aus der Raspberry Pi Schaltung zuhause. Diese lassen sich super einfach mit einem ESP8266 bedienen. Falls wir (noch) keine da haben, brauchen wir lediglich folgendes Zubehör, um die Steckdosen per 433 MHz Funk über eine Weboberfläche mit jedem internetfähigen Gerät fern zu steuern:

  • NodeMCU ESP8266 (z.B. als Developer Board)
  • 433 MHz Funksteckdosen (kein generischer Code)
  • Sender Empfänger (433MHz Sender + Empfänger RF Set)
  • Breadboard
  • Jumperkabel (ebay)

Im Endeffekt brauchen wir nur einen GPIO, weshalb es egal ist, welches ESP Board du nutzt. Falls du einen ESP-01 hast, solltest du dir die Verkabelung in diesem Tutorial ansehen, da dieser anders als das ESP-12 Development Board keinen Micro USB Port hat, womit wir ihn einfach per USB anschließen können.

Wer die Anwendung möglichst klein halten will, kann den ESP8266 als normale / nicht Development Board Version nehmen und per USB flashen.

 

Aufbau & Verkabelung der 433 MHz Funksteckdosen am NodeMCU

Beginnen wir mit den Funksteckdosen. Diese müssen einen einstellbaren Hauscode haben, welchen wir zunächst setzen. Dazu muss die Rückseite geöffnet werden und der Code eingestellt werden. Details dazu findest du in diesem Tutorial.

Der Code ist dabei in zwei Teile aufgeteilt: Zunächst der eigentliche Hauscode, sowie die Belegung innerhalb (bei mir A bis E). Achte darauf, dass nur ein Buchstabe aktiviert (oben) sein darf!

433MHz Funksteckdosen Hauscode
433MHz Funksteckdosen Hauscode (00011) + Buchstabe (D)

Ebenso sollte die Fernbedienung eingestellt werden. Jedoch wird hier nur der eigentliche Code, ohne Nummerierung (A-E) angegeben, da diese über die Knöpfe ausgewählt werden.

433MHz Funksteckdosen Fernbedienung
433MHz Funksteckdosen Fernbedienung

Du kannst die Steckdosen nun wieder zu schrauben und per Fernbedienung testen. Sie sollten problemlos angehen.

Die Verbindung des Sendemoduls ist recht einfach: VCC kommt an den 3.3V Pin, GND an GND und DATA an einen freien GPIO (bspw. D6 in meinem Beispiel):

ESP8266 433 MHz Funksteckdosen Steckplatine

 

Vorbereitung – ESP8266 Firmware mit 433 MHz Bibliothek laden

Wir brauchen ein Custom-Build, welches die rfswitch Bibliothek bereits enthält. Dazu rufen wir nodemcu-build.com auf und wählen zusätzlich zu den standardmäßig ausgewählten „rfswitch“ aus (ggf. noch weitere, falls wir ein anderes Projekt ebenfalls laufen lassen wollen):

Anschließend bekommst du eine Mail mit dem Build innerhalb von wenigen Minuten. Lade diesen herunter und übertrage die Firmware wie in diesem Tutorial beschrieben mit dem ESP8266 Flasher auf das NodeMCU Board.

 

433 MHz Codes der Funksteckdosen auslesen

Wir haben erneut zwei Möglichkeiten. Entweder wir kennen die Codes zum An- und Ausschalten bereits (z.B. aus dem Raspberry Pi Tutorial oder aufgrund der Belegung) oder wir müssen sie erst herausfinden.

Leider ist es mit der Programmiersprache Lua nicht möglich die Codes auszulesen, weshalb man dies über die Arduino IDE machen müsste. Welcher GPIO genutzt wird ist dabei egal.

Ein einfaches Beispiel (für ESP8266 sowie Arduino) findet sich in der rfswitch Bibliothek auf Github.

Meine Codes für Steckdose „A“ mit Hauscode 00011 sind bspw. folgende:

  • An: 5506385 (binär 10101000000010101010001)
  • Aus: 5506388 (binär 10101000000010101010100)

Für gewöhnlich haben die Codes 24Bits.

 

Einfache ESP8266 433MHz Funksteckdosen-Steuerung

Sobald die Codes ausgelesen wurden und wir diese für jede 433 MHz Funksteckdose gespeichert haben, können wir mit einer Zeile den RF Transmitter bedienen. Dafür ist ein solcher Aufruf nötig:

Lua
1
rfswitch.send(protocol_id, pulse_length, repeat, pin, value, length)

Die Parameter haben folgende Bedeutung:

  • protocol_id: Wert zwischen 1 und 6, normalerweise 1.
  • pulse_length: Pulslänge im Millisekunden, zwischen 100 und 650.
  • repeat: Anzahl an Wiederholungen (sollte nicht zu groß sein)
  • pin: I/O Pin (Pin 6 = GPIO12)
  • value: Dezimalzahl, die gesendet werden soll (vorher ausgelesen).
  • length: Bitlänge (3Byte = 24 Bit)

Mit folgendem Skript würde meine Steckdose sich also anschalten lassen:

Lua
1
rfswitch.send(1, 300, 5, 6, 5506385, 24)

 

ESP8266 Weboberfläche für 433 MHz Funksteckdosen

Nun möchten wir ja auch einfach per Smartphone, Tablet und PC die Funksteckdosen an- und ausschalten. Deshalb entwerfen wir nun noch eine entsprechende GUI, welche dann über die lokale IP Adresse des ESP8266 über einen Browser aufrufbar ist.

Öffne deinen ESPlorer und erstelle eine neue Datei (remotecontrol433mhz.lua). Diese bekommt folgenden Inhalt:

Lua
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
-- Your Wifi connection data
local SSID = "xxxxxxxxxxxxxxx"
local SSID_PASSWORD = "xxxxxxxxxxxxxxx"
 
SENDER_PIN = 6
OUTLETS = {
    {name="Test Steckdose 1", codeON=5506385, codeOFF=5506388, status="OFF"} --,
    --{name="Test Steckdose 2", codeON=5506373, codeOFF=5506376, status="OFF"},
    --etc
}
 
function wait_for_wifi_conn ( )
   tmr.alarm (1, 1000, 1, function ( )
      if wifi.sta.getip ( ) == nil then
         print ("Waiting for Wifi connection")
      else
         tmr.stop (1)
         print ("ESP8266 mode is: " .. wifi.getmode ( ))
         print ("The module MAC address is: " .. wifi.ap.getmac ( ))
         print ("Config done, IP is " .. wifi.sta.getip ( ))
      end
   end)
end
 
function setOutlet(index, status)
    print(index,OUTLETS[index])
    if OUTLETS[index] ~= nil then
        print("ok")
        if status == true then
            rfswitch.send(1, 300, 5, SENDER_PIN, OUTLETS[index]["codeON"], 24)
            OUTLETS[index]["status"] = "ON"
        elseif status == false then
            rfswitch.send(1, 300, 5, SENDER_PIN, OUTLETS[index]["codeOFF"], 24)
            OUTLETS[index]["status"] = "OFF"
        end
    end
end
 
function connect (conn, data)
    local data = ""
    local function outletHTML(index, outlet)
        local output = ""
        output = output .. "<div class='col-sm-4 col-xs-12'><h4 class ='text-left'>" .. outlet["name"]
        output = output .. "<span class='badge'>" .. outlet["status"] .. "</span></h4></div>"
        output = output .. "<div class='col-sm-4 col-xs-6'><form action='/' method='POST'><button type='button submit' name='" .. index .. "' value='1' class='btn btn-success btn-lg'>ON</button></form></div>"
        output = output .. "<div class='col-sm-4 col-xs-6'><form action='/' method='POST'><button type='button submit' name='" .. index .. "' value='0' class='btn btn-danger btn-lg'>OFF</button></form></div>"
        return output
    end
    
    conn:on ("receive",
        function (cn, req_data)
 
            if req_data:find('^POST / HTTP/1.1') ~= nil then
                -- POST data
                --print(req_data)
                local l = req_data:match(".*()\r\n")
                if l < string.len(req_data) then
                    local d = string.sub(req_data, l)
                    local nr, val = string.match(d, "(%d+)=(%d+)")
                    nr = tonumber(nr)
                    if nr ~= nil then
                        if val == "0" then
                            setOutlet(nr, false)
                        elseif val == "1" then
                            setOutlet(nr, true)
                        end
                    end
                end
            end
            
            data = data .. "<html><head><meta name='viewport' content='width=device-width, initial-scale=1'>"
            data = data .. "<script src='https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js'></script>"
            data = data .. "<link rel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'>"
            data = data .. "<title>ESP8266 433MHz Funksteckdosen Steuerung</title></head><body>"
            data = data .. "<div class='container'>"
            data = data ..     "<div class='row'>"
            for i, outlet in pairs(OUTLETS) do
                data = data ..     outletHTML(i, outlet)
            end
            data = data ..     "</div>"
            data = data .. "</div>"
            data = data .. "</body></html>"
 
            --cn:send("HTTP/1.1 200 OK\r\nServer: NodeLuau\r\nContent-Type: text/html\r\nConnection: close\r\n\r\n")
            cn:send(data)
            
            -- Close the connection for the request
            cn:on("sent",function(cn) cn:close() end)
        end)
end
 
 
 
 
-- Configure the ESP as a station (client)
wifi.setmode(wifi.STATION)
--wifi.sta.config(SSID, SSID_PASSWORD)
wifi.sta.config {ssid=SSID, pwd=SSID_PASSWORD}
wifi.sta.autoconnect(1)
 
-- Hang out until we get a wifi connection before the httpd server is started.
wait_for_wifi_conn()
 
-- Create the httpd server
svr = net.createServer(net.TCP, 30)
-- Server listening on port 80, call connect function if a request is received
svr:listen (80, connect)
 

Zunächst müssen die WLAN Daten eingetragen werden. Ebenfalls musst du für jede zu steuernde Steckdose einen Eintrag bereit stellen. Dieser sollte neben dem Namen auch die ausgelesenen Codes für das An- und Ausschalten in dezimaler Schreibweise enthalten. Hast du mehrere Steckdosen, müssen die Einträge jeweils mit Komma getrennt werden (hinter dem letzten Eintrag kommt jedoch kein Komma!).

Hast du alles angepasst, kannst du die Datei bereits auf den NodeMCU übertragen und ausführen.

Zu guter letzt erstellen wir noch eine „init.lua“, die nichts weiter tut, als unser vorher erstelltes Skript aufzurufen. Dadurch ist gesichert, dass der ESP8266 Server auch nach einem Neustart noch ausgeführt und erreichbar ist:

Lua
1
dofile("remotecontrol433mhz.lua");

Nach dem übertragen kannst du den ESP8266 neu starten und solltest gleich die IP Adresse im rechten Fenster des ESPlorer angezeigt bekommen. In meinem Fall ist dies 192.168.1.53.

Öffnest du nun in deinem Heimnetzwerk einen beliebigen Browser (Smartphone, Tablet, PC) und gibst diese IP als URL ein, erscheint ein solches Layout:

Drücken der entsprechenden Buttons sendet die eingestellten Codes und schaltet die Steckdosen, sofern sie sich im Umkreis befinden. Der Status (AN/AUS) könnte theoretisch auch in Dateien gespeichert werden und somit auch erhalten bleiben, sofern der ESP8266 neugestartet wird. Ansonsten ist er initial immer auf „Aus“. Dazu muss allerdings noch gesagt werden, dass ggf. Statusänderungen per Funkfernbedienung nicht erfasst werden, sondern nur jene über das ESP8266 Webinterface / GUI.

PS: Die Bootstrap Javascript und CSS Dateien werden aus dem Internet geladen. Diejenigen die ein komplett lokales System aufbauen möchten, müssten eben jene beiden Dateien lokal speichern und daher laden.

PPS: Sofern du die Funksteckdosen auch von außerhalb deines Netzwerks nutzen willst (wovon ich aber abrate, solange nicht entsprechende Sicherheitsmaßnahmen getroffen wurden), brauchst du einen dDNS Service wie NoIP oder dynDNS. Moderne Router wie die FRITZ!Box unterstützen diese Services.

433 mhz 433 rf clone 433.92 mhz ESP-01 ESP-12 ESP-32 ESP8266 Funkempfänger funkmodul Funksender GUI Hausautomation Hausautomatisierung NodeMCU Smart Home
Teilen Facebook Twitter Pinterest LinkedIn Tumblr Email
Vorheriger BeitragMonatelanger ESP8266 Batteriebetrieb mittels Deep-Sleep
Nächster Beitrag NodeMCU ESP8266: HD44780 LCD Display per I2C 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

17 Kommentare

  1. Wolf Bischof am 24. September 2017 20:52

    Klingt gut, obschon ich nur Pi Erfahrung habe und es mir zuerst schwer fiel, zu erkennen um was es ging:
    per WLAN und Browser 433 Mhz Steckdosen schalten

    Ich habe noch eine Dose über, mit der kann ich es versuchen, denn 3 x 433Mhz Funksender + Empfänger Sets hab ich auch noch, nur das arduino Teil fehlt. So komm ich wohl doch noch an arduino Erfahrung.

    Danke schon mal

    Antworten
    • philip am 8. Oktober 2017 12:20

      Hallo Wolf,

      der NodeMCU ist kein Arduino.
      Es ist ein eigenes opensource WLAN Entwicklungsboard.

      Es ist Leistungsstärker und hat bereits WLAN integriert.

      Antworten
  2. Daniel am 2. Oktober 2017 13:42

    Hi,
    danke für das super Tutorial! Habe es ausprobiert und nach kleineren Schwierigkeiten klappt es jetzt, wie es soll. Vielleicht spare ich dem ein oder anderen Zeit: Die Daten zur SSID und dem zugehörigen Passwort müssen im remotecontrol433mhz.lua script nur ganz oben eingetragen werden. Ich hatte sie zuerst auch noch weiter unten im script eingetragen. Falsch verstanden, viele Fehlermeldungen.
    Grüße aus Münster!

    Antworten
  3. philip am 15. Oktober 2017 13:23

    Hallo Felix,

    lässt sich die Webseite auch mit einem Passwort sichern?
    Das wäre sicher für einige, auch für mich, sehr interessant.

    Antworten
    • Felix am 15. Oktober 2017 13:52

      Du könntest es einfach mit einer .htacces und .htpasswd probieren.

      Antworten
  4. Holger am 11. November 2017 21:03

    Hmm, zwei Fragen:

    1. Wie komme ich ohne Empfänger an die Codes für Brennenstuhlsteckdosen? Für andere Sprachen/Systeme scheint es ja einfach Libarys zu geben, in die man nur den Hauscode und den Steckdosenbuchstaben über gibt. Es muss also doch irgendwo Tabellen geben oder Umrechnungsanleitungen oder?

    2. Wie könnte man System erweitern, dass man die Steckdosen auch über Zeit steuern kann? Also eine Kombination aus beidem. Gerade jetzt, wo die Weihnachtszeit näher kommt, wäre das für die zahlreichen Licherterketten und Lichtbögen echte klasse, wenn man als Grundgerüst eine Zeitschaltung hätte und die dann bequem variieren kann.

    Antworten
    • Felix am 12. November 2017 10:57

      1. Kann gut sein, dass es da Tabellen gibt, aber mir sind bisher keine bekannt.
      2. Du meinst quasi über einen Cronjob? Beim Raspberry Pi ist das sehr einfach, beim NodeMCU müsstest du immer wieder warten und die Zeit abfragen – falls die Bedingung(en) erfüllt sind an bzw. ausschalten.

      Antworten
      • Holger am 15. Dezember 2017 11:17

        Ob man das über einen Cronjob löst oder anders ist ja eignetlich egal. Es reicht ja notfalls eine Schleife, in der kontrolliert wird, ob zu dieser Zeit die Steckdose an sein sollte oder nicht. Und die kontrolliert, ob die Steckdose schon dem gewünschten Zustand entspricht und bei Bedarf den Funkcode senden. Und sie muss kontrollieren, ob die Steckdose in dem Schaltzeitraum schon manuell geschaltet wurde, dann wird für diesen Zeitschaltraum die Automatik ignoriert.

        Ehrlich gesagt habe ich keine Ahnung, wie man das programmiert. Bücher zum Lernen von Lua habe ich nirgendwo gefunden. Gibts da nichts?

      • Felix am 15. Dezember 2017 11:23

        Ja im Prinzip stimmt das, bis auf, dass du den Status nicht abfragen kannst. Du kannst lediglich die ganze Zeit alle Codes „mithören“. Wurde ein manueller Code zum An/Ausschalten erkannt, setzt du den Status (inkl. Zeit etc).
        Bzgl. Lua gibt es schon einige Bücher, aber überwiegend im Englischen. Ansonsten hilft evtl noch die Lua Website.

  5. Daniel am 24. November 2017 20:02

    Hallo!
    Kann es sein, dass es eine Grenze bei 5 Steckdosen gibt? Wenn ich noch eine sechste mit dem script steuern möchte, gibt es eine Fehlermeldung („out of memory“). Reicht dafür der Arbeitsspeicher des ESP8266 nicht mehr aus? Gibt es da einen Trick, damit man noch mehr Steckdosen steuern kann?

    Antworten
  6. Steffen am 11. Januar 2018 20:56

    Hallo,
    ich würde gern die Steckdosen über ein http get/push (von openhab) ein und ausschalten, also ganz ohne WebGUI. Ist das auch möglich?
    Das lua script müsste dann ja kleiner werden. Im get könnte man dann auch die codes mit übergeben dann ist man flexibler wenn neue Steckdosen hinzukommen.

    Antworten
    • Felix am 11. Januar 2018 21:21

      Ist möglich und ein Tutorial zu OpenHAB im Bezug darauf kommt bald 🙂

      Antworten
  7. Jeff am 15. November 2018 15:13

    Hallo Felix,
    vielen Dank für das Tutorial, funktioniert wunderbar. Ich bin beim Experimentieren ebenfalls auf die maximale Anzahl von 5 Geräten gestoßen, worin liegt die Begrenzung?

    Grüsse
    Jeff

    Antworten
  8. Odinear am 5. März 2020 22:49

    Hallo Felix,
    bei mir läuft die Seite nur wenn ich Sie mit ESPlorer an den MCU send. Wenn ich die
    remotecontrol433mhz.lua auf dem MCU speichere und mit init.lua nach neustert aufrufen lasse,
    wird die Web Seite nicht aufgebaut.
    Gruß Odinear

    Antworten
  9. Ben am 16. Oktober 2020 9:10

    Hallo Felix!
    Mal wieder ein Super Tutorial! Vielen Dank dafür!

    Ich möchte etwas ganz ähnliches umsetzen, jedoch mit einer webGUI, über die ich hinterlegte IR-Commands senden kann. Mein Traum wäre es eine webGUI mit Senderlogos zu haben, die ich anklicken kann und daraufhin auf den jeweiligen Sender auf dem Fernseher umgeschaltet wird.

    Es bereitet mir allerdings schon Schwierigkeiten, dass es bei nodemcu-build.com keine IR-Bibliothek zum Einbinden gibt. Ist das vielleicht schon in einem anderen Modul inkludiert? Online finde ich irgendwie auch nix, was mir hilft. Vielleicht auch, weil ich falsch suche 😀

    Bin mit Python und raspberry mittlerweile ganz fit, allerdings bei Arfuino/NodeMCU noch blutiger Anfänger.

    Antworten
  10. Siggi am 28. Dezember 2020 18:19

    Hallo zusammen,

    wenn ich die remotecontrol433mhz.lua aufrufe bekomme ich diese Fehlermeldung:

    > dofile(‚remotecontrol433mhz.lua‘)
    Lua error: remotecontrol433mhz.lua:13: attempt to call field ‚alarm‘ (a nil value)
    stack traceback:
    remotecontrol433mhz.lua:13: in function ‚wait_for_wifi_conn‘
    remotecontrol433mhz.lua:102: in main chunk
    [C]: in function ‚dofile‘
    stdin:1: in main chunk
    [C]: ?
    [C]: ?

    Der ESP meldet sich (trotzdem ?) im Heimnetz an (zumindest taucht er in der fritz.box auf) aber nach Eingabe der IP bekomme ich nur „Seiten-Ladefehler“.

    Was mache ich falsch ?!

    Antworten
  11. MF am 23. September 2021 12:50

    Hallo zusammen,

    ist es möglich die über den ESP8266 empfangenen 433MHz-Signale über MQTT an einen Raspberry PI weiterzuleiten?

    Würde mich über jede Idee und Tipp freuen. DANKE!!

    Antworten

Hinterlasse einen Kommentar Antwort abbrechen

Raspberry Pi vs. Arduino: Welcher ist der Bessere (für Anfänger)?

Raspberry Pi Temperatursensor (1-Wire): Temperatur messen

Raspberry Pi Bibliothek für mehrzeilige m x n MAX7219 LED Matrizen

Telegram Messenger auf dem RaspberryPi

Raspberry Pi Ambilight für alle Geräte mit OSMC selber bauen

Raspberry Pi mittels Xbox 360 Controller steuern

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.