Es wird wärmer – wie schön. Doch die Sonne ist auf Dauer nur bedingt gesund. Während auf der Terrasse Markisen und Sonnenschirme ihren Dienst tun, stehen die Spielgeräte der Kinder häufig in der Sonne. Bei uns ist es das Trampolin.
Wir versuchen es nun einmal mit einem Sonnensegel -spendet Schatten und lässt Wind und Regen durch. So bleibt die Hoffnung, dass es auch bei Wind und Wetter gespannt bleiben kann und nicht immer auf- und abgebaut werden muss.
Nach der Umsetzung eines ersten Musiksystems mit kinderleichter Ansteuerung (siehe In wenigen Schritten zum NFC-Musik-System) gehen wir nun einen Schritt weiter. Wir nutzen die gleichen NFC-Tags allerdings mit dem Ziel die gewünschten Musik oder Liedergeschichten auf SONOS abzuspielen.
Zutaten
1 RaspberryPi (oder ein anders Device als Server)
1 NFC fähiges Android SmartPhone
SONOS Lautsprecher
NFC Tags (Karten oder Aufkleber)
Ansteuerung von SONOS
Zunächst brauchen wir eine Möglichkeit unser SONOS-System anzusteuern. Dafür bietet das Internet unzählige Möglichkeiten. Nach vielem Probieren habe ich mit der SONOS HTTP API eine nahezu perfekte Lösung gefunden.
Diese wandelt HTTP-Anfragen generisch in Kommandos an unser SONOS-System. Der folgende Aufruf hält beispielsweise die Wiedergabe auf allen Lautsprechern an:
http://localhost:5005/pauseall
Die Zentrale
Nun gilt es die SONOS HTTP API auf einen geeigneten lokalen Server zu installieren, damit unsere Steuerung auch zuverlässig funktioniert. Wer keinen Server daheim hat greift zur Universal-Lösung RaspberryPi. Ist schon einer im Betrieb – können wir diesen einfach erweitern – dafür einfach die allgemeine Einrichtung des RaspberryPis überspringen.
Ein RaspberryPi lädt sein Betriebsystem in der Regel von einer SD-Karte. Diese müssen wir mit dem passenden Betriebssystem bespielen/flashen. Zunächst brauchen wir ein geeignetes Image – die Datei für die SD-Karte inkl. dem Betriebssystem. Hier genügt in der Regel ein minimales Linux, allerdings ist eine Variante mit graphischer Oberfläche gar nicht verkehrt. Hierfür auf der offiziellen RaspberryPi-Seite einfach eine geeignete Version auswählen und die Image-Datei herunterladen (z.B. Raspberry Pi OS with desktop (64-bit)).
Für das Beschreiben der SD-Karte brauchen wir nun ein geeignetes Tool. Dafür eignet sich beispielsweise das kostenlose Werkzeug balenaEtcher sehr gut. Zunächst wählen wir die gerade heruntergeladene Image-Datei, anschließend die zu beschreibende SD-Karte und starten dann den Schreibvorgang.
Nach dem Flashen der SD-Karte können wir unseren RaspberryPi das erste Mal starten. Hierfür brauchen wir eine USB-Tastatur, USB-Maus und einen Bildschirm, welchen wir über HDMI anschließen. Als letztes schließen wir die Stromversorgung an und der RaspberryPi fährt hoch.
Beim Setup-Prozess richten wir unter anderem auch das Netzwerk ein – schließlich soll hier ja unser lokaler SONOS API Server laufen. Um später auch ohne Tastatur und Bildschirm auf den RaspberryPi zugreifen zu können sollten wir noch den Zugriff über SSH (notwendig für eine gesicherte Komandozeilen-Verbindung) und VNC (notwendig für RemoteDesktop) aktivieren. Dies geht im Menü (die Himbeere oben links) unter „RaspberryPi Configuration“.
Für den späteren Zugriff von anderen Rechnern aus ist das VNC (Virtual Network Computing) zuständig. Mit Hilfe geeigneter Werkzeuge/Clients kann hier auf den RaspberryPi zugegriffen werden, als sei dieser direkt angeschlossen. So erscheint ein Fenster mit dem gesamten Desktop auf unserem Gast-Computer.
Server einrichten
Zur Installation unserer SONOS HTTP API müssen wir auf dem RaspberryPi die Konsole bzw. ein Terminal starten (die Himbeere oben links, unter Accessoires). Zunächst gilt es den unter Linux üblichen Paketmanager NPM sowie der JavaScript Runtime Node.js zu installieren. Dafür müssen wir folgende drei Befehle ausführen:
Nun laden wir uns mit Hilfe des Browsers auf dem RaspberryPi die aktuelle Version der SONOS HTTP API von GitHub herunter.
https://github.com/jishi/node-sonos-http-api
Ist dies erledigt wechseln wir wieder in das Terminal und schließen die Installation ab. Mit den folgenden Schritten wechseln wir in das gerade heruntergeladene Verzeichnis, installieren die SONOS HTTP API und starten diese.
cd sonos-http-api
npm install --production
npm start
Bekommen wir keine Fehlermeldung läuft nun unser Server und es sind nur noch wenige Schritte bis zum fertigen System. Um die korrekte Funktion zu prüfen bietet es sich an, auf einem Gerät im gleichen WLAN wie der RaspberryPi und unser SONOS System die folgende Website aufzurufen – damit werden die aktuellen SONOS-Zonen abgefragt:
Nun gilt es die NFC Tags mit den richtigen Daten zu beschreiben (siehe NFC-Tags kinderleicht beschreiben). Für unser SONOS System müssen wir dazu die richtigen URLs erstellen. Dabei folgt das Format einem einfachen Schema:
http://<IP des RaspberryPi>:5005/<Befehl>
z.B. http://192.168.178.87:5005/pauseall
Wie gewohnt müssen die Elemente in den spitzen Klammern entsprechend ersetzt werden. Welche Befehle alle möglich sind und wie diese eingesetzt werden, ist selbstverständlich in der Read.Me des Projektes zu finden. Für unsere NFC-Tags gilt folgendes Format:
http://<IP des RaspberryPi>:5005/<Zone>/<Musik Streaming Dienst>/now/album:<ID des Albums beim Streaming-Anbieter>
Die jeweilige ID des Albums lässt sich recht einfach über die Teilen-Option beim jeweiligen Anbieter ermitteln. Wie folgendes Beispiel zeigt, ist die Nummer ist in der Regel Teil des Links:
Die so ermittelte URL schreiben wir nun auf den passenden NFC-Tag und schon kann es los gehen. Ausprobieren lässt sich dies mit jedem NFC-tauglichen SmartPhone. Kurz das Smartphone berühren, dann sollte automatisch ein Browser aufgehen und eine kurze textuelle Bestätigung den Erfolg quittieren – idealerweise hören wir auch gleich das gewünschte.
Letzte Optimierungen
Damit auch immer ein NFC-Leser in der Nähe der NFC-Tags ist kommen bei uns zwei alte Android SmartPhones zum Einsatz, die es bei eBay gebraucht gab. Die einzigen Voraussetzungen sind, dass das SmartPhone im WLAN funktioniert und über NFC eine Website öffnen kann. Der Vorteil von Android ist hier, dass die in unserem Fall unnötige Nachfrage – ob wir die Seite wirklich öffnen wollen – entfällt.
Eine zweite kleine Optimierung ist, die Erstellung eines „Reset“-NFC-Tags. Dies ist sinnvoll, da die durch NFC-Tags gestartete Wiedergaben in die Abspiel-Listen der jeweiligen Zone eingefügt wird ohne die alte Wiedergabeliste zu löschen. Damit geht es nach der Wiedergabe des gerade eingelesenen Albums an der alten Stelle der davor gültigen Liste weiter. Abhilfe schafft hier ein eigener NFC Tag mit folgender URL:
http://<IP des RaspberryPi>:5005/<Zone>/clearqueue
z.B: http://192.168.178.87:5005/Lounge/clearqueue
Mit Hilfe einer statischen IP für den RaspberryPi sorgen wir für eine gute Erreichbarkeit auch nach einem Neustart unseres lokalen Netzwerks. Dies lässt sich in der Regel recht leicht in den Einstellungen des Routers erledigen. Hierfür den RaspberryPi raussuchen und die Option „gleiche IP-Adresse vergeben“ aktivieren.
Neustarts des Servers und/oder Abstürze können dazu führen, dass unsere System nicht zuverlässig reagiert. Nach einigen Recherchen konnte ich dies mit Hilfe des Processmanagers PM2 in den Griff bekommen. Dieser wird mit folgendem Befehl installiert.
sudo npm install pm2@latest -g
Nun starten wir die SONOS HTTP API nicht mittels npm start sondern über den Prozessmanager wie folgt:
Der SONOS HTTP API server wird nun im Hintergrund ausgeführt. Stürzt der Prozess ab, wird er wieder gestartet.
Damit haben wir unser SONOS-Musik-System mit kinderleichter NFC-Tag-Bedienung erfolgreich fertig gestellt. Das System ist bei uns nun schon einige Monate im Einsatz und die Kinder nutzen es eifrig. Ich bin gespannt was ihr daraus macht und mit welchen Ideen das Ganze noch besser wird.
Die Lieblingsmusik zu hören ist mit den aktuellen Streaming-Angeboten einfach wie nie. Doch ist die Bedienung über Smartphone oder Tablet nicht immer ideal. So fällt es beispielsweise kleineren Kindern schwer ihre Lieblingsmusik oder -Geschichten auf Systemen zu hören, die nicht für sie entwickelt wurden. Die Bedienung über Smartphone oder Tablet ist meist darauf ausgelegt, dass man lesen und schreiben kann.
Existierende Lösungen
Nicht zu letzt aus diesem Grund sind Systeme wie die Toniebox oder die Tigerbox bei Kindern sehr beliebt. Mit TonUINO gibt es sogar einige Anleitungen solche Systeme selbst zu bauen. Bei diesen Systemen steht die einfache Bedienbarkeit klar im Vordergrund. Alternativ gibt es natürlich Tabletts die eigens für Kinder ausgelegt sind, wie beispielsweise das Fire HD Kids-Tablet.
Eine kostengünstige Variante sind natürlich auch Musik-Applikationen – die extra für Kinder entwickelt wurden – auf ausgedienten Tabletts. Hier arbeitet leider die Zeit gegen uns, da die Applikationen auf den z.T. veralteten Systemen nicht mehr unterstützt werden. Hier hat sich bei uns die Fonie-App über die letzten Jahre bewährt. Sie läuft auf einem ausgedienten iPad und braucht nur eine Playlist – die wir idealerweise heruntergeladen haben.
Das ultimative NFC-Musik-System
Unser Musiksystem soll:
ebenfalls kinderleicht bedienbar sein – inkl. ansprechendem Design und Haptik
bereits existierende Soundsysteme nutzen (SONOS, Smartphone, HomePod)
Streaming-Angebote nutzen, um kostengünstig eine große Auswahl darstellen zu können
Als Basis nutzen wir NFC/RFID-Tags welche wir selbst beschreiben können. Eine Auswahl geeigneter Tags und eine Anleitung gibt es hier: NFC-Tags kinderleicht beschreiben. Mit Hilfe der NFC Aufkleber lassen sich evtl. vorhandene Figuren oder ähnliches als Abspiel-Hilfen nutzen. Alternativ sind auch die bedruckbaren NFC-Karten wirklich zu empfehlen. Insbesondere bei alten Hörspielen können die Kassetten-Cover prima für das Design der Karten genutzt werden.
Musik auf dem iPhone und HomePod
Zunächst suchen wird die passenden Alben und oder Streams beim Streaming Anbieter unserer Wahl – Ziel ist der entsprechende Link bzw. die URL. Wie das bei Apple Music funktioniert seht ihr in den folgenden Screenshots:
Diesen Link schreiben wir nun auf den NFC-Tag (siehe NFC-Tags kinderleicht beschreiben). Damit öffnet sich nun immer wenn wir den NFC-Tag ans SmartPhone halten das entsprechende Album. Das ist praktisch, wenn wir anderen unsere Lieblingsmusik zeigen wollen. Aber das Endziel wäre das automatische Starten des jeweiligen Albums.
Aktuell funktioniert dies leider nur über individuelle Kurzbefehle des Apple Smart Home Systems. Vielleicht wird es irgendwann auch einmal möglich die Karten direkt an einen HomePod zu halten – die Hardware dürfte zumindest vorhanden sein. Bis dahin behelfen wir uns mit der Apple-Kurzbefehl-App wie folgt:
Wir haben es geschafft halten wir nun den NFC-Tag an unser SmartPhone startet die ausgewählte Musik direkt auf unserem Gerät. Halten wir den NFC-Tag an ein fremdes SmartPhone wird zumindest die Musik-App mit dem entsprechendem Album geöffnet – ein automatisches Abspielen ist hier leider nicht möglich.
Das automatische Abspielen auf dem HomePod wird durch eine Einfache Erweiterung unserer „Persönlichen Automation“ realisiert. Hierfür einfach wieder die gerade erstellte Automation in der Kurzbefehl-App aufrufen und wie folgt erweitern:
Damit wäre unser einfaches Musik-System auf Basis existierender Lautsprecher und Streams für Apple Devices fertiggestellt. Das System funktioniert erstaunlich zuverlässig – allerdings nicht mit allen Geräten – dies gehen wir dann in Teil 2 mit unserer SONOS-Erweiterung an.
Ein verlorenes Kind ist eine traumatische Erfahrung für das Kind und seine Eltern. Aber es könnte jedem passieren. Der Schlüssel zur Verringerung dieses Risikos ist ein wenig Vorbereitung.
Idealerweise haben die Kleinen eine Notfall-Kontaktkarte immer dabei – insbesondere bei Ausflügen und Veranstaltungen. Diese Karte sollte den Namen und die Telefonnummer der Eltern sowie Notfallkontakte für andere Familienmitglieder und Freunde enthalten. Sind die kleinen Abenteurer nun allein unterwegs oder haben einfach nur den Anschluss verloren, können freundliche Mitmenschen sofort die richtige Nummer wählen und uns mit unseren Lieben wieder zusammenzubringen.
Eine solche Notfall-Kontaktkarte muss allerdings einiges mitmachen und auch nach ein wenig Spielen im Wasser oder Schlamm noch gut lesbar sein. Die Karte kann also laminiert oder in eine Plastikhülle gesteckt werden… ODER wir bedrucken eine (NFC-)Karte im Kreditkartenformat und erstellen uns eine Kinder-Notfall-Kontaktkarte deluxe.
Frisch also! Mutig ans Werk!
Friedrich von Schiller. (1759 – 1805)
Das Design
Wir haben denn nun zwei Seiten einer Karte zu füllen. Trotzdem, sollten in meinen Augen alle wichtigen Kontakte auf einer Seite Platz finden. In unserem Fall beginnen wir mit dem Namen des Kindes und vier wichtiger Telefonnummern. Viel mehr Informationen braucht es gar nicht – zumal die Karte auch durchaus verloren werden kann. Natürlich bietet es sich an, kritische Allergien mit auf die Karte zu drucken.
Ein wichtiger Punkt ist und bleibt die Lesbarkeit. Hier gibt es zwei Punkte zu beachten:
Größe und Kontrast – möglicherweise haben unsere freundlichen Mitmenschen ihre Brille nicht zur Hand
Sprache – nicht jeder Mensch ist des Lesens mächtig und spricht Deutsch oder Englisch
Nach einigen Recherchen bin ich über eine Platform mit kostenfreien Symbolen gestolpert, die für die „Beschriftung“ der Karte prima geeignet ist. Auf icon-icons.com gibt es Symbole für nahezu jeden Bedarf. Final habe ich mich dann für ein Set von Vincent Le Moign entschieden – eine große Auswahl an Kind-gerechten und einfachen Motiven.
Nachdem die wichtigsten Informationen auf unserer Notfall-Kontaktkarte untergebracht sind, können wir die Rückseite nutzen, um deutlich zu machen, dass es sich hierbei um eine Notfall-Karte handelt.
Allerdings könnten wir den Platz auch etwas besser nutzen. So wäre es doch schön, wenn es eine echte Notfall/Notruf-Karte werden und auch unseren Kleinen im Fall der Fälle helfen könnte – ein Telefon vorausgesetzt. In einem echten Notfall gilt es den Notruf zu wählen und Feuerwehr und Krankenwagen möglichst gut zu informieren – Wer? Was? Wo?
Hier noch der Link auf ein 7zip mit der Pixelmator-Datei. Nutzt die Datei gern als Basis für eigene Kreationen – bitte beachtet aber immer die Urheberrechte der Icons und Schriftarten. Ansonsten würde ich mich wirklich riesig über Feedback freuen und ich bin super neugierig, was ihr daraus macht.
Deluxe-Version mit NFC
Insgesamt schon mal eine tolle kleine Notfall-Kontaktkarte. Das Ding hat aber – wir erinnern uns – NFC. Und das bedeutet, dass wir auch noch elektronisch Informationen auf die Karte packen können. Eine leichte Berührung mit modernen Smartphones genügt und unsere potentiellen Helfer bekommen weitere Hilfestellung.
Aktuell werden allerdings nicht von allen Geräten sämtliche NFC-Formate unterstützt, was uns vor die Entscheidung stellt:
Mehrere Kontaktdaten auf den NFC-Chip (z.B. als Visitenkarte) Dies beschränkt die Funktionalität leider auf einige kompatible Geräte oder spezielle APPs
Eine Telefonnummer direkt im NFC-Chip speichern Von den meisten Geräten unterstützt, aber limitiert uns auf eine einzige Nummer
Eine URL auf eine entsprechend präparierte Webseite Wir sind flexibel beim Hinterlegen weiterer Informationen und können uns auch bei Verlust der Karte vor Missbrauch schützen… aber, wir bzw. unsere Helfer brauchen Netz
Alle drei Optionen lassen sich leicht auf den NFC-Chip schreiben (siehe NFC-Tags kinderleicht beschreiben). Die letzte Lösung bedarf jedoch etwas mehr Vorbereitung. Entweder nutzen wir hier eine bereits existierende Website und legen eine entsprechende Unterseite an oder wir nutzen einen gängigen LandingPage-Provider (wie LinkTree oder Switchy). Das hosten der Notfall-Seite bei einem unabhängigem Anbieter bietet etwas mehr Anonymität und erlaubt eine klare Trennung unserer Websites von sonstigen Aktivitäten.
Als Provider für meine Landing-Page viel meine Wahl auf Switchy. Hier lässt sich relativ einfach eine halbwegs anonyme, aber informative Website aufbauen. Auch die Verwendung der LandingPage können wir später analysiere, so dass wir Missbrauch leicht feststellen können.
Es gibt die Möglichkeit Telefonnummern als URL anzugeben, um so dem Smartphone die Möglichkeit zu geben, dem Nutzer die direkte Wahl der Nummer anzubieten. Leider funktioniert das nicht in jedem Editor – ein WorkAround. Die Telefon-URL mittels URL-Shortener hinter einer normale „HTTPS“-Adresse „verstecken“. So funktioniert es auch auf der Beispiel-LandingPage.
Ein weiterer Hinweis sei noch bzgl. der URL der SmartPage gestattet. Hier brauchen wir keine sprechenden Namen – das Eintippen wird ja vom NFC-Chip übernommen. Im Gegenteil helfen uns möglichst lange kryptische Namen beim Verlust der Karte. Gleichzeitig wird die Seite so nicht so schnell zufällig von einem Bot gefunden. Zur Generierung langer sinnloser Zeichenketten helfen entweder Password-Generatoren oder einfach die Hände ein paar Mal auf die Tastatur fallen zu lassen.
Unsere NFC-Notfall-Kontaktkarten sind fertig! Nun aber raus – ins Abenteuer!