Das schwedische Möbelhaus bietet mit der TRÅDFRI-Produktfamilie eine smarte Beleuchtungslösung, die via ZigBee Light Link funkt.
Nehmen wir z.B. die LED-Leuchte Modell GU10 auseinander, so besteht diese aus:
- Stromversorgung
- LED-Treiber
- TRÅDFRI-Modul
Das IKEA TRÅDFRI Modul wird in vielen Produkten dieser Familie verwendet und ist eigentlich ein kleines Stück Leiterplatte mit freiliegenden Pins.
Man kann dieses Board auch ausbauen und an eigenen Beleuchtungslösungen anschließen.
Oder man flasht eine alternative Firmware und verwendet es für eigene Bastelideen.
Wenn man einen beliebigen Verbraucher schalten will, gibt es inzwischen eine einfache Lösung von Ikea dafür.
Komponenten
Auf einem IKEA TRÅDFRI-Modul befinden sich folgenden Komponenten:
- Silicon Labs EFR32MG1P132F256GM32 Mikrocontroller (MCU)
- ARM Cortex M4 mit 256 KiB Flash und 32 KB Speicher
- Mikrocontroller: EFR32MG1P132F256GM32
- 2 MBit SPI Flash: IS25LQ020B
- Quarz: 38,4 MHz
Die Original-Firmware enthält Strings, die sich auf die genaue Teilenummer beziehen.
Es sind allerdings auch Verweise auf andere SPI-Flash-Komponenten zu finden, sodass einige Chargen möglicherweise ein anderes Modul enthalten können.
Pinbelegung
Auf dieser Website habe ich die Belegung der Pins gefunden.
Flashen via JTAG
Um eine Verbindung zu einem externen JTAG / SWD-Debugger herzustellen, verbinde wie folgt:
PF0 -> SWCLK
PF1 -> SWDIO
PF2 -> SWO
RESETn -> RESETn
GND -> GND
VCC -> VCC (3v3)
In meinem Fall könnte ich das Modul in der Glühbirne lassen, aber zum Flashen nutze ich ein externes Netzteil, indem ich es direkt an die VCC-Leitung anschließe.
Software
Zum flashen der Fitmware kann JLink oder OpenOCD verwendet werden.
Mit JLink kann mit folgendem Befehl eine Verbindung zum Board hergestellt werden:
JLink -If SWD -Speed 5000 -Device EFR32MG1PXXXF256
Ein Firmware-Dump kann wie folgt erstellt werden (0x4000 is 256 KiB):
savebin output.bin 0x0 0x4000
Firmware-File flashen:
loadbin output.bin verifybin output.bin 0x0
Wenn ein Firmware-Dump von der originalen Software erstellt wurde, kann diese auch nach dem Experimentieren wieder rückgeflasht werden. Die Lampe befindet sich dann wieder im Originalzustand.
Custom Firmware
Bei dem Chip handelt es sich um einen gewöhnlichen Cortex M4. Er kann mit jeder Firmware geflasht werden.
Für RIOT-OS, eine Open Source Firmware für das Internet of Things gibt es schon Bestrebungen.
In diesem Verzeichnis liegen eine Firmware-Files.
Das nachfolgende Video zeigt, das sich das Board über eine serielle Verbindung steuern lässt.
Isolierung
Wenn das Board an Ort und Stelle bleiben soll, also in der LED-Leuchte und mit eigener Firmware betrieben werden soll, schließe niemals externe Geräte (z.B. Debugger oder serieller Adapter) an eine angeschlossene Glühbirne an. Aufgrund unterschiedlicher Spannungspegel könnten die externen Geräte zerstört werden.
Quellen
Disclaimer
Diese Seite und ihr Inhalt stehen in keiner Verbindung zu IKEA of Sweden AB.
Der Zweck dieses Projekts ist es, Reverse-Engineering-Techniken zu erlernen und zu verbessern.
Verwende diese Informationen auf eigene Gefahr.
Schreibe einen Kommentar