> ## Documentation Index
> Fetch the complete documentation index at: https://support.customtypeone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Referenz: DIY-USB-Beispiele

Sie können mit Arduino, ESP32, Raspberry Pi oder ähnlicher DIY-Hardware eigene externe Auslöser bauen. Der Aufbau muss den folgenden Vorgaben entsprechen:

Ihre DIY-Hardware muss entweder:

1. Eine eigene, von Sidekick unabhängige Stromversorgung haben, damit sie ständig eingeschaltet ist und die eingehende Spannung überwachen kann.
   1. Der USB-A-Anschluss des Sidekick muss mit Ihrer Hardware verbunden sein, damit diese die 5-V-Spannung überwachen kann.
   2. Wenn Ihr DIY-Board Spannung am USB-A-Anschluss erkennt, können Sie eine beliebige Funktion ausführen.
   3. Wenn Ihr DIY-Board erkennt, dass die Spannung am USB-A-Anschluss weggefallen ist (Alarm stummgeschaltet/beendet), können Sie eine andere Funktion ausführen.
2. Über USB-A mit 5 V und höchstens 1 A betrieben werden und beim Einschalten automatisch die vorgesehenen Funktionen ausführen.
   1. Stecken Sie Ihre externe Hardware in den USB-A-Anschluss des Sidekick.
   2. Wenn sich Ihre Hardware mit einem WLAN oder per Bluetooth verbindet oder andere verzögerte Startfunktionen hat, sollten Sie nur die erste DIY-Option oben verwenden, damit die programmierte Alarmfunktion sofort ausgeführt wird.

<div className="cc card-bluebell">
  <Accordion title="Beispiel: ESP32-Aufbau mit 3,3 V" icon="microchip" description="Verkabelung mit Spannungsteiler und Beispielcode für ESP32-Boards">
    ### <Icon icon="toolbox" /> Was Sie benötigen:

    * ESP32-Board (z. B. DevKitC oder NodeMCU-ESP32)
    * USB-A-Kabel mit freigelegten 5-V-(rot) und GND-Adern (schwarz)
    * Zwei Widerstände für einen Spannungsteiler (z. B. 10 kΩ + 20 kΩ → reduziert 5 V auf ca. 3,3 V)
    * Steckplatine (Breadboard) und Jumperkabel

    ### <Icon icon="plug" /> Verkabelung

    USB-Ader | Verbinden mit

    Rot (5 V) | Spannungsteiler → ESP32-GPIO (z. B. GPIO 18)

    Schwarz (GND) | ESP32 GND

    ### Aufbau des Spannungsteilers:

    ```
    USB 5V → [20kΩ] → GPIO 18
               ↓
            [10kΩ] → GND
    ```

    So werden 5 V sicher auf ca. 3,3 V reduziert.

    ### <Icon icon="circle-check" /> Beispielcode (ESP32, digitales Lesen)

    ```
    const int usbPowerPin = 18;  // GPIO18 gets the divided signal
    bool lastState = LOW;

    void setup() {
      pinMode(usbPowerPin, INPUT);
      Serial.begin(115200);
    }

    void loop() {
      bool currentState = digitalRead(usbPowerPin);
      if (currentState != lastState) {
        if (currentState == HIGH) {
          Serial.println("USB Power ON");
          // YOUR ALERT START CODE GOES HERE
        } else {
          Serial.println("USB Power OFF");
          // YOUR ALERT STOP CODE GOES HERE
        }
        lastState = currentState;
      }
      delay(100); // debounce / polling delay
    }
    ```

    <Icon icon="triangle-exclamation" /> **Wichtig**:

    * Verbinden Sie 5 V **auf keinen Fall** direkt mit den ESP32-Pins – reduzieren Sie die Spannung immer auf ≤ 3,3 V.
    * Die ESP32-Pins sind auf dem Board meist mit **GPIO** beschriftet – Sie können die meisten verwenden, vermeiden Sie aber Strapping-Pins (z. B. GPIO0, GPIO2, GPIO15).
    * Verwenden Sie `Serial.begin(115200)` – der ESP32 nutzt in der Regel höhere serielle Baudraten als der Arduino Uno.
  </Accordion>
</div>

<div className="cc card-lavender">
  <Accordion title="Beispiel: Arduino-Aufbau mit 5 V" icon="microchip" description="Direkte 5-V-Eingangsverkabelung und Beispielcode für Arduino-Boards">
    ### <Icon icon="toolbox" /> Was Sie benötigen:

    * Arduino Uno (oder ähnlich)
    * USB-A-Kabel mit freigelegten 5-V-(rot) und GND-Adern (schwarz)
    * Verbinden Sie die 5-V-Ader mit einem digitalen Pin des Arduino (oder einem analogen Pin zur Spannungsmessung)
    * Verwenden Sie bei Bedarf einen Spannungsteiler

    ### <Icon icon="circle-check" /> Einfacher Beispielcode

    Diese Version überwacht die 5-V-USB-Leitung, die mit dem digitalen Pin 2 verbunden ist:

    ```
    const int usbPowerPin = 2;  // USB 5V line connected here
    bool lastState = LOW;

    void setup() {
      pinMode(usbPowerPin, INPUT);
      Serial.begin(9600);
    }

    void loop() {
      bool currentState = digitalRead(usbPowerPin);
      if (currentState != lastState) {
        if (currentState == HIGH) {
          Serial.println("USB Power ON");
          // YOUR ALERT START CODE GOES HERE
        } else {
          Serial.println("USB Power OFF");
          // YOUR ALERT STOP CODE GOES HERE
        }
        lastState = currentState;
      }
      delay(100); // debounce / polling delay
    }
    ```

    ### Verkabelung

    * **USB 5 V (meist rot)** → **Pin 2**
    * **USB GND (meist schwarz)** → **GND am Arduino**

    <Icon icon="triangle-exclamation" /> **Wichtig**: Achten Sie darauf, dass die USB-Spannung 5 V nicht überschreitet. Wenn Sie unsicher sind, verwenden Sie einen Spannungsteiler (z. B. 10 kΩ und 10 kΩ), um die Spannung zu halbieren, und messen Sie sie an einem analogen Pin.
  </Accordion>
</div>

## Beispiele für DIY-Integrationen

Dies ist eine Liste von Beispielen aus dem Internet, wie sich verschiedene Geräte mit Arduino, ESP32 usw. integrieren lassen. Wir haben keines dieser Beispiele getestet.

<Columns cols={1}>
  <Card title="Apple HomeKit-Integration" icon="apple" color="#E11D48" href="/de/external-alert-devices/diy-integrations/homekit">
    Natives HomeKit auf ESP32 oder ESP8266
  </Card>

  <Card title="Google Home-Integration" icon="google" color="#EA580C" href="/de/external-alert-devices/diy-integrations/google-home">
    Anbindung an Google Home über IFTTT, Firebase oder MQTT
  </Card>

  <Card title="Home Assistant-Integration" icon="house-signal" color="#16A34A" href="/de/external-alert-devices/diy-integrations/home-assistant">
    Verbindung über MQTT, HTTP oder ESPHome
  </Card>

  <Card title="Relais" icon="toggle-on" color="#059669" href="/de/external-alert-devices/diy-integrations/relays">
    Hochvoltgeräte wie Lampen, Ventilatoren oder Haushaltsgeräte schalten
  </Card>

  <Card title="Motoren" icon="gears" color="#0891B2" href="/de/external-alert-devices/diy-integrations/motors">
    Gleichstrom-, Servo- und Schrittmotoren für Robotik und Automatisierung
  </Card>

  <Card title="Hubmagnete" icon="lock" color="#3B82F6" href="/de/external-alert-devices/diy-integrations/solenoids">
    Elektromagnetische Schlösser oder Druck-/Zugmechanismen
  </Card>

  <Card title="Internetdienste" icon="globe" color="#4F46E5" href="/de/external-alert-devices/diy-integrations/internet-services">
    Eine Webanfrage, IFTTT oder eine Cloud-Automatisierung auslösen
  </Card>

  <Card title="Servogesteuerte Mechanismen" icon="robot" color="#9333EA" href="/de/external-alert-devices/diy-integrations/servo-mechanisms">
    Schließboxen, Roboterarme, Türschlösser
  </Card>

  <Card title="Heimautomatisierung (IR, RF)" icon="tower-broadcast" color="#C026D3" href="/de/external-alert-devices/diy-integrations/home-automation-ir-rf">
    Fernseher, Licht oder andere Funk-/IR-Geräte steuern
  </Card>

  <Card title="LCD-/OLED-Displays" icon="display" color="#DB2777" href="/de/external-alert-devices/diy-integrations/lcd-oled-displays">
    Text oder Grafiken anzeigen
  </Card>

  <Card title="Sirenen" icon="siren-on" color="#E11D48" href="/de/external-alert-devices/diy-integrations/sirens">
    Eine Sirene für Alarme oder Sicherheitssysteme auslösen
  </Card>

  <Card title="Kameras" icon="camera" color="#EA580C" href="/de/external-alert-devices/diy-integrations/cameras">
    Aufnahmen auslösen oder Bilder streamen
  </Card>

  <Card title="Anrufe/SMS" icon="phone" color="#16A34A" href="/de/external-alert-devices/diy-integrations/phone-calls-texts">
    SMS-Alarme mit ESP32 und Twilio senden
  </Card>
</Columns>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.