#378MittelIoT

ESP32 IoT-Vorhangöffner (SG90-Servo)

Tipp auf dem Handy auf + oder −, und der Servo dreht sich im selben Moment auf diesen Winkel: Öffne und schließ einen Modellvorhang, den Wendestab einer Jalousie oder eine kleine Klappe von überall. Dieses Projekt ist die Schritt-für-Schritt-Anleitung zur IoT-Vorlage Servo-Vorhang in der App, gebaut mit einem ESP32 und einem SG90-Servo mit nur 3 Kabeln. Geh zu Werkstatt › Geräte › Gerät hinzufügen; Ohmi erstellt den Code mit deinem Geräteschlüssel. Der Code hier ist ein Beispiel.

0.0(0)
ESP32 IoT-Vorhangöffner (SG90-Servo)
Wenn du den Vorhang öffnen willst, ohne aufzustehen, oder unterwegs die Jalousie schließen möchtest, ist dieses Projekt richtig für dich. Welchen Winkel du am Handy wählst, auf den dreht sich auch der Servomotor; nach einem Stromausfall kehrt das Board zum letzten Winkel zurück. Du fängst mit einem Modellvorhang oder dem Wendestab einer Jalousie an und lernst, was der Servo schafft und wo seine Grenzen liegen. Mit nur drei Kabeln ist es ein guter Einstieg in die Bewegungssteuerung per Handy.
IoT · FernsteuerungDein erstes Gerät ist kostenlos

Steuere dieses Gerät mit der App

Verbinde deinen ESP32 oder Raspberry Pi Pico W mit dem WLAN, schalte ihn vom Handy aus ein und aus und sieh die Messwerte live. Den Code bereitet Ohmi vor; du gibst nur deine WLAN-Daten ein und lädst ihn hoch.

Vorlage in der App: Servo-Vorhang

  • Wo finde ich das in der App?Füge im Tab Werkzeuge oder unter Werkstatt › Geräte ein neues Gerät hinzu und wähle diese Vorlage.
  • Arduino-BibliothekÖffne in der Arduino IDE den Bibliotheksverwalter, suche nach BlueGraysIoT und installiere sie.
App kostenlos laden

Im kostenlosen Plan: 1 Gerät, 1 Diagramm und 24 Stunden Verlauf. Mit Premium mehr Geräte, mehr Diagramme und längerer Verlauf.

Schaltplan

ESP32 IoT-Vorhangöffner (SG90-Servo) - Circuit

Quellcode

C++ (Arduino IDE)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   ESP32 IoT-Vorhangöffner (SG90-Servo)
4// ─────────────────────────────────────────
5// Die IoT-Vorlage "Servo-Vorhang" aus der BlueGrays-App: Die Einstellung
6// Vorhangwinkel in der App (Tasten + und −) dreht den SG90-Servo auf jeden
7// Winkel zwischen 0 und 180 Grad, so öffnest und schließt du einen
8// Modellvorhang, den Wendestab einer Jalousie oder eine kleine Klappe per
9// Handy. Den echten Code erstellt Ohmi in der App mit deinem eigenen
10// Geräteschlüssel (Werkstatt › Geräte › Gerät hinzufügen); der Code hier
11// ist ein Beispiel, Geräteschlüssel und WLAN-Daten sind Platzhalter.
12// Bibliotheksverwaltung: BlueGraysIoT (mit Abhängigkeiten) und ESP32Servo.
13// Das Board verbindet sich nur mit 2,4-GHz-WLANs. Der SG90 ist ein kleiner
14// Servo; ein echter Vorhang braucht einen stärkeren Servo mit eigener
15// 5-V-Versorgung, und halte die Finger vom drehenden Arm fern.
16//
17// Pins:
18//   GPIO18 -> Servo-Signal (orange)
19//   5V, GND -> Servo V+ (rot), GND (braun)
20//   Pico W: Servo-Signal GP17
21
22/*
23 * Servo-Vorhang · BlueGrays IoT
24 * BlueGrays · bluegrays.com
25 * Teile diesen Code nicht: Er enthält deinen Geräteschlüssel und dein WLAN-Passwort.
26 */
27
28#include <BlueGraysIoT.h>
29#include <ESP32Servo.h>  // Bibliotheksverwalter: 'ESP32Servo'
30
31const char *DEVICE_KEY = "DEIN_GERAETESCHLUESSEL";
32const char *WIFI_NAME = "DEIN_WLAN_NAME";
33const char *WIFI_PASSWORD = "DEIN_WLAN_PASSWORT";
34
35BlueGraysIoT bg(DEVICE_KEY);
36
37const int SERVO_PIN = 18;
38Servo servo;
39
40void setup() {
41  Serial.begin(115200);
42  servo.attach(SERVO_PIN);
43  bg.onNumber("aci", [](float v) { servo.write((int)v); });
44  bg.setDebug(Serial);
45  bg.setLanguage(BG_LANG_EN);
46  bg.begin(WIFI_NAME, WIFI_PASSWORD);
47}
48
49void loop() {
50  bg.loop();  // hier keine langen delay()-Aufrufe
51}
52

FAQ

Kann ich den Code von dieser Seite direkt hochladen?

Hochladen kannst du ihn, verbinden wird er sich aber nicht: Geräteschlüssel und WLAN-Daten darin sind Platzhalter. Geh in der App zu Werkstatt › Geräte › Gerät hinzufügen und wähle die Vorlage Servo-Vorhang; Ohmi erstellt den Code mit deinem Schlüssel, deinem Netzwerknamen und deinem Passwort. Kopier diesen Code und lade ihn hoch. Den ganzen Code siehst du später unter Gerät › Code und Schlüssel.

Geht das auch mit einem Pico W?

Ja. Wähle beim Hinzufügen des Geräts Pico W als Board; der Code bleibt gleich, der Servopin wird GP17, und statt ESP32Servo nutzt der Code die Servo-Bibliothek aus dem Paket pico, du musst also nichts zusätzlich installieren. Schließ das rote Kabel des Servos an VBUS (5 V) an. Installiere in der Arduino IDE über den Boardverwalter das Paket "pico". Schaltung und Foto auf dieser Seite sind mit einem ESP32 entstanden.

Schafft ein SG90 einen echten Vorhang?

Nein. Der SG90 ist ein kleiner Servo; er dreht einen Modellvorhang, den Wendestab einer Jalousie oder eine leichte Klappe. Ein echter Vorhang braucht einen kräftigen Servo wie den MG996R oder einen Getriebemotor. Versorge einen kräftigen Servo aus einem eigenen 5-V-Netzteil mit mindestens 2 A statt vom 5V-Pin des Boards und verbinde GND des Netzteils mit GND des Boards. Halte die Finger vom drehenden Arm fern und lass kein festes Hindernis in seinem Weg.

Sind mein WLAN-Passwort und mein Geräteschlüssel sicher?

Dein WLAN-Passwort bleibt auf deinem Handy und wird nie an unseren Server geschickt; es wird auf dem Handy in den Code eingesetzt. Der Geräteschlüssel reist nur im Header der sicheren Verbindung und wird nie im seriellen Monitor ausgegeben. Beides steht trotzdem im Code, also teile den Code aus der App mit niemandem. Hat jemand deinen Schlüssel gesehen, hol dir mit Schlüssel erneuern einen neuen und lade den neuen Code hoch.