Zum Inhalt springen
Alle Projekte

02Portfolio

WireAmbi — Fahrzeugbeleuchtung vom Smartphone und über Android Auto

Eine Android-App für billige LED-Streifen ELK-BLEDOM und MELK, die auf dem Smartphone und auf dem Android-Auto-Bildschirm läuft. Das Licht pulsiert im Rhythmus der Musik, und Sprachbefehle funktionieren ohne Internet. Mit dem led-auto-Gateway zeigt die App auch den Zustand von Türen und Schlössern.

  • 01/07
  • 02/07
  • 03/07
  • 04/07

In Zahlen

Automatisierte Tests
359
Vom Beat in der Musik bis zum gesendeten Farbwert
6 ms
Reaktionsstile auf Musik
9
01

Aufgabe

Billige LED-Streifen-Controller der ELK-BLEDOM-Familie haben keine Dokumentation, und die App des Herstellers läuft nicht auf dem Autodisplay. Verschiedene Modelle verstehen dieselben Befehle unterschiedlich: Der Controller im Auto ignorierte sie, obwohl das Smartphone jedes Mal meldete, es habe sie korrekt gesendet. Der Controller meldet seinen Zustand nicht, nimmt nur eine Verbindung gleichzeitig an und hat keine Verschlüsselung. Bei Android Auto kommt der Ton nicht aus dem Lautsprecher des Smartphones, der Musikmodus kann ihn also nicht über das Mikrofon hören.

02

Vorgehen

Die Befehle der Controller habe ich aus der öffentlichen Modellliste der elkbledom-Integration für Home Assistant übernommen und auf Hardware geprüft. Die App erkennt das Modell am Namen und wählt eine von drei Kommunikationsvarianten, und Effekte, die verschiedene Modelle unterschiedlich verstehen, berechnet sie selbst. Jeder Befehl wartet auf Bestätigung und wird bei Ablehnung erneut gesendet, und bei schnellen Farbwechseln erhält der Streifen stets den neuesten, sodass das Licht nicht hinterherhinkt. Im Musikmodus hört die App auf das, was das Smartphone abspielt, erkennt Beats und Tempo des Stücks und sagt den nächsten Beat voraus. Die Logik ist von Android und Bluetooth getrennt, sodass die Tests genau die Bytes prüfen, die den Controller erreichen würden. Die Bildschirme in Android Auto halten die Grenzen des Systems ein, die ich aus dem Code der Bibliothek selbst abgelesen habe. Mit dem led-auto-Gateway verbindet sich die App über den verschlüsselten Kanal WireLink.

03

Ergebnis

Die App läuft mit einem echten Controller (MELK-OC21) unter Android 15. Die Bildschirme fürs Auto habe ich im Android-Auto-Emulator geprüft, und im Auto arbeitet die App mit dem led-auto-Gateway und dem Android-Auto-Panel. Sie wird von 359 automatisierten Tests abgesichert, und die Release-Version baut ohne Warnungen. Vom erkannten Beat in der Musik bis zum gesendeten Farbwert vergehen im Schnitt 6 ms. Bei einem Stück mit 123 BPM lag der typische Abstand zwischen den Blitzen bei 487 ms, aus dem Tempo ergeben sich 488 ms. Die Oberfläche ist auf Polnisch und Englisch.

So funktioniert es

Die wichtigsten Funktionen in kurzen Clips.

  1. 01

    Koppeln ohne Raten

    Ein Assistent führt durch die Berechtigungen und die Bluetooth-Suche und sortiert die Controller vom stärksten Signal an. Der gewählte Controller wird gespeichert, sodass sich WireAmbi im Auto von selbst verbindet, auch nach dem Wechsel zu Android Auto.

  2. 02

    Farben, Szenen und Farbkreis

    Acht fertige Farben, ein Farbkreis für den vollen Bereich und Szenen, die Farbe, Helligkeit, Modus und Tempo unter einem Namen speichern. Der Schieberegler sendet nur den Wert, bei dem der Finger stehen geblieben ist, und jeder Befehl wartet auf Bestätigung, sodass keiner stillschweigend verloren geht.

  3. 03

    Licht im Takt der Musik

    Die App hört auf das, was das Telefon abspielt, und nicht auf das Mikrofon, daher funktioniert der Musikmodus auch mit Android Auto. Sie erkennt Beats und Tempo eines Titels selbst und sagt den nächsten Beat im Voraus voraus. Zur Wahl stehen neun Reaktionsstile, vom Puls bis zu Regenbogen und Funken.

  4. 04

    Kalibrierung für jeden Controller

    Günstige Controller verstehen Befehle auf drei verschiedene Arten, und die App wählt anhand des Gerätenamens die richtige. Ist ein Streifen anders verdrahtet und die Farben vertauscht, zeigt das der Farbtest sofort, und ein Tippen stellt die richtige Reihenfolge ein.

  5. 05

    Fahrzeugpanel mit dem Gateway led-auto

    Das Telefon verbindet sich über den verschlüsselten Kanal WireLink mit dem Gateway led-auto und zeigt den Zustand von Schlössern und Türen live auf einem 3D-Modell des Autos. Nach dem Öffnen einer Tür geht das Einstiegslicht an. Das Entriegeln und die Fenster sichert die App mit Biometrie oder der PIN des Besitzers, im Auto sind diese Funktionen aber noch nicht angeschlossen.

  6. 06

    Android Auto und Sprache offline

    Auf dem Autobildschirm gibt es ein Farbraster, Szenen und Verknüpfungskacheln, die Sie auf dem Telefon anordnen. Sprachbefehle erkennt Vosk ohne Internet. Die App kennt nur ihre eigene Befehlsliste und führt einen Befehl erst aus, wenn sie jedes Wort sicher erkannt hat.

Schreiben