Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:tech:tradfri_mod

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:tech:tradfri_mod [2021/01/20 07:06] bullarde:tech:tradfri_mod [2021/01/20 10:39] (aktuell) – [TRÅDFRI Taster] bullar
Zeile 17: Zeile 17:
 | PC10 |  -  |  -  |  -  |  Down Button  | | PC10 |  -  |  -  |  -  |  Down Button  |
  
-Das Modul wird gesteuert von einem EFR32MG1PXXXF256 Controller von Silicon Labs gesteuert. Dieser verfügt über ein Debug Interface, das auch am Modul zur Verfügung steht. Dabei handelt es sich um ARM's Serial Wire Debug (SWD) Interface mit 2 Leitungen. +Das Modul wird von einem EFR32MG1PXXXF256 Controller von Silicon Labs gesteuert. Dieser verfügt über ein Debug Interface, das auch am Modul zur Verfügung steht. Dabei handelt es sich um das ARM's Serial Wire Debug (SWD) Interface mit 2 Leitungen. 
  
 ==== Debugger ==== ==== Debugger ====
Zeile 24: Zeile 24:
 {{ :tech:j-link_debugger.png?direct&300 |}} {{ :tech:j-link_debugger.png?direct&300 |}}
  
-Die 4 Leitungen des Debuggers werden wie folgt and das Modul angeschlossen:+Die 4 Leitungen des Debuggers werden wie folgt an das Modul angeschlossen:
  
-^  JLINK  ^  TRÅDFRI Modul ^+^  JLINK  ^  TRÅDFRI Modul  ^
 |  VCC  |  VCC  | |  VCC  |  VCC  |
 |  SWDIO  |  PF1  | |  SWDIO  |  PF1  |
Zeile 61: Zeile 61:
  
 ^ Area ^ ADDR ^ Size ^ ^ Area ^ ADDR ^ Size ^
-|  Main   ''0x0''  |  ''0x40000'' +|  MAIN   ''0x0''  |  ''0x40000'' 
-|  User   ''0xfe00000''  |  ''0x800'' +|  USER   ''0xfe00000''  |  ''0x800'' 
-|  Lock   ''0xfe04000''  |  ''0x800'' +|  LOCK   ''0xfe04000''  |  ''0x800'' 
-|  Chip   ''0xfe08000''  |  ''0x400''  |+|  CHIP   ''0xfe08000''  |  ''0x400''  |
  
-Zum Auslesen geben wir die folgenden Befehle ein:+Zum Auslesen und Abspeichern geben wir die folgenden Befehle ein:
  
 <code> <code>
Zeile 106: Zeile 106:
 Für das [[de:tech:gw60|Rollo Projekt]] habe ich dazu den Standard TRÅDFRI Taster (kabelloser Dimmer genannt) in einen Taster für das Rollo umgewandelt. Den gibt es ja leider nicht einzeln zu kaufen. Für das [[de:tech:gw60|Rollo Projekt]] habe ich dazu den Standard TRÅDFRI Taster (kabelloser Dimmer genannt) in einen Taster für das Rollo umgewandelt. Den gibt es ja leider nicht einzeln zu kaufen.
  
-{{ :tech:tradfri_taster.png?nolink&200 |}}+{{:tech:tradfri_taster.png?nolink&200|}} 
 +{{:tech:tradfri_tester_rollo.png?direct&200|}}
  
-Wie man den Taster öffnet ist [[http://westsideelectronics.com/ikea-tradfri-on-off-switch-teardown/| hier]] gut beschrieben. Die Anschlüsse zum Programmieren sind auf der Rückseite beschriftet und die Verbindung zum Debugger ergibt sich daher wie folgt:+Wie man den Taster öffnet ist [[http://westsideelectronics.com/ikea-tradfri-on-off-switch-teardown/| hier]] gut beschrieben. Die Anschlüsse zum Programmieren sind auf der Rückseite des PCBs beschriftet und die Verbindung zum Debugger ergibt sich daher wie folgt:
 ^  JLINK  ^  TRÅDFRI Taster  ^ ^  JLINK  ^  TRÅDFRI Taster  ^
 |  VCC  |  VCC  | |  VCC  |  VCC  |
Zeile 118: Zeile 119:
 ==== Update ==== ==== Update ====
  
 +Alle TRÅDFRI Komponenten unterstützen Over-The-Air (OTA) Updates. Darum braucht man sich nicht zu kümmern da es im Hintergrund zum Beispiel durch das Gateway erfolgt. Wollen wir beim Umprogrammieren jedoch gleich die aktuelle Firmware flashen, dann können wir die Daten auch direkt vom IKEA OTA Server holen. Findige Entwickler haben dazu ein [[https://github.com/dresden-elektronik/deconz-rest-plugin/blob/master/ikea-ota-download.py|Python Script]] geschrieben. Mit Hilfe dieses Script werden alle auf dem Server vorhanden Files heruntergeladen. Das Beispiel für das Rollo sieht dann so aus ''10037585-5.1-TRADFRI-connected-blind-2.2.009.ota.ota.signed''\\
  
 +Es wird allerdings nur der MAIN Bereich des FLASH aktualisiert. Die Bereiche USER, LOCK und CHIP ändern sich nicht und sind somit auch nicht online. Will man also ein Modul in eine andere Funktionalität umprogrammieren, so muss man es zumindest einmal selber ausgelesen haben um an die Daten für USER, LOCK und CHIP zu kommen.\\
  
 +Die geladenen Daten sind in einem exotischen Format gekapselt mit der Abkürzung NGIS. Hier war auch wieder etwas Arbeit nötig um das Format zu entschlüsseln und die Binärdatei zu extrahieren. Eine tolle Unterstützung war dabei übrigens das Program [[https://www.synalysis.net|Synalyze it! Pro]]. Das Graph File liegt im Downloadbereich bereit.\\
 +
 +{{:tech:ota_ngis.png?direct | OTA NGIS Graph}}
 +
 +
 +Zum Extrahieren habe ich ebenfalls ein Python Script geschrieben das auch im Downloadbereich liegt. Bei den bisherigen Tests war die extrahierte Version binäridentisch zur ausgelesenen.\\
 +
 +
 +==== Downloads ====
 +
 +  * {{:tech:ota_ngis.dot.zip | OTA NGIS Graph file (.dot)}}
 +  * {{:tech:extract_image.py.zip |Python script to extract image (.py)}}
 +
 +
 +
 +==== Spenden ====
 +
 +Wenn ihr meine Arbeit unterstützen wollt, so könnt ihr mir gerne einen Cappuccino oder so spenden: .
 +
 +<html>
 +
 +<form action="https://www.paypal.com/donate" method="post" target="_top">
 +<input type="hidden" name="hosted_button_id" value="N397JC5HP82AQ" />
 +<input type="image" src="https://www.paypalobjects.com/de_DE/DE/i/btn/btn_donateCC_LG.gif" border="0" name="submit" title="PayPal - The safer, easier way to pay online!" alt="Donate with PayPal button" />
 +<img alt="" border="0" src="https://www.paypal.com/de_DE/i/scr/pixel.gif" width="1" height="1" />
 +</form>
 +
 +</html>
de/tech/tradfri_mod.1611126401.txt.gz · Zuletzt geändert: 2021/01/20 07:06 (Externe Bearbeitung)