NEWS
ZigBee CC2531 USB-Stick Flash Adapter
-
Wir überlegen gerade, ob sich ein Flash-Adapter für den Stick entwickeln läßt. Dazu brauchen wir Eure Hilfe.
Hier ein Tool, mit welchem sich der Stick direkt im USB-Port flashen läßt.
Das Tool ist für ARM CPUs kompliliert und wir müssen wissen auf welchen Plattformen es läuft.Wenn ihr also ein ARM-basiertes Board (außer Raspberry) habt, bitte testet, ob sich das Tool starten läßt und postet das Ergebnis hier ins Forum. Die hier verlinkte Version funktioniert auf jeden Fall mit einem Raspberry Pi (selbst getestet).
Danke!!
Hintergrund:
Seit dem 06. Februar unterstützt die koenkk Firmware auf dem Stick auch SBL. Sobald diese oder eine neuere Version auf dem CC2531 Stick installiert ist, läßt sich der Stick direkt im USB-Port aktuallisieren.
In the commits of 6th February I added the SBL variant of the firmware (which can be flashed without the debugger, but first requires your to flash it once with the debugger).
Nach einer längeren Suche habe ich das flash-Tool namens sbl_tool.bin nun gefunden. Eine vorkompilierte Version für ARM ist im 'Z-StackLinux Ubuntu Gateway installer', verfügbar unter http://www.ti.com/tool/CC2531EM-IOT-HOME-GATEWAY-RD enthalten. Diese läuft problemlos auf einem Raspberry Pi. Einfach die Datei von TI herunterladen, und ausführen (unter Linux). Nach dem Entpacken finden wir ein tar-Archiv unter
Z-Stack_Linux_Gateway-1.0.1-src/Precompiled_arm/z-stack_linux_gateway_arm_binaries_39793:39796M.tar
Nach dem Entpacken dieses Archives liegt das Flash-Tool unter
Z-Stack_Linux_Gateway-1.0.1-src/Precompiled_arm/z-stack_linux_gateway_arm_binaries_39793:39796M/tools
Mittels
./sbl_tool.bin CC2531ZNP-Prod.bin /dev/ttyACM0 ***** TI LPRF ZigBee Serial Bootloader Tool for Linux v. 0.83 ***** Executed ./sbl_tool.bin on Sep 15 2014 08:26:08 Requested file file: CC2531ZNP-Prod.bin Requested serial port: /dev/ttyACM0 Image size: 239616 bytes Press [ENTER] any time to abort downloading image. Received System reset indication. Transport Protocol Version: 2 Product ID: 0 Software Release: 2.6.3 Done successfully.
habe ich eben den Stick mit der aktuellen Firmware neu geflasht, dauert keine 3 Sekunden
Vorgehensweise:
gewünschte Firmware herunterladen von https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/CC2531
Unter Instanzen den Adapter anhalten und mit o.g. Befehl flashen. Danach die Instanz einfach wieder starten. Fertig.Achtung:
Ein Stick läßt sich nur innerhalb der ersten 60 Sekunden (Flashmodus) programmieren, nachdem er angesteckt wurde! -
Super Idee
Ich habe ein Asus Tinkerboard / ARMBIAN 5.60 stable Ubuntu 16.04.5 LTS 4.14.70-rockchip
und bekomme diese Meldung, wenn ich es starte:root@tinkerboard:/tmp# ./flash.bin ***** TI LPRF ZigBee Serial Bootloader Tool for Linux v. 0.83 ***** Executed ./flash.bin on Sep 15 2014 08:26:08 Error, wrong number of argument. specify filename and optionaly the serial port to use When running on beaglebone plat
-
Ich versteh immer noch nicht was ist eigentlich der Unterschied zwischen:
https://github.com/Koenkk/Z-Stack-firmware
und
https://github.com/ioBroker/ioBroker.zigbeeSind das zwei verschiedene Anbieter für die FW des ZigBee Sticks?
Mit welcher Arbeitet ihr zusammen und worin liegen die Unterschiede? -
@smarti2015 sagte in ZigBee CC2531 USB-Stick Flash Adapter:
Das ist der Zweig in dem die Firmware für den CC2531 weiter entwickelt wird. Diese Firmware wird im zigbee-shepherd benutzt, der Basis für zigbee2mqtt und iobroker.zigbee ist
Hier wird keine Firmware entwickelt, sondern nur das Interface der Firmware zum ioBroker. Da wir hier auf die oben angegebe Bibliothek (zigbee-shepherd) zurückgreifen sind wir hier natürlich von Anpassungen die dort gemacht werden abhängig - im positiven und negativen Sinn.
A.
-
@Asgothian sagte in ZigBee CC2531 USB-Stick Flash Adapter:
zigbee-shepherd
Ah danke für die Erklärung und unter was genau stell ich mir zigbee-shepherd vor?
-
@smarti2015 sagte in ZigBee CC2531 USB-Stick Flash Adapter:
Ah danke für die Erklärung und unter was genau stell ich mir zigbee-shepherd vor?
Also.. das ganze läuft in 4 Ebenen ab:
- Hardware - cc253x Stick
- Firmware - Z-Stack Firmware von Koenkk
- Software Unterbau - zigbee-shepherd, der die direkte Kommunikation mit der Firmware auf dem Stick übernimmt. Hier werden Geräteabhängig die Zigbee Nachrichten (die als Binärnachrichten gesendet werden) in JS lesbare Strukturen übersetzt und die Geräte entsprechend den Gegebenheiten konfiguriert. (siehe auch kirovilya/zigbee-shepherd und kirovilya/zigbee-shepherd-converters) auf GitHub
- Interface zum ioBroker - ioBroker.zigbee, der die Strukturen des zigbee-shepherd in den Objektbaum im ioBroker integriert und die Kommunikation zwischen dem ioBroker und dem zigbee-shepherd managed.
So verständlich ?
-
@Asgothian Super! Jetzt hab ich etwas mehr Durchsicht Wenn ich jetzt neue Geräte habe, muss ich die vorher bei Koenkk melden, damit er sie aufnimmt, damit ihr sie später auch im ioBroker erkennen könnt oder?
-
Nö,
die Leute hier, die am Adapter arbeiten, sind auch bei Koenkk unterwegs und erstellen da bei Bedarf Pull requests um Änderungen einfliessen zu lassen.
Wenn Du es hier kund tust ist eher die Chance auf eine Testversion für iobroker höher, bevor von Koenkk was kommt.Gruss, Jürgen
-
@Wildbill Ah danke für die Info. Wenn ich schaffe, will ich mal heute Abend versuchen ein paar Infos über meine Bitron Geräte raus zubekommen (Rauchmelder und Außensirene).
-
Da kannst Du Dich prinzipiell am Wiki von Koenkk orientieren, was den Umgang mit neuen Geräten angeht. Die selben Daten sollten auch hier relevant sein.
Gruss, Jürgen
-
@smarti2015 sagte in ZigBee CC2531 USB-Stick Flash Adapter:
Ah danke für die Info. Wenn ich schaffe, will ich mal heute Abend versuchen ein paar Infos über meine Bitron Geräte raus zubekommen (Rauchmelder und Außensirene).
Es gibt da 2 Optionen:
- die Geräte sind im zigbee-shepherd schon drin (und damit bei zigbee2mqtt unterstützt). Dann reichen Device Infos damit wir die im ioBroker aktiv kriegen.
- die Geräte sind noch nicht im zigbee-shepherd drin, dann ist es aufwändiger, da wir dann die Details der Zigbee Kommunikation heraus bekommen müssen. Dafür gilt das was im von Jürgen angesprochenen Wiki dokumentiert ist interessant.
Wenn wir ein Gerät haben können wir auch pull-requests in den Zigbee-Shepherd machen.
A.
-
Re: ZigBee CC2531 USB-Stick Flash Adapter
Hallo würde das ganze gerne auf meinen Rock64 testen. Insbesondere da ich an meinem CC2530 bisher noch keine Kabel zum flashen angelötet habe. Nur die Kabel um mit dem CP2102 zu kommunizieren.
Könnt ihr mir mal auf die Sprünge helfen wie ich die Software auf den Rock bekomme? Zum Runterladen braucht man einen Account könnte jemand der einen hat, die Software irgendwo hochladen?
-
Die Software (die auch auf dem Rock64 gehen müsste, solange da armbian drauf ist) hat @gosund in seinem initialen Post bereits verlinkt. Einfach draufkopieren, rechte anpassen und hoffen das es läuft.
A.
-
Ein Punkt ist meiner Meinung nach noch offen, bevor ich mich damit beschäftigen kann ob wir das Tool in den Adapter einbauen können:
Wer kann / ist bereit zu versuchen dieses Tool für Linux (nicht arm) und Windows zu übersetzen und zu testen. Soweit ich weiss liegen Quelldateien vor ?
Aus meiner Sicht können wir das nur integrieren wenn es zumindest auf diesen Plattformen verfügbar ist.
A.
-
@Asgothian ok habe ich soweit verstanden. Filezilla habe ich auch damit würde ich es drauf kopieren. Aber wo lege ich dafür am besten einen Ordner an? Bei windows wäre mir das schon klar, aber möchte mir den PI nicht zerschießen weil ich irgendwo was falsch anlege!
Als Rechte braucht das Teil 777 oder?
-
Das Tool ist ja im Prinzip der kleine Bruder der Windows Version vom Serial Bootloader Tool.
Mit diesen lässt sich ein Stick nur innerhalb der ersten 60 Sekunden (Flashmodus) ansprechen und es lässt sich auch nur eine bin und keine hex flashen.Ich habe mit der sbl_tool.bin das ganze mal nachgestellt und auch hier habe ich das gleiche Verhalten beobachtet.
Starte ich das Tool nach ablauf der 60 Sekunden, wird sowohl mit der hex als auch mit der bin in meinen Augen nur die Firmware und Bootloader Version ausgelesen und auf der Konsole ausgegeben.Starte ich aber den Flashvorgang innerhalb der ersten 60 Sekunden nach einstecken des Sticks (Flashmodus), wird auch ein Upload und Schreibvorgang gestartet.
Die Logausgaben geben dies dann auch aus.
Allerdings ist es wie beim Windowstool so, dass dafür nur eine bin geeignet ist.
Die hex startet auch einen Upload, wirft aber Fehler aus.Nach Abschluss des Flashvorgangs kann man auch im iobroker Log sehen, dass definitiv einen neue Version geflasht wurde.
Wenn man nach Ablauf der 60 Sekunden flashen will, dann gibt es im Log keine Änderung der Versionsnummer, was auch aufgrund der kurzen Flashzeit (2 Sekunden) in meinen Augen auf einen nicht erfolgreichen Flashvorgang deutet.
Ich habe mehrere Sticks so getestet und auch verschiedene Grundversionen gehabt.
Zusammenfassend kann ich sagen, dass dieses Tool genau wie die Windowsversion nur mit einer bin funktioniert und der Stick sich im Flashmodus befinden muss.
Nur das ausschalten des Adapters reicht in meinen Augen nicht aus.
Die done Meldung kommt zwar in der Konsole, aber die kommt auch nach einem error.
-
@simatec sagte in ZigBee CC2531 USB-Stick Flash Adapter:
Nur das ausschalten des Adapters reicht in meinen Augen nicht aus.
Die done Meldung kommt zwar in der Konsole, aber die kommt auch nach einem error.Danke für die detaillierte Beschreibung. Damit steht eine Integration in den ioBroker nicht mehr zur Debatte.
A.
-
@Asgothian
Eventuell geht es ja miz der Möglichkeit den Stick irgendwie über den Adapter vorher in den Flashmodus zu bekommen. -
@simatec
Möglich ist das, allerdings ist jede Lösung die- nur auf bestimmter Hardware geht
- Eingriffe an der Hardware zur Aktivierung benötigt
- Den Erfolg nicht sauber per Software verifizieren kann
aus meiner Sicht nicht dazu geeignet in einen ioBroker adapter integriert zu werden. Wir können das dokumentieren und optimieren, aber aus meiner Sicht nicht im Adapter.
A -
Ich mache jetzt erstmal einen Langzeittest auf meinem Testsystem, wie sich der mittels bin geflashte Stick verhält.
@arteck hatte berichtet, dass der bei ihm nicht stabil lief.