Möchtest du dein Smart Home mit einer Prise Entspannung und moderner Technologie aufwerten? In diesem Tutorial zeige ich dir, wie du eine smarte „Zwitscherbox“ baust – ein DIY-Gerät, das automatisch beruhigende Klänge wie Vogelgezwitscher oder Dschungel-Atmosphäre abspielt, sobald es deine Anwesenheit erkennt. Mithilfe eines mmWave-Präsenzsensors und der nahtlosen Integration in Home Assistant bietet dieses Projekt präzise Bewegungs- und Präsenz-Erkennung sowie vielseitige Automatisierungsmöglichkeiten für jeden Raum in deinem Zuhause. Egal, ob du neu in der Welt der DIY-Elektronik bist oder bereits Erfahrung hast, diese Schritt-für-Schritt-Anleitung hilft dir, deine eigene smarte „Zwitscherbox“ zu bauen und mühelos die perfekte Atmosphäre zu schaffen.
Hier das Video zum Tutorial (Hinweis: Video nur auf Englisch verfügbar):
Benötigte Komponenten
Um dieses Projekt zu starten, benötigen wir die folgenden Komponenten:
- Ein ESP32-Entwicklungsboard, zum Beispiel ein D1 Mini ESP32
- Einen LD2420 mmWave-Präsenzsensor
- Einen MAX9857A-Verstärker
- Einen 5W-Lautsprecher
- Ein 5V-Netzteil und ein USB-Kabel
- Einige Jumper-Kabel
- Einen 3D-Drucker + Filament ODER einen 3D-Druckservice
Schaltplan
Das ESP32-Entwicklungsboard ist das Herzstück der Architektur. Es verbindet sich mit dem LD2420-Präsenzsensor und dem MAX98573A-Verstärker. Der LD2420 erkennt Anwesenheit, und sobald eine Anwesenheit festgestellt wird, wird über den MAX98573A-Verstärker der Ton auf dem Lautsprecher abgespielt.
ESPHome YAML Code
Nachdem wir alles verkabelt haben, müssen wir die Software für das ESP32-Entwicklungsboard vorbereiten, kompilieren und flashen. Dafür verwenden wir ESPHome, das eine sehr einfache Konfiguration nur mit YAML-Dateien ermöglicht. Um zu verstehen, wie du ESPHome-Code für das ESP32-Entwicklungsboard kompilieren und flashen kannst, folge bitte den offiziellen Dokumentationen. Im folgenden Listing findest du den ESPHome-YAML-Code.
Es wird davon ausgegangen, dass du alles genau wie oben gezeigt verkabelt hast, sodass alle GPIOs übereinstimmen. Beachte bitte, dass YOUR_ENCRYPTION_KEY, YOUR_OTA_PASSWORD und YOUR_AP_PASSWORD nur Platzhalter sind, da diese Schlüssel/Passwörter normalerweise von ESPHome automatisch generiert werden. Bitte ersetze YOUR_FILE_URL durch die URL deiner Audiodatei.
esphome:
name: smart-twitterbox
friendly_name: smart-twitterbox
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: YOUR_ENCRYPTION_KEY
ota:
- platform: esphome
password: YOUR_OTA_PASSWORD
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Smart-Twitterbox"
password: YOUR_AP_PASSWORD
captive_portal:
uart:
tx_pin: GPIO17
rx_pin: GPIO16
baud_rate: 115200
ld2420:
text_sensor:
- platform: ld2420
fw_version:
name: LD2420 Firmware
sensor:
- platform: ld2420
moving_distance:
name : Moving Distance
binary_sensor:
- platform: ld2420
has_target:
name: Presence
on_press:
- media_player.play_media: 'https://YOUR_NABU_CASA_ID.ui.nabu.casa/local/bird_twitter.mp3'
select:
- platform: ld2420
operating_mode:
name: Operating Mode
number:
- platform: ld2420
presence_timeout:
name: Detection Presence Timeout
min_gate_distance:
name: Detection Gate Minimum
max_gate_distance:
name: Detection Gate Maximum
gate_select:
name: Select Gate to Set
still_threshold:
name: Set Still Threshold Value
move_threshold:
name: Set Move Threshold Value
button:
- platform: ld2420
apply_config:
name: Apply Config
factory_reset:
name: Factory Reset
restart_module:
name: Restart Module
revert_config:
name: Undo Edits
i2s_audio:
- id: i2s_in
i2s_lrclk_pin: GPIO27
i2s_bclk_pin: GPIO26
- id: i2s_out
i2s_lrclk_pin: GPIO25
i2s_bclk_pin: GPIO14
media_player:
- platform: i2s_audio
name: "Twitterbox Mediaplayer"
i2s_audio_id: i2s_out
id: speaker_i2s
dac_type: external
i2s_dout_pin: GPIO32
mode: mono
switch:
- platform: template
name: "Play sound"
id: "play_sound"
turn_on_action:
- media_player.play_media: YOUR_FILE_URL
- switch.turn_off: play_sound
Gehäuse drucken
Der nächste Schritt ist es, das Gehäuse mittels 3D Drucker zu drucken oder über einen Online 3D Druck Service drucken zu lassen. Die erforderlichen STL Dateien kannst Du hier herunterladen:
https://www.printables.com/de/model/1000815-diy-twitterbox-box-plays-sound-when-person-present
Probiere es aus!
Nachdem du alles verkabelt hast, kannst du mit dem Gerät herumspielen. Es sollte die definierte Audiodatei (YOUR_FILE_URL) abspielen, sobald eine Person anwesend ist.
Comments are closed