Plug & Play WLAN-Gartensensor für Maker, Bastler und Automatisierungs-Fans – basierend auf Raspberry Pi Pico W, BME280, VEML7700 und MQTT.
Läuft mit MicroPython – lokal, modular, ohne Cloud.
- 📶 WLAN-fähig – inkl. Fallback-Netzwerk und optionaler statischer IP
- 🌡️ Live-Daten: Temperatur, Luftfeuchtigkeit, Luftdruck, Licht (Lux)
- 🧪 Test- & Demo-Modus: Sensordaten und MQTT-Publishing über
config.pysimulieren (ideal für Entwicklung & Tests) - 🧩 Flexibles MQTT-Format: Felder & Reihenfolge konfigurierbar
- 📡 MQTT-Unterstützung für Logging, Smart Home & Automatisierung
- 💡 Status-LED für Fehlermeldungen
- 🛠️ Vollständig modular, quelloffen & einfach erweiterbar (MIT-Lizenz)
- Raspberry Pi Pico W (MicroPython-kompatibel)
- BME280 (I2C – Temperatur, Luftfeuchte, Luftdruck)
- VEML7700 (I2C – Lichtintensität in Lux)
- Status-LED (steuerbar, optional)
- Optional zusätzliche I2C-Sensoren
-
MicroPython flashen
Passendes.uf2-Image für den Pico W herunterladen von:
👉 micropython.org/download/rp2-pico-w -
Dateien hochladen
- Alles aus
src/lib/ins Hauptverzeichnis des Pico W kopieren
(z. B. mit Thonny,rshell,ampyoder WebREPL) - Zusätzlich
main.pyins Hauptverzeichnis kopieren
- Alles aus
-
config.pyanpassen- WLAN-Daten, MQTT-Broker, Sensor-Pins etc.
- Sensor-Modi konfigurieren ("active", "dummy", "inactive") sowie MQTT-Felder
-
Los geht’s!
- Reboot →
main.pystartet automatisch - Status-LED blinkt bei Fehlern (siehe Troubleshooting)
- Reboot →
Details siehe src/lib/config.py im Repository:
SSID = "MyWiFi"
PASSWORD = "supersecret"
STATIC_IP = "" # leer lassen für DHCP
MQTT_BROKER = "192.168.1.50"
MQTT_PORT = 1883
MQTT_CLIENT_ID = "sensor_indoor"
# Sensor- & MQTT-Modi
VEML_MODE = "dummy" # "active", "dummy", "inactive"
BME_MODE = "inactive" # "active", "dummy", "inactive"
MQTT_MODE = "active" # "active", "dummy", "inactive"
# MQTT Payload-Felder
MQTT_PAYLOAD_FIELDS = [
"date",
"time",
"temp",
"pressure",
"humidity",
"lux",
]| Komponente | SDA | SCL | VCC (Power) |
|---|---|---|---|
| VEML7700 | GP0 | GP1 | GP15 |
| BME280 | GP2 | GP3 | GP14 |
| Funktion | Pin |
|---|---|
| Onboard-LED | "LED" |
| VEML Reset GPIO | GP15 |
main.py: Hauptsteuerung (WLAN, MQTT, Sensoren, LED)lib/:wifi.py: Verbindung zu primärem oder Fallback-WLANmqtt.py: Verbindet mit Broker, sendet JSON, Dummy-Modussensors.py: Liest BME280 & VEML7700 (real oder simuliert)leds.py: LED-Ansteuerung für Statussignaleconfig.py: Zentrale Konfiguration (WLAN, MQTT, Sensoren, Payload)state.py: Rückgabecodes (SUCCESS, FATAL_ERROR, …)
| Problem | LED-Blinkmuster | Bedeutung |
|---|---|---|
| WLAN-Fehler | 1× langsam | Keine Verbindung möglich |
| MQTT-Fehler | 2× mittel | Broker nicht erreichbar |
| Sensor-Fehler | 3× schnell | Sensor antwortet nicht |
- STL-Dateien und Anleitung folgen in Kürze!
- Das Projekt richtet sich an Maker – gerne Ideen via Issue oder PR beisteuern.
reset42 Gardensensor ist Open Source und steht unter der MIT-Lizenz.
Private & kommerzielle Nutzung erlaubt – siehe LICENSE.
Projektstatus: aktiv gepflegt – weitere Sensoren, Webinterface & Sleep-Modus geplant.
STL-Dateien und Montageanleitung folgen bald.
Fragen, Ideen oder Feedback? → reset42.de