Site Tools


en:tech:tradfri_mod

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:tech:tradfri_mod [2021/01/20 11:04] – [Programmieren] bullaren:tech:tradfri_mod [2026/08/12 12:15] (current) – external edit 127.0.0.1
Line 22: Line 22:
 A debugger is required to be able to read or write to the FLASH. An inexpensive variant is again available from [[https://www.ebay.de/itm/J-Link-OB-ARM-Debugger-Programmer-Downloader-ersetzt-v8-SWD-M74/164140805411?_trkparms=ispr%3D1&hash=item26378ded23:g:5QwAAOSwWp9efchy&amdata=enc%3AAQAFAAACcBaobrjLl8XobRIiIML1V4Imu%252Fn%252BzU5L90Z278x5ickkfOCvCjTOBWK8pwriaolq5kz8V%252F3fTn%252Bq1NprncvlEKsUO895Z6XqDQhlhBvpbG2iNwBFjad%252BDPZzBz7ihvtqJ4%252B%252Bg52gz8KOIOGYrD10yG3A8AfpY1cUWzvu8tjab91BJZ%252BYgvMSWDu1nbAGr1BOFXMR46ClABTL4mEBQrf2agUZJLnBxpsl6eg40caxG9mTAKdcyprIgilxKr99%252FLN6mijnJnSD2rdRaCudzFVV0vcj%252B%252BgahlfPxBTYA4RaRXWwLxoK5OGzTPTPnSSFAU4dxhb%252BySdVAd2cy1yq%252F7zyU5bQ48QCTp9KEEWC60mX4eRiMYN3EIcyBZ1KakivZwJC%252B%252FT4Y1euzBAqGr81Bx0FVIFD9uX%252BVFN8Ch%252B%252FDkW%252FCoehDajj06GFZjuZbEw65UEwoFKvkT4xMk6hEalDff2nViNHxTpK3Z2i1r%252BEFH0ZiMkRdOq1zxKbQpRufFLAr4hltuxPB3F%252BsOtgxmP1XT3pUWGvUis%252FsYC71Fw6uOu6NeaDkkxc7rP7oZw%252BvwS4jvcnEN2MZ5TMjUdXfcO%252FRThvUAwzwbAO0%252BVDJDvt3NPkaK774dr9QnaxHRZLTQzz6%252FqF7Bg3%252FRCMJ7Yn7VyHgw6OXDfYC68nUXPiJG3s0J%252FvztIof9JHeEgEioob5i4s5K%252Fg8yheJiR%252FnHUhphEOkmgMLjrXyhm16zhzXjdonBc0JNe52Ols5CWLD3ueZbnegfefnFdKcykgiE71oxGlVddcdR2vCcTXdgLqjmeUQsjTpab3ws0l3YetcB7SR5%252BHUG6L7w%253D%253D%7Ccksum%3A164140805411432396b05a514c0f8bca653630049171%7Campid%3APL_CLK%7Cclp%3A2334524|Ebay]]. You can find more information, among other things [[https://github.com/basilfx/TRADFRI-Hacking/blob/master/FIRMWARE.md|here]]. A debugger is required to be able to read or write to the FLASH. An inexpensive variant is again available from [[https://www.ebay.de/itm/J-Link-OB-ARM-Debugger-Programmer-Downloader-ersetzt-v8-SWD-M74/164140805411?_trkparms=ispr%3D1&hash=item26378ded23:g:5QwAAOSwWp9efchy&amdata=enc%3AAQAFAAACcBaobrjLl8XobRIiIML1V4Imu%252Fn%252BzU5L90Z278x5ickkfOCvCjTOBWK8pwriaolq5kz8V%252F3fTn%252Bq1NprncvlEKsUO895Z6XqDQhlhBvpbG2iNwBFjad%252BDPZzBz7ihvtqJ4%252B%252Bg52gz8KOIOGYrD10yG3A8AfpY1cUWzvu8tjab91BJZ%252BYgvMSWDu1nbAGr1BOFXMR46ClABTL4mEBQrf2agUZJLnBxpsl6eg40caxG9mTAKdcyprIgilxKr99%252FLN6mijnJnSD2rdRaCudzFVV0vcj%252B%252BgahlfPxBTYA4RaRXWwLxoK5OGzTPTPnSSFAU4dxhb%252BySdVAd2cy1yq%252F7zyU5bQ48QCTp9KEEWC60mX4eRiMYN3EIcyBZ1KakivZwJC%252B%252FT4Y1euzBAqGr81Bx0FVIFD9uX%252BVFN8Ch%252B%252FDkW%252FCoehDajj06GFZjuZbEw65UEwoFKvkT4xMk6hEalDff2nViNHxTpK3Z2i1r%252BEFH0ZiMkRdOq1zxKbQpRufFLAr4hltuxPB3F%252BsOtgxmP1XT3pUWGvUis%252FsYC71Fw6uOu6NeaDkkxc7rP7oZw%252BvwS4jvcnEN2MZ5TMjUdXfcO%252FRThvUAwzwbAO0%252BVDJDvt3NPkaK774dr9QnaxHRZLTQzz6%252FqF7Bg3%252FRCMJ7Yn7VyHgw6OXDfYC68nUXPiJG3s0J%252FvztIof9JHeEgEioob5i4s5K%252Fg8yheJiR%252FnHUhphEOkmgMLjrXyhm16zhzXjdonBc0JNe52Ols5CWLD3ueZbnegfefnFdKcykgiE71oxGlVddcdR2vCcTXdgLqjmeUQsjTpab3ws0l3YetcB7SR5%252BHUG6L7w%253D%253D%7Ccksum%3A164140805411432396b05a514c0f8bca653630049171%7Campid%3APL_CLK%7Cclp%3A2334524|Ebay]]. You can find more information, among other things [[https://github.com/basilfx/TRADFRI-Hacking/blob/master/FIRMWARE.md|here]].
  
-{{ :tech:j-link_debugger.png?direct&300 |}}+{{ :media:tech:tradfri_mod:j-link_debugger.png?direct&300 |}}
  
 The 4 wires of the debugger are to connect to the module as follows: The 4 wires of the debugger are to connect to the module as follows:
Line 101: Line 101:
 </code> </code>
  
-==== TRÅDFRI Taster ====+==== TRÅDFRI on/off switch ====
  
-Das gleiche Verfahren lässt sich übrigens auch für andere TRÅDFRI Geräte anwenden, wo nicht dieses Modul eingesetzt wirdDer Schaltungsaufbau ist nämlich immer der gleicheDazu muss man auf der Platine nur die vier Anschlüsse findenDiese sind immer auch als Pads für den Modultest rausgeführt und somit leicht erreichbar.\\ +The same procedure can also be used for other TRÅDFRI devices that do not use this moduleThe circuit structure is always the sameAll you have to do is find the four connections on the circuit boardThese are always available as pads for the module test and are therefore easily accessible. \\ 
-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 umgewandeltDen gibt es ja leider nicht einzeln zu kaufen.+For the [[en:tech:gw60 | blind project]] I converted the standard TRÅDFRI on/off switch into a button for the blindUnfortunately, you can't buy one individually.
  
-{{:tech:tradfri_taster.png?nolink&200|}} +{{:tech:tradfri_taster.png? nolink & 200|}} 
-{{:tech:tradfri_tester_rollo.png?direct&200|}}+{{:media:tech:tradfri:tradfri_tester_rollo.png? direct & 200|}}
  
-Wie man den Taster öffnet ist [[http://westsideelectronics.com/ikea-tradfri-on-off-switch-teardown/hier]] gut beschriebenDie Anschlüsse zum Programmieren sind auf der Rückseite des PCBs beschriftet und die Verbindung zum Debugger ergibt sich daher wie folgt:+How to open the button is [[http://westsideelectronics.com/ikea-tradfri-on-off-switch-teardown/here]] well describedThe connections for programming are labeled on the back of the PCB and the connection to the debugger is shown as follows:
 ^  JLINK  ^  TRÅDFRI Taster  ^ ^  JLINK  ^  TRÅDFRI Taster  ^
 |  VCC  |  VCC  | |  VCC  |  VCC  |
Line 115: Line 115:
 |  SWCLK  |  CLK  | |  SWCLK  |  CLK  |
 |  GND  |  GND  | |  GND  |  GND  |
-{{:tech:tradfri_taster_pcb_bottom.png?direct&300|}}+ 
 +{{:media:tech:tradfri_mod:tradfri_taster_pcb_bottom.png?direct&300|}}
  
 ==== Update ==== ==== Update ====
  
-Alle TRÅDFRI Komponenten unterstützen Over-The-Air (OTA) UpdatesDarum braucht man sich nicht zu kümmern da es im Hintergrund zum Beispiel durch das Gateway erfolgtWollen wir beim Umprogrammieren jedoch gleich die aktuelle Firmware flashendann können wir die Daten auch direkt vom IKEA OTA Server holenFindige Entwickler haben dazu ein [[https://github.com/dresden-elektronik/deconz-rest-plugin/blob/master/ikea-ota-download.py|Python Script]] geschriebenMit Hilfe dieses Script werden alle auf dem Server vorhanden Files heruntergeladenDas Beispiel für das Rollo sieht dann so aus ''10037585-5.1-TRADFRI-connected-blind-2.2.009.ota.ota.signed''\\ +All TRÅDFRI components support Over-The-Air (OTA) updatesYou don't need to worry about that, as it takes place in the background, for example through the gatewayHoweverif we want to flash the current firmware while reprogramming, we can also fetch the data directly from the IKEA OTA serverResourceful developers have written a [[https://github.com/dresden-elektronik/deconz-rest-plugin/blob/master/ikea-ota-download.py |Python Script]]. With the help of this script, all files available on the server are downloadedThe example for the roller blind then looks like this: ``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}}+However, only the MAIN area of ​​the FLASH is updatedThe USER, LOCK and CHIP areas do not change and are therefore not online either. If you want to reprogram a module with a different functionality, you have to read it out yourself at least once in order to get to the data for USER, LOCK and CHIP. \\
  
 +The loaded data is encapsulated in an exotic format with the abbreviation NGIS. Here again some work was necessary to decrypt the format and extract the binary file. The program [[https://www.synalysis.net | Synalyze it! Per]]. The graph file is available in the download area. \\
  
-Zum Extrahieren habe ich ebenfalls ein Python Script geschrieben das auch im Downloadbereich liegtBei den bisherigen Tests war die extrahierte Version binäridentisch zur ausgelesenen.\\+{{:media:tech:tradfri:ota_ngis.png?direct | OTA NGIS Graph}}
  
 +For extracting I wrote a Python script that is also in the download area. In the previous tests, the extracted version was binary identical to the one that was read out. \\
  
 ==== Downloads ==== ==== Downloads ====
  
-  * {{:tech:ota_ngis.dot.zip | OTA NGIS Graph file (.dot)}} +  * {{:media:tech:tradfri:ota_ngis.dot.zip | OTA NGIS Graph file (.dot)}} 
-  * {{:tech:extract_image.py.zip |Python script to extract image (.py)}}+  * {{:media:tech:tradfri_mod:extract_image.py.zip |Python script to extract image (.py)}}
  
 ==== Donate ==== ==== Donate ====
  
-If you line my articles feel to donate a cappuccino or so...+If you like my articles feel to donate a cappuccino or so...
  
 <html> <html>
en/tech/tradfri_mod.1611140647.txt.gz · Last modified: (external edit)