Z-Stack-Firmware auf CC2531 flashen (Windows)

Wir werden dir zeigen, wie du einen CC2531 mit einem CC Debugger von Texas Instruments unter Windows mit der Z-Stack-Firmware von Koenkk flashst. Diese Firmware benötigst du, um den CC2531 mit zigbee2mqtt zu verwenden. Solltest du dir einen neuen CC2531-Stick kaufen, hole dir am besten direkt einen auf dem die entsprechende Firmware bereits installiert ist. Sticks mit installierter Software kosten nur ein paar Euro mehr (meiner Meinung nach sehr gut investiertes Geld, da man zum flashen auch entsprechende Hardware benötigt).

Benötigte Gegenstände

Du brauchst neben einem PC mit Windows (und einer Internetverbindung) die folgenden Gegenstände:

  • CC Debugger (von Texas Instruments)
  • CC2531 Downloader Cable
  • CC2351-Stick
  • USB-Kabel um den CC-Debugger am PC anzuschließen (wird für gewöhnlich mit dem CC-Debugger ausgeliefert)
CC2531, CC-Debugger und Downloader-Kabel
CC-Debugger (links), CC2531 Downloader-Kabel (unten rechts), CC2531 (oben rechts)

Download & Installation der Software zum Flashen

Zunächst musst Du den SmartRF-Flash-Programmer von Texas Instruments herunterladen. Hierfür musst du dir einen Texas Instruments-Account anlegen.

Gehe hierfür zunächst auf die Seite von Texas Instruments: https://www.ti.com/tool/FLASH-PROGRAMMER

Flash Programmer von Texas Instruments downloaden
Flash Programmer (v1) von Texas Instruments herunterladen

Wenn du auf der Webseite etwas nach unten scrollst solltest du zu der Downloads-Sektion kommen. Achte hierbei darauf, dass du nicht den Flash-Programmer v2 auswählst. Dieser lässt sich nicht zum flashen des CC2531 verwenden.

Es öffnet sich eine neue Seite auf der dich mit einem myTI-Account anmelden oder einen neuen Account anlegen musst. Bei mir ist die eMail direkt im SPAM-Ordner gelandet, es lohnt sich also auch mal dort nachzuschauen.

Bevor du die Software herunterladen kannst musst du noch dem U.S. Government export Bedingungen zustimmen. Dies hängt damit zusammen, dass Exporte aus den USA zum Teil stark reglementiert werden und Texas Instruments sich somit absichern muss. Ich bitte dich darum diese Vereinbarung sehr ernst zu nehmen!
Im Grunde stimmst du zu, dass du die Software, sowie die damit erstellte Hard- und Software nicht weiterleitest (vor allem nicht an Personen in Staaten, an die ein export aus den USA verboten ist) und sie nicht in Waffensystemen eingesetzt wird. Wenn du die Software nur für dich privat benutzt und niemanden weitergibst, solltest du allerdings auf der sicheren Seite sein (meine persönliche Einschätzung, ich bin kein Anwalt!). Aus diesem Grund können wir leider auch keinen direkten Download der Software anbieten.
Es kann sein, dass deine Daten vor dem Download manuell geprüft werden müssen. Dies kann dann einige Tage dauern. Bei mir gab es allerdings keine weiteren Probleme beim Download der Software.

Die Installation der Software ist im Vergleich zum Download dafür sehr einfach, weswegen ich darauf nicht weiter eingehen werde.

Zusätzlich benötigst du den CC debugger driver. Diesen kannst du dir ohne Anmeldung direkt von Texas Instruments herunterladen: http://www.ti.com/lit/zip/swrc212

Auch auf die Installation des CC-Debugger Treibers werde ich nicht weiter eingehen, da diese genau so einfach, wie jede andere Installation ist (einfach immer auf Weiter klicken und natürlich nicht vergessen die Lizenzbedingungen durchzulesen).

Auswahl und Download der Z-Stack Firmware

Als letztes brauchst du noch die Z-Stack-Firmware. Hierfür musst du wissen, wie viele Zigbee-Geräte du am Ende in deinem Netzwerk haben möchtest und wie dein Netzwerk aufgebaut ist. Für den CC2531 gibt es zwei empfohlene Firmware-Versionen. Downloade dir die passende ZIP-Datei und extrahiere sie:

Z-Stack Home 1.2 (default)

Wenn du weniger als 15 Geräte hast, ist diese Firmware ideal für dich.
Alle Zigbee-Geräte werden hierbei direkt mit dem CC2531 verbunden. Bei mehr als 15 Geräten kann dies für den eher leistungsschwachen CC2531 allerdings zu viel werden.

Download: https://github.com/Koenkk/Z-Stack-firmware/raw/master/coordinator/Z-Stack_Home_1.2/bin/default/CC2531_DEFAULT_20201127.zip

Z-Stack Home 1.2 (source-routing)

Wenn du mehr als 15 Geräte hast, installiere lieber diese Firmware.
Bei dieser Firmware werden allerdings nur 5 Geräte direkt mit dem CC2531-Stick verbunden. Du musst also in der Nähe des CC2531-Sticks Geräte haben, die als Router arbeiten können. In meinem Netzwerk können alle Geräte, die mit Netzspannung betrieben werden, diese Aufgabe übernehmen. Ein paar Lampen in der Nähe des CC2531-Sticks sollten daher ausreichen, damit das Zigbee-Mesh richtig aufgebaut wird.

Download: https://github.com/Koenkk/Z-Stack-firmware/raw/master/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2531_SOURCE_ROUTING_20201128.zip

Überprüfung der Installation

Verbinde den CC-Debugger über das USB-Kabel mit dem PC. Öffne den Geräte-Manager um die Installation des CC-Debugger-Treibers zu überprüfen. Vermutlich wird dir das Gerät mit einem Ausrufezeichen angezeigt. Dies bedeutet, dass der gerade installierte Treiber von Windows nicht gefunden wurde, wir müssen ihn daher manuell installieren.

CC-Debugger im Geräte Manager: Fehlerhafter Treiber
Fehlerhafter Treiber im Geräte-Manager

Klicke mit der rechten Maustaste auf den CC-Debugger und wähle „Treiber aktualisieren“ aus. Klicke im sich öffnenden Fenster auf die untere Schaltfläche („Auf meinem Computer nach Treibern suchen“).

Es öffnet sich ein Auswahldialog. Suche in diesem nach den exportierten Treiber-Dateien (diese sind in der ZIP-Datei von Texas Instruments enthalten). Die Treiber liegen in der ZIP-Datei im Ordner cebal. Wähle bei einer 64bit Installation von Windows den Ordner win_64bit_x64 aus. Bei einer 32bit Installation den Ordner win_32bit_x86.

Mit einem Klick auf OK schließt sich das Fenster. Der Pfad im Eingabefeld hat sich entsprechend geändert. Nach einem Klick auf Weiter wird der Treiber installiert. Dies kann ein paar Sekunden dauern. Drücke anschließend auf Schließen. Die Liste im Geräte-Manager aktualisiert sich jetzt und das Ausrufezeichen am CC-Debugger sollte verschwinden. Außerdem findest du den CC-Debugger jetzt in der Kategorie „Cebal controlled devices“.

Da der Treiber für den CC-Debugger jetzt richtig installiert ist, können wir nun mit dem Flashen des CC2531 weitermachen.

Verbinden des CC2531-Sticks mit dem PC

CC2531, CC-Debugger und PC verbinden
CC2531, CC-Debugger und PC verbinden

Verbinde jetzt den CC-Debugger über das Downloader-Kabel mit dem CC2531-Stick. Verbinde jetzt auch den CC2531-Stick mit dem PC. Der CC-Debugger ist jetzt über das USB-Kabel mit dem PC verbunden und der CC2531 steckt auch in einem USB-Port des PCs.

CC2531 im Geräte Manager
CC-Debugger und CC2531 im Geräte-Manager

Wenn du willst, kannst du auch prüfen, ob der Treiber des CC2531 korrekt erkannt wurde. Im Geräte-Manager wird der CC2531-Stick direkt unter dem CC-Debugger angezeigt. Bei mir gab es keine Probleme bei der Erkennung des Treibers.

Prüfe jetzt, ob die LED des CC-Debuggers grün ist. Wenn sie nicht grün ist drücke einmal auf die Reset-Taste des CC-Debuggers. Sollte sie immer noch nicht grün sein, versuche das Downloader-Kabel einmal andersrum an den CC2531-Stick anzuschließen.

CC2531 mit Downloader-Kabel
Das Downloader-Kabel muss richtig rum am CC2531 angeschlossen sein.
Das Kabel musste bei mir den kurzen Weg von der Platine nehmen.

Wenn die LED grün ist, können wir weiter machen!

Flashen des CC2531

Starte jetzt den SmartRF Flash Programmer (findet man in der Windows-Suche unter dem Namen Flash Programmer). Öffne über die Schaltfläche mit den drei Punkten den Dialog zum Auswählen einer Image-Datei. In dem Ordner mit der exportierten Z-Stack Home Firmware liegt eine HEX-Datei. Im Dateinamen sollte hier auch CC2531 stehen. Wähle diese Datei aus und klicke auf Öffnen.

Laut zigbee2mqtt-Dokumentation soll man sich an die folgende Einstellungen fürs flashen halten. Ich musste dafür bei mir den Haken neben „Retain IEEE address when reprogramming the chip“ entfernen. Mit einem Klick auf die Schaltfläche „Perform actions“ wird das Flashen des CC2531 gestartet.

SmartRF Flash Programmer: CC2531 mit Z-Stack Home flashen
CC2531 mit Z-Stack home flashen

Das Flashen des CC2531-Sticks hat bei mir nur ein paar Sekunden gebraucht. Wenn der Flash-Vorgang abgeschlossen ist, sollte der SmartRF Flash Programmer so aussehen:

SmartRF Flash Programmer: Erfolgreich geflashte Z-Stack Home
Bei einem erfolgreichen flash, wird im Eingabefeld im unteren Teil des Programms
„CC2531 – ID1137: Erase, program, verify OK“ angezeigt

Der CC2531-Stick sollte sich jetzt neustarten und von Windows als serielles USB-Gerät erkannt werden. Du kannst den CC2531-Stick jetzt vom PC trennen.

Die Funktionsweise des Sticks kannst du am einfachsten überprüfen, indem du mit ihm eine zigbee2mqtt-Instanz einrichtest. Da dies unter Windows etwas schwieriger ist, empfehle ich dir eine zigbee2mqtt-Instanz auf einem RaspberryPi mit docker zu starten. Wie du das machst, zeigen wir dir in unserem Beitrag zigbee2mqtt auf dem Raspberry Pi (docker).

Wir wünschen dir viel Spaß mit deinem selbst geflashten CC2531-Stick!