Ich möchte für mein Zigbee-Netzwerk (benutzt via Home Assistant mit zha und Conbee) einen eigenen Knoten bauen. Mit der Mikrocontrollerprogrammierung und Hardware kenne ich mich aus, das ist nicht das Problem. Allerdings blicke ich bei Zigbee nicht so wirklich durch, und suche deshalb einen "Baustein", der das über ein einfaches Interface (z.B. spi oder i2c oder seriell) für mich erledigt. So wäre ich frei beim Design und der Programmierung der restlichen Logik. Im Prinzip möchte ich einfach die Sensoren/Aktoren definieren, und (Mess)werte setzen und lesen, und bei Bedarf einen Transmit auslösen. Alternativ käme eine Bibliothek in Frage, die das für mich auf demselben Controller erledigt. Ich möchte den Sensor in C oder Rust oder vielleicht auch micropython programmieren. Was ich aber überhaupt nicht mag, sind heavy frameworks und GUI (also nichts a la STM Cube, und bitte kein Arduino), und Software die nur unter Windows läuft. Bin da etwas puristisch unter Linux mit Kommandozeile und Texteditor unterwegs... (Ich habe schon viel gesucht, und auch die XBees und nrf52840 gefunden, sehr aber vor lauter Bäumen den Wald nicht mehr und hoffe auf ein paar Tipps zur Orientierung)
Mir ist mindestens ein Knoten bekannt der auf einen der TI Chips setzt. Auch hier im Forum war Mal Einer der diesen Knoten (unterstützt bei Zigbee2MQTT) vertreiben wollte. Leider wollte er den Code nicht raus rücken. Angeblich war es aber nur ein Beispiel etwas abgeändert. Selbst nicht näher angeschaut. Ansonsten hat man bei CNX-Software auch schon gelesen dass es für die Zigbee fähigen ESPs ein Arduino ähnliches Framework geben soll: https://github.com/espressif/arduino-esp32/issues/10135
Die STM32WB-reihe kann Zigbee, es gibt einen kostenlosen Zigbee-Stack von ST und auch passende Nucleo-Boards. Zum Einstieg sicher nicht die schlechteste Wahl. https://wiki.st.com/stm32mcu/wiki/Category:Zigbee
Harry L. schrieb: > es gibt einen kostenlosen Zigbee-Stack von ST und auch passende > Nucleo-Boards. Ist allerdings recht komplex, und selbst Cube ist ja schon nicht erwünscht. Die ganze Zigbee-Implementation muss also in einem externen Modul erfolgen
Niklas G. schrieb: > Ist allerdings recht komplex, und selbst Cube ist ja schon nicht > erwünscht. Die ganze Zigbee-Implementation muss also in einem externen > Modul erfolgen Tja...keine Arme - keine Kekse. ;-) Zigbee ist nun mal nicht trivial, und son Stack schreibt man ganz sicher nicht "mal eben" selber. Cube ist da noch eine der eher umgänglichen Varianten.
Harry L. schrieb: > Tja...keine Arme - keine Kekse. ;-) Das ist klar. WLAN ist auch nicht "einfach". Trotzdem schreibt gerade jeder Code für Webserver,MQTT usw. Warum? Weil es einfache Frameworks gibt. Ich habe hier auch ein Paar von den WB Evals von ST rumliegen. Prinzipiell verwende ich ST auch sehr gerne. Aber irgendwie ist das Funk Zeug von denen alles sehr Low Level ohne Beispiele. Man fängt also sehr tief an. Bei anderen (TI/ESP/...) gibt es zumindest die Basic Beispiele wie Aktoren/Sensoren/Router/...
N. M. schrieb: > Weil es einfache Frameworks gibt. Intern sind die aber nicht einfach, sondern viele Größenordnungen komplexer als Cube, was ja schon abgelehnt wurde: Anon X. schrieb: > heavy frameworks WLAN und MQTT sind noch deutlich "heavier". Und ZigBee ist halt auch nicht ohne.
Niklas G. schrieb: > sondern viele Größenordnungen komplexer als Cube Dass er Cube ablehnt, das ist sein Problem. Ich verstehe ehrlich gesagt dass Problem nicht. Das Eine ist eine IDE, die man nicht auf der Festplatte haben möchte. Evtl aus Platzgründen (gibt es meiner Meinung nach heute nicht mehr) oder OS Gründe. Aber das andere ist, ob man freiwillig auf Codebeispiele verzichtet und damit (logischerweise) sehr viel selber machen muss. Ist schließlich ein riesen Unterschied ob man nur seine Applikation schreiben muss, oder zusätzlich die Zigbee Device Classes, oder zusätzlich den Zigbee Stack, HAL usw. implementieren muss.
:
Bearbeitet durch User
N. M. schrieb: > Das Eine ist eine IDE, die man nicht auf der Festplatte haben möchte. > Evtl aus Platzgründen (gibt es meiner Meinung nach heute nicht mehr) > oder OS Gründe. Nein! Cube ist bei ST der Oberbegriff für ein gesamtes ECO-System, zu dem ungeheuer viel frei verfügbare Software gehört. Die IDE ist dabei nur eine Komponente, und man muß sie auch nicht nutzen um Software mit HAL und den Cube-Komponenten zu entwickeln. Das geht auch mit einigen anderen.
Harry L. schrieb: > Nein! > Cube ist bei ST der Oberbegriff für ein gesamtes ECO-System, zu dem > ungeheuer viel frei verfügbare Software gehört. > Die IDE ist dabei nur eine Komponente Das ist mir schon klar. Wir können jetzt Haarspalterei betreiben was zu einer IDE zählt und in wie weit Cube mehr ist als eine "normale" IDE.
1 | Eine integrierte Entwicklungsumgebung ... ist eine Sammlung von Computerprogrammen... |
2 | IDEs stellen hilfreiche Werkzeuge bereit, die Softwareentwicklern häufig wiederkehrende Aufgaben abnehmen, ... |
https://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung Harry L. schrieb: > und man muß sie auch nicht nutzen um Software mit HAL und den > Cube-Komponenten zu entwickeln. > Das geht auch mit einigen anderen. Das habe ich auch nicht behauptet. Klar kannst du dir die Git Repositories ziehen und nur vim und make benutzen. Meine Aussage bezog sich eher darauf dass es, wo ich mir die WBs angeschaut habe, keine vernünftigen Beispiele für irgendwelche Zigbee Devices gab. Deshalb die auf ST (nicht auf die IDE) bezogene Aussage: N. M. schrieb: > Aber das andere ist, ob man freiwillig auf Codebeispiele verzichtet
N. M. schrieb: > Niklas G. schrieb: >> sondern viele Größenordnungen komplexer als Cube > > Dass er Cube ablehnt, das ist sein Problem. Ich verstehe ehrlich gesagt > dass Problem nicht. > > Das Eine ist eine IDE, die man nicht auf der Festplatte haben möchte. > Evtl aus Platzgründen (gibt es meiner Meinung nach heute nicht mehr) > oder OS Gründe. > > Aber das andere ist, ob man freiwillig auf Codebeispiele verzichtet und > damit (logischerweise) sehr viel selber machen muss. > Ist schließlich ein riesen Unterschied ob man nur seine Applikation > schreiben muss, oder zusätzlich die Zigbee Device Classes, oder > zusätzlich den Zigbee Stack, HAL usw. implementieren muss. Cube als Ganzes finde ich wirklich monströs. Das beginnt mit der IDE, die ja am Ende den Code konfiguriert. Der Code ist dann auch komplett mit Platzhaltern/Abgrenzungskommentaren zugemüllt. Ich habe mal deren USB-Stack verwendet, und fand das eher unübersichtlich. Wenn man mit dem Cube-System entwickelt, geht das sicher, aber ich würde lieber eine Bibliothek, die relativ isoliert zur Verfügung gestellt wird, in meinen Code einbinden.
Der Esp32c6 hat Zigbee und ist Arudino kompatibel. Eventuell taugt der zum einsteigen
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.