Eine NFC-Holzbox für Kindermusik – DIY Alternative zur Toniebox.
Table of Contents
Die Idee: Musik für kleine Hände
So im Alltag mit Kindern gibt es viele mögliche Konfliktsituationen. Eine, die immer wieder auftritt ist: Die Kinder wollen ihre Musik hören – Bibi & Tina, Benjamin Blümchen, Peppa Wutz – und zwar jetzt sofort. Aber Smartphone-Apps sind zu kompliziert, Sprachassistenten verstehen "Benjamün Blömchen" nicht, und die Toniebox ist... nun ja, teuer und proprietär. Und ehrlich gesagt habe ich ja schon Kindermusik daheim, bzw. im Spotify-Account, ist doch Käse wenn ich das doppelt kaufen muss. (Obwohl eine Toniebox natürlich auch daheim steht.)
Eine weitere Situaton ist das Anschauen von Serien auf dem Fernseher. Die Kinder würden ja alles schauen und da sich meine Frau nicht wirklich auskennt wo welche Serie läuft, schaltet sie immer auf Youtube und sucht da rum. Nicht optimal, alleine schon wegen der Werbung, deshalb wollte ich eine einfache Möglichkeit schaffen, dass die Kinder selbstständig ihre Lieblingsserien starten können, netürlich im Beisein der Eltern, mit Zeitlimit und mit dem richtigen Inhalt.
Deshalb habe ich eine NFC-Holzbox gebaut, die du ganz einfach nachbauen kannst. Die Kinder legen eine beklebte Karte auf die Box, und schon spielt die Squeezebox im Wohnzimmer das gewünschte Album. Der Adventskalender spielt jeden Tag eine neue Geschichte – mit 24 individuellen Chips, oder der Fernseher geht an und spielt eine zufällige Episode der Serie "Bluey".
Das Herz: Ein schlafender ESP32
Der ESP32 schläft die meiste Zeit und wacht alle 3 Sekunden kurz auf, um nach NFC-Tags zu schauen. So sparst ich enorm viel Strom, da der Interupt-Modus des MFRC522 NFC-Readers nicht zuverlässig funktioniert, habe ich mich für diese Polling-Lösung entschieden:
#define WAKEUP_INTERVAL 3000000 // 3 Sekunden
#define CARD_READ_TIME 800 // 800ms für Kartenerkennung
void goToSleep() {
powerOffRFID();
WiFi.disconnect(true);
WiFi.mode(WIFI_OFF);
esp_wifi_deinit();
esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_OFF);
esp_sleep_enable_timer_wakeup(WAKEUP_INTERVAL);
esp_deep_sleep_start();
}
Wird eine Karte erkannt, spielt der ESP32 einen Piepton, verbindet sich mit dem WiFi und sendet die UID an einen n8n-Webhook.
Die Intelligenz: n8n orchestriert alles
n8n übernimmt die Steuerung. Der Workflow prüft in einer Datenbank, was die jeweilige NFC-UID bedeutet, und führt dann die passende Aktion aus:
graph LR
A[NFC-Tag erkannt] --> B[Webhook empfängt UID]
B --> C{Tag bekannt?}
C -->|Nein| D[Telegram-Benachrichtigung]
D --> N[Neuen Tag anlegen]
C -->|Ja| E[Datenbankabfrage]
E --> F{Aktionstyp?}
F -->|favorite| G[Favorit abspielen]
F -->|spotify_search| H[Spotify durchsuchen]
F -->|volume| I[Lautstärke ändern]
F -->|advent| J[Adventsgeschichte]
F -->|series| K[Zufällige Episode]
G --> L[Squeezebox steuern]
H --> L
J --> L
K --> M[Home Assistant Script]
Die Datenbank ist sehr einfach, wusste gar nicht das n8n so etwas kann. Hier ein paar Beispiele:
| UID | action_type | parameter | description |
|---|---|---|---|
EC0E72EB | spotify_search | bibi_tina | Bibi und Tina |
BCF172EB | spotify_album | Bluey the Album | Bluey |
8C1A8EEB | volume | 5 | Leiser |
04E1A89C240289 | advent | track:67gj... | 2.12. |
D4C3B2A1 | series | Bluey | Bluey zufällig |
Besondere Features
Adventskalender-Integration
Jeder Tag im Dezember bekommt eine eigene NFC-Scheibe mit einer passenden Geschichte. Der Workflow spielt automatisch den richtigen Spotify-Track:
TV-Steuerung mit Timer
Mit einer speziellen "Karte" schaltest du den Fernseher nach 10 Minuten aus und dimmst das Licht im Wohnzimmer wieder auf 100%.
Andere Karten spielen gezielt eine zufällige Episode der Serie "Bluey" oder "Bobo Siebenschläfer" auf dem Fernseher ab. Dafür habe ich n8n mit dem Home Assistant verbunden, der den Fernseher steuert.
"Laute Karten" für Dauerschleife
Bestimmte Karten (Lauter/Leiser) reagieren anders: Solange sie aufliegen, wird die Aktion alle 500ms wiederholt – perfekt zum Lautstärke-Regeln!
if (isLoudCard(uid)) {
while (count < 60) {
if (isCardStillPresent() && millis() - last >= 500) {
sendWebhook(uid);
last = millis();
}
}
}
Was ich gelernt habe
Meine wichtigsten Learnings:
- Deep Sleep spart enorm Strom: Der ESP32 verbraucht im Deep Sleep nur wenige µA. Damit sind batteriebetriebene NFC-Reader möglich, wobei ich bei mir zwei parallele 18650er-Akkus nutze.
- n8n ist ideal für Smart Home: Komplexe Workflows lassen sich ohne Programmierung bauen. Neue NFC-Karten sind schnell hinzugefügt.
- Kinder lieben Haptik: Die gestalteten Karten oder Figuren mit drangeklebten Chips sind viel greifbarer als App-Icons. Das Prinzip ist sofort verständlich (selbst für meine drei jährige) und so viel billiger als Toniefiguren.
- Duplikat-Erkennung ist wichtig: Ohne diese würde jedes versehentliche Anlegen die Musik neu starten.
Fazit
Die NFC-Musikbox ist bei uns nicht mehr wegzudenken, obwohl sie erst 5 Wochen alt ist. Die Kinder können ihre Musik selbst starten und du kannst die Lösung flexibel erweitern. Der Adventskalender ist das Highlight – jeden Morgen eine neue Geschichte, ganz automatisch. --> Kinder nehmen den Chip vom Esszimmertisch, legen ihn auf die Box, und schon geht's los.
Achtung jetzt kommen Affiliate-Links:
Kosten: ca. 15€ (ESP32 + MFRC522 + NFC-Tags + Holzbox vom Tedi) optional: 10€ (18650er-Akkus + Gehäuse)
Zeit: Ein Wochenende
Freude: Unbezahlbar
Die kompletten Sourcen und die n8n-Workflows bekommst du auf Anfrage. Viel Spaß beim Nachbauen!
Hinweis: Die Kinder könnten theoretisch ja den Fernseher damit steuern. Aber die entsprechende NFC-Karte liegt ganz oben auf dem Kamin...