Forum: Mikrocontroller und Digitale Elektronik zigbee-Modul für custom sensor/aktor


von Anon X. (pascalx)


Lesenswert?

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)

von N. M. (mani)


Lesenswert?

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

von Harry L. (mysth)


Lesenswert?

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

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

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

von Harry L. (mysth)


Lesenswert?

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.

von Harry L. (mysth)


Lesenswert?

Für einfachere Anwendungen ginge auch sowas:
https://de.aliexpress.com/item/1005004845900636.html

von N. M. (mani)


Lesenswert?

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/...

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

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.

von N. M. (mani)


Lesenswert?

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
von Harry L. (mysth)


Lesenswert?

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.

von N. M. (mani)


Lesenswert?

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

von Anon X. (pascalx)


Lesenswert?

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.

von S. M. (lichtmensch)


Lesenswert?

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
Noch kein Account? Hier anmelden.