Worum geht es?
In unserem neuesten Video baue ich gemeinsam mit meiner Tochter Luna ein Smartes Heim mithilfe des Keyestudio KS5009 Bausatzes. Dieser Bausatz ist ideal für Anfänger, die in die Welt der Elektronik und Programmierung eintauchen möchten. In diesem Blogartikel werde ich unsere Erfahrungen mit dem Bausatz teilen, die verschiedenen Komponenten und Projekte vorstellen und einige Tipps zur Programmierung und Integration in ein Smart Home geben.
Der Bausatz
Der Keyestudio KS5009 Bausatz ist speziell entwickelt worden, um das Lernen von Elektronik und Programmierung einfach und unterhaltsam zu gestalten. Er enthält Anweisungen zum Erstellen von 13 Projekten, mit denen man die Grundlagen verschiedener Module wie Tasten, LEDs und Sensoren kennenlernen kann. Dabei wird auch gezeigt, wie ein Smart Home funktioniert. Hier sind einige der Hauptmerkmale des Bausatzes:
- Einsteigerprogrammierung für Anfänger: Entwickelt für das einfache und unterhaltsame Erlernen von Elektronik und Programmierung.
- Multifunktional: Enthält Funktionen wie PIR-Bewegungssensor, Gasalarm, LED-Modul, Temperatur- und Feuchtigkeitssensor, RFID Scanner…
- 2 Programmiersprachen und 13 detaillierte Tutorials: Arduionoy und Python. Online-Tutorials sind verfügbar.
- Kreatives Geschenk: Ideal für alle, die sich für ein smartes Heim, Elektronik und Coden interessieren.
- Benötigtes Zubehör: Ein Computer zum Hochladen des Codes und 6 AA-Batterien zur Stromversorgung.
Unsere Erfahrungen
1. Vorstellung des Sensoren
Der Bausatz enthält eine Vielzahl von Sensoren und Hausteilen aus Holz, die in verschiedenen Projekten eingesetzt werden können. Luna und ich haben sofort losgelegt und die Teile ausgepackt. Der Bausatz enthält außerdem eine detaillierte Anleitung, die Schritt für Schritt erklärt, wie die Komponenten zusammengebaut werden.
2. Installation der Sensoren
In einem ersten Schritt haben wir die verschiedenen Sensoren auf die Holzteile installiert. Die Holzteile sind robust und gut verarbeitet. Der Bausatz enthält unter anderem einen PIR-Bewegungssensor, einen Gasalarm und einen Temperatur- und Feuchtigkeitssensor. Diese sind auf eigene Boards verbaut und machen qualitativ einen wertien Eindruck. Die Installation war einfach und gut erklärt.
3. Zusammenbau der Hausteile
Das Installieren der Sensoren auf der „Hausfläche“ war ein coller erster Schritt. Anschließend hatte Luna hatte viel Spaß daran, die Teile zusammenzusetzen und zu sehen, wie unser kleines Smartes Heim Form annahm.
4. Verkabelung
Die Verkabelung war etwas kniffelig und fummelig, aber trotzdem gut machbar. Das „Herz“ war dafür gut vorbereitet und nutzbar.
5. Erste Schritte in der Programmierung
Der Keyestudio KS5009 Bausatz bietet Anleitungen zur Programmierung für Arduino und Python. Wir haben uns entschieden, kurz in Arduino rein zu schaune, sind dann aber gewechselt, s. nächster Punkt. Die Tutorials sind online in englischer Sprache verfügbar: https://fs.keyestudio.com/KS5009
5. Erweiterte Programmierung mit ESPHome
Zusätzlich zu den im Bausatz enthaltenen Projekten haben wir eine erweiterte Programmierung für ESPHome integriert. Dies ermöglicht es uns, die Sensoren und Aktoren des Bausatzes in unser bestehendes Smart Home-System Home Assistant zu integrieren. Die Programmierung war etwas anspruchsvoller, aber es hat sich gelohnt, da wir jetzt noch mehr Kontrolle über unser Smart Home haben.
Hier ist der Code, der noch nicht vollständig ist, da Gassensor, Servo und Regensensor noch nicht funktionieren:
esphome:
name: smartes-heim
friendly_name: smartes_heim
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "<KEY>"
services:
- service: play_rtttl # Project 4: Play Music Test
variables:
song_str: string
then:
- rtttl.play: #https://www.laub-home.de/wiki/RTTTL_Songs ; https://forum.arduino.cc/t/giving-back-to-the-community-rtttl-rttl-tones-over-11-000-tunes/490177
rtttl: !lambda 'return song_str;' # Example: song_str: 'scale_up:d=32,o=5,b=100:c,c#,d#,e,f#,g#,a#,b' # 'siren:d=8,o=5,b=100:d,e,d,e,d,e,d,e'
ota:
- platform: esphome
password: "<PW>"
wifi:
ssid: 'SSID'
password: 'PASSWORD'
manual_ip:
# Set this to the IP of the ESP
static_ip: 192.168.x.x
# Set this to the IP address of the router. Often ends with .1
gateway: 192.168.x.x
# The subnet of the network. 255.255.255.0 works for most home networks.
subnet: 255.255.255.0
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Smartes-Heim Fallback Hotspot"
password: "PW"
captive_portal:
light:
- platform: status_led #--- Projekt 1 Control LED #https://esphome.io/components/light/status_led
name: "Gelbe LED"
pin: GPIO12
- platform: neopixelbus #--- Project 6: Atmosphere Lamp (RGBW led)
variant: SK6812
type: RGBW #noch unklar, ob dies korrekt ist
pin: GPIO26 # GPIO3
num_leds: 4
name: "RGBW LED"
output:
- platform: ledc #--- Project 4: Play Music (Passive Buzzer)
pin: GPIO25
id: buzzer
#- platform: ledc #--- Project 4: Automatic Doors and Windows (Servo)
# pin: GPIO5
# id: fenster_servo_o
# frequency: 50 Hz
- platform: ledc #--- Project 4: Automatic Doors and Windows (Servo)
pin: GPIO13
id: tuer_servo_o
frequency: 50 Hz
- platform: ledc #--- Project 7: Fan
pin: GPIO19
id: luefter_vor
- platform: ledc #--- Project 7: Fan
pin: GPIO18
id: luefter_zurueck
binary_sensor:
- platform: gpio #--- Projekt 2 Table Lamp (Buttons)
pin: GPIO16
id: knopf1
on_press:
then:
- fan.turn_on: luefter
on_double_click:
then:
- fan.turn_off: luefter
- platform: gpio #--- Projekt 2 Table Lamp (Buttons)
pin: GPIO27
id: knopf2
on_press:
then:
- rtttl.play: YMCA:d=4, o=5, b=160:8c#6, 8a#, 2p, 8a#, 8g#, 8f#, 8g#, 8a#, c#6, 8a#, c#6, 8d#6, 8a#, 2p, 8a#, 8g#, 8f#, 8g#, 8a#, c#6, 8a#, c#6, 8d#6, 8b, 2p, 8b, 8a#, 8g#, 8a#, 8b, d#6, 8f#6, d#6, f.6, d#.6, c#.6, b., a#, g#
- platform: gpio # --- Project 3: PIR Motion Sensor
pin: GPIO14
name: "PIR Sensor"
device_class: motion
- platform: rc522 # --- Projekt 10 Karte
uid: 54-4D-A3-DB #noch zu definieren
name: "Karten RFID Tag"
- platform: rc522 # --- Projekt 10 Schlüssel
uid: B8-54-A2-9F #noch zu definieren
name: "Schlüssel RFID Tag"
#- platform: gpio # --- Project 8.2 Dangerous Gas Alarm
# Arbeitet nicht wie gewünscht
# pin: GPIO23
# name: "Gas Sensor"
# --------------- Project 4: Play Music (Passive Buzzer)
rtttl: #https://esphome.io/components/rtttl.html#configuration-variables
output: buzzer
id: buzzer_musik
gain: 60%
on_finished_playback:
- logger.log: 'Lied zuende!'
# --------------- Project 5: Automatic Doors and Windows (Servo)
# Arbeitet nicht wie gewünscht
#servo:
# - id: fenster_servo
# output: fenster_servo_o
#- id: tuer_servo
# output: tuer_servo_o
#number:
# - platform: template
# name: Servo Fenster Kontrolle
# min_value: -100
# initial_value: 0
# max_value: 100
# step: 1
# optimistic: true
# set_action:
# then:
# - servo.write:
# id: fenster_servo
# level: !lambda 'return x / 100.0;'
# - platform: template
# name: Servo Tür Kontrolle
# min_value: -100
# initial_value: 0
# max_value: 100
# step: 1
# optimistic: true
# set_action:
# then:
# - servo.write:
# id: tuer_servo
# level: !lambda 'return x / 100.0;'
sensor:
# - platform: adc # --- Project 5.2: Close the Window (Rain Sensor)
# Arbeitet noch nicht wie gewünscht
# pin: GPIO34
# name: "Regensensor"
# attenuation: 12db
# update_interval: 60s
# filters:
# - multiply: 0.846153 # 3.9 (11db attenuation full-scale voltage) -> 3.3V
# - median:
# window_size: 7
# send_every: 4
# send_first_at: 3
# - platform: adc # --- Project 8.2 Dangerous Gas Alarm
# pin: GPIO23
# name: "Gas Sensor"
# update_interval: 300s
# filters:
# - multiply: 100
# unit_of_measurement: "%"
# icon: "mdi:percent"
- platform: dht # --- Project 9: Temperature and Humidity Sensor
model: DHT11
pin: GPIO17
temperature:
name: "Temperatur"
humidity:
name: "Feuchtigkeit"
update_interval: 60s
# --------------- Project 7: Fan
fan:
- platform: hbridge
id: luefter
name: "Dachlüfter"
pin_a: luefter_vor
pin_b: luefter_zurueck
# enable_pin: motor_enable
decay_mode: slow # slow decay mode (coasting) or fast decay (braking).
# --------------- Project 8: LCD1602 Display
i2c: #0x76 en 0x27 #- wird auchh für Projekt 10 genutzt
sda: SDA
scl: SCL
frequency: 400kHz
display:
- platform: lcd_pcf8574
dimensions: 16x2
address: 0x27
update_interval: 1s
id: lcd
lambda: |-
it.printf(0, 0, "Weisst du was?");
it.printf(0, 1, "Luna ist SUPER!");
# --------------- Project 10: RFID RC522 Module
rc522_i2c:
- address: 0x28
id: rfid_scanner
Fazit und Empfehlungen
Der Keyestudio KS5009 Bausatz ist eine großartige Möglichkeit, die Grundlagen der Elektronik und Programmierung zu erlernen. Er bietet eine Vielzahl von Projekten, die gut erklärt und einfach umzusetzen sind. Luna und ich hatten viel Spaß dabei, unser eigenes Smart Home zu bauen. Die Umsetzung zu EspHome war etwas fummelig, aber hat mich persönlich gereizt. Das kleine smarte Heim in das große smarte Heim zu integrieren. Besonders gut hat uns gefallen, dass der Bausatz auch für meine achtjährigen Tochter geeignet ist.
Wir empfehlen diesen Bausatz jedem, der sich für Heimautomation und Programmierung interessiert. Es ist auch ein tolles Geschenk für angehende Ingenieure 😉 und Kinder, die spielerisch lernen möchten.
Schreibe einen Kommentar