Sensor-Modul vorbereiten
In diesem Kurs erweitern wir einen bestehenden Bricknetics-Baustein um einen DHT22 Temperatur- und Luftfeuchtigkeitssensor.
Materialien
- 1x Bricknetics-Baustein (aus dem Einsteiger-Kurs)
- 1x DHT22 Sensor-Modul
- 3x Jumper-Kabel
- 1x 4.7kΩ Pull-up Widerstand
Sensor anschließen
Verbinde den DHT22 wie folgt:
| DHT22-Pin | ESP32-Pin | Funktion |
|---|---|---|
| VCC | 3.3V | Stromversorgung |
| DATA | GPIO 14 | Datenleitung |
| GND | GND | Masse |
Achtung: Der Pull-up Widerstand zwischen VCC und DATA ist essentiell. Ohne ihn liefert der Sensor keine zuverlässigen Werte.
Firmware erweitern
Jetzt passen wir die Firmware an, damit sie die Sensorwerte ausliest und per BLE als Characteristic bereitstellt.
Sensor-Bibliothek einbinden
Füge die DHT-Bibliothek zu deiner platformio.ini hinzu:
lib_deps =
adafruit/DHT sensor library@^1.4.4
adafruit/Adafruit Unified Sensor@^1.1.9
Sensor-Code implementieren
#include <DHT.h>
#define DHT_PIN 14
#define DHT_TYPE DHT22
DHT dht(DHT_PIN, DHT_TYPE);
void setup() {
Serial.begin(115200);
dht.begin();
}
void loop() {
float temp = dht.readTemperature();
float hum = dht.readHumidity();
if (!isnan(temp) && !isnan(hum)) {
Serial.printf("Temp: %.1f°C, Hum: %.1f%%\n", temp, hum);
// BLE Characteristic Update hier
}
delay(2000);
}
Dashboard im Flow-Editor
Zum Schluss erstellen wir im Bricknetics Flow-Editor ein visuelles Dashboard.
Dashboard-Blöcke
Ziehe folgende Blöcke auf die Canvas:
- Sensor Read – liest die BLE Characteristics aus
- Gauge Widget – zeigt die Temperatur als Tachometer an
- Line Chart – zeichnet den Verlauf der Luftfeuchtigkeit
Echtzeit-Updates
Verbinde die Blöcke miteinander. Der Flow-Editor aktualisiert die Werte automatisch über BLE – dank des reaktiven Svelte-Frontends werden Änderungen sofort sichtbar.
So funktioniert’s: Die Hexagonale Architektur trennt die Domain-Logik (Sensorwerte interpretieren) strikt von der Infrastruktur (BLE-Kommunikation). Der Flow-Editor ist lediglich ein Adapter, der die Daten visualisiert.