Hi, kurzes Vorwort: mein Kenntnisstand bewegt sich auf Protoboards, fertigen PCBs und devboards mit ATMega/ESP32 (sowie den Raspis...). SMD ist mir handwerklich noch etwas zu heikel, Python bevorzuge ich C/C++ der schnellen Resultate wegen, aber ATTiny's sinnvoll einzusetzen steht noch auf Liste (meine Erfahrungen mit C sind von Pufferüberlaufen gekennzeichnet). Nun interessiere ich mich für ZigBee, und finde neben diversen USB-Dongles auch die modular wirkenden MMT-Module. XBee3 will Micropython-kompatibel sein, ich weiß noch gar nicht, was das für den Umgang damit bedeutet (Micropython kenne ich vom ESP32 Devkit) - aber für viel wichtiger halte ich die Frage: wie benutzt man die Module? Es gibt auf digi.com eine offene Frage von 2019 dazu, woher man die Sockel bekommen könnte, mit nur einer weiteren (wiederholten) Frage obendrauf. Weiß hier jemand mehr? Hat schon jemand sowas benutzt? Die Developmentkits von Digi umfassen den Chip an der Seite mit einer speziellen Halterung und lassen die Unterseite frei - möglicherweise fürs Signal. Mir sieht das auch nicht nach 2.54mm Raster aus. Möglicherweise ist das auch zu sehr low-level, als dass ich damit anfangen sollte... dann wäre ich aber auch da für eine Bestätigung dankbar. Aufreißer für mich und die Hardwaresuche nach sowas war unter anderem dieser Thread hier: Beitrag "Warum ist ZigBee so teuer?" Da wird auch so ein MMT-Modul verlinkt (konkret das hier: https://de.aliexpress.com/item/32906661666.html - was nach der Unterhaltung wohl interessant sein könnte). Meine Grobplanung sieht so aus: XBee3 und ein bisschen Leuchtmittel von Ikea oder so besorgen, mit Micropython die ersten Gehversuche machen und dann möglichst ohne exotische Hardware eigene ZigBee-Geräte entwickeln (das, was ich wie der TE im obigen Thread wohl auch vor hat) und von "schwerem Geschütz" wie dem ESP32 loskommen. Den XBee3 gibts wohl auch mit THT, aber damit navigiere ich mich wohl in eine Sackgasse. Sollte das alles darauf hinauslaufen, dass ich Raspberrys mit USB-Sticks oder Fertigmodule von IKEA betreibe, verliert das Projekt recht schnell seinen Reiz... Vielen Dank für euren Input
Super nun sind wir also schon zu Dritt ;-) Hast du Fortschritte machen können?
Hi Stefan, gewissermaßen? Ich hab mich damit abgefunden, dass das nicht für die "through hole Gemeinde" erschlossen ist. Außerdem scheint es Lizenzware (patentiert) von digi zu sein, das hab ich aber nicht weiter recherchiert. Was allerdings zwischenzeitlich aufgetaucht ist, ist https://www.reichelt.de/arduino-grove-xbee-socket-grv-xbee-socket-p255700.html - eine etwas günstigere Variante zu dem Adapter, den digi selbst auch vertreibt. Das ist keine Antwort auf meine Frage (oder deine), aber ein Workaround, mit dem ich die XBees verwenden kann. Zur Softwareseite: (wie nicht wirklich anders erwartet) kann micropython auf dem XBee3 nicht besonders viel. Die eigentliche Kommunikation läuft über AT-Befehle. Zu meiner Schande bin ich auch noch nicht weiter damit, einen Durchstich wie "verbinde dich mit dem existierenden Netz und mach, dass die Lampe angeht" habe ich noch nicht erreicht. Sobald ich aber verstanden habe, wie die ganzen Puzzleteile funktionieren, sehe ich da aber kein Hindernis (außer Zeit und Fokus).
Danke Dir. An sich möchte ich in meinem Falle gerne eine Zisterne batteriebetrieben überwachen. Dazu möchte ich einen 3,3V Ultraschallsensor betreiben, der alle 3-6 Stunden einen Wert via Zigbee sende. Leider bin ich etwas überfordert ob ich nu Xbee, NodeMCU mit Zigbee Shield (gibt es das), Wemos D1 + Shield, ... verwenden soll. Man findet gefühlt sehr wenig dazu.
Ich hab Zigbee bei mir mit so einem Stick: https://www.ebay.de/itm/233939362212 und zigbee2mqtt realisiert. https://www.zigbee2mqtt.io/ Läuft auf nem RasberryPi.
:
Bearbeitet durch User
Harry L. schrieb: > Ich hab Zigbee bei mir mit so einem Stick: > https://www.ebay.de/itm/233939362212 > und zigbee2mqtt realisiert. > https://www.zigbee2mqtt.io/ > > Läuft auf nem RasberryPi. Das ist sicherlich grundsätzlich simpel aber ich habe keinen Strom vor Ort. Das Gerät muss mind. 12 Monate mit 2x AA Batterien auskommen.
https://diyruz.github.io/posts/flower/ könnte eine gute Basis sein oder sowas https://microduinoinc.com/product/zigbee-diy/
Stefan P. schrieb: > Das ist sicherlich grundsätzlich simpel aber ich habe keinen Strom vor > Ort. Das Gerät muss mind. 12 Monate mit 2x AA Batterien auskommen. Das ist ja auch nur das Gateway, aber da kannst du dann praktisch beliebige andere Zigbee-Devices ankoppeln und schon mal darauf zugreifen. Jedes Zigbee-Gerät erweitert dann die abgedeckte Fläche (Mesh)
Zigbee Receiver / Gateway usw. hab ich alles laufen... ich suche aktuell nach einer guten Möglichkeit selber einen Client zu bauen. Aber es gibt gefühlt zu viele Möglichkeiten ;-) und zu wenig ausführliche Hilfe.
Schau dir das mal an: https://www.st.com/resource/en/application_note/dm00710974-getting-started-with-zigbee-on-stm32wb-series-stmicroelectronics.pdf
Das liest sich ja gut. Welchen Vorteil hat der stm32wb gegenüber den ganzen anderen? Hast du zufällig ein umgesetzten Beispielprojekt von dem man lernen kann? Ich habe bei github gesucht aber nichts gefunden.
Stefan P. schrieb: > Welchen Vorteil hat der stm32wb gegenüber den > ganzen anderen? Der hat zum Einen einen eigenen M0+-Core für den Zigbee-Stack und zum Anderen ist das gesamte Radio integriert. Besorg dir am besten dieses Nucleo-Board: https://www.st.com/en/evaluation-tools/p-nucleo-wb55.html Von ST gibts dazu Online-Kurse bei Youtube und einige Beispiel-Projekte in der Cube-Software.
Stefan P. schrieb: > das klingt gut - wozu braucht man den USB Stick - zum programmieren? Nö, das ist ein eigenständiges Dev-Board damit du auch eine Gegenstelle zum Funken hast. Kann man u.A. zum Sniffen nutzen.
OK aber 62 € ist nicht ohne. Ich dachte ich komme so mit 20 € pro Device aus.
wie wäre es hiermit: https://www.mouser.de/new/nordic-semiconductor/nordic-nrf52840-usb-dongle/ kostet 11,- Euro das große DevKit kostet 50,- Euro
Michael D. schrieb: > wie wäre es hiermit: > https://www.mouser.de/new/nordic-semiconductor/nordic-nrf52840-usb-dongle/ > > kostet 11,- Euro > > das große DevKit kostet 50,- Euro ja neh nen usb dongle brauche ich gar nicht. Ich suche ein möglichst komplettes einfach zu programmierendes low voltage device was ich mit 2x AA betreiben kann und was zigbee spricht und UART/GPIO kann für einen JSN-SR04T-2.0
Stefan P. schrieb: > ja neh nen usb dongle brauche ich gar nicht. Ich suche ein möglichst > komplettes einfach zu programmierendes low voltage device was ich mit 2x > AA betreiben kann und was zigbee spricht und UART/GPIO kann für einen > JSN-SR04T-2.0 Genau das kann das Teil, aber dazu muss man natürlich erst lesen. Der Formfaktor ist so gemacht, dass du es direkt auf dein Board auflöten kannst. Den USB Anschluss ignorierst du einfach. Natürlich gibt es das auch ohne USB Anschluss, das sieht dann so aus: https://www.ebay.de/itm/194017870564?hash=item2d2c5dc2e4:g:5PsAAOSwyEtgav33 Michael
Sorry, dass es doof rüber kam. Ich habe es wirklich gelesen. Ich kann programmieren habe mit HW an sich aber wenig bis nichts zu tun. Fällt mir deshalb etwas schwer. Sah für mich wirklich wie nen USB Stick aus den man auch so nutzen muss (trotz lesen). Ich sehe mir mal ein paar youtube videos dazu an.- Habe das Gefühl, dass ist besser für mich. Danke!
@michael sorry vermutlich doofe Frage aber ich bin echter Anfänger was das angeht. Das Nordic Semiconductor nRF52840 Development Kit brauche ich ja nicht oder? Ich kann den nRF52840 ja irgendwie auf nen breadboard klemmen?
Stefan P. schrieb: > @michael sorry vermutlich doofe Frage aber ich bin echter Anfänger was >was das angeht Ok, dann ist das Teil vielleicht doch nicht ganz das passende. Plug and Play ist das nicht. > Das Nordic Semiconductor nRF52840 Development Kit brauche > ich ja nicht oder? Nein, das brauchst du nicht. Da ist eben gleich noch ein JTAG Interface zum Debuggen drauf und ein paar weitere Extras. > Ich kann den nRF52840 ja irgendwie auf nen breadboard klemmen? Da benötigst du ein passendes Modul dafür. An den USB Stick kann man sicher auch Pins anlöten, aber das die dann vernünftig halten glaube ich nicht, da es nur halbe Löcher am Rand hat, eben zum Auflöten auf ein anderes Board oder um direkt Kabel anzulöten. Der Stick hat den Vorteil, dass man ihn direkt per USB programmieren kann. Für andere Module benötigst du einen JTAG Programmer. Du kannst dir mal die neue Generation des Micro:Bit v2 mit dem nRF52833 ansehen: https://www.nordicsemi.com/News/2020/10/Nordic-powered-next-generation-microbit-to-support-AI-and-machine-learning-applications Gibt es z.B. hier: https://www.reichelt.de/bbc-micro-bit-v2-bbc-micro-bit-v2-p289797.html?&nbc=1&trstct=lsbght_sldr::239298 Das geht vielleicht eher in die Richtung die du gerne hättest. Da gibt es auch das MakerHawk BBC Micro: Bit Erweiterungsplatine Breakout Adapter Shield dafür (Amazon). Michael
Super vielen Dank! Ich habe mir jetzt erstmal den https://www.mouser.de/new/nordic-semiconductor/nordic-nrf52840-usb-dongle/ bei Ali bestellt. Gucken wir mal wie weit ich damit komme.
Stefan P. schrieb: > Ich habe mir jetzt erstmal den > nordic-nrf52840-usb-dongle bei Ali bestellt. Dazu ist mir noch ein interessantes Video über den Weg gelaufen: https://www.youtube.com/watch?v=R5wub5ywzTU Ich bin noch auf der Suche nach Micropython Unterstützung für ZigBee. BLE wird unterstützt. Michael
Hey, Ich benutze die Mighty Gecko Module von Silicon Labs und bin ganz zufrieden damit. Wenn ich mich nicht täusche gabs die damals bei Digikey für ca. 8 Euro. Die Module sind aber sehr klein und dazu gedacht direkt auf einer Platine gelötet zu werden.
Ah mega wenn man alles in Python programmieren könnte inkl zigbee Stack.
Michael D. schrieb: > Stefan P. schrieb: >> Ich habe mir jetzt erstmal den >> nordic-nrf52840-usb-dongle bei Ali bestellt. > > Dazu ist mir noch ein interessantes Video über den Weg gelaufen: > https://www.youtube.com/watch?v=R5wub5ywzTU > > Ich bin noch auf der Suche nach Micropython Unterstützung für ZigBee. > BLE wird unterstützt. > > Michael Bzgl. micropython: https://github.com/micropython/micropython/tree/master/ports/nrf https://forum.micropython.org/viewtopic.php?f=12&t=5348&start=10&sid=16e7f6a24b37d6442f1fb097bb70ab4c https://devzone.nordicsemi.com/f/nordic-q-a/19054/is-it-possible-to-program-nrf52-dk-with-python-instead-c-language Mal gucken ob der Aufwand lohnt… oder ob es nicht einfach ist bei C zu bleiben.
Michael D. schrieb: > Micropython Unterstützung für ZigBee Jetzt habe ich tatsächlich was gefunden: https://trmm.net/Ikea/ "Ikea Tradfri LED power supplies with wireless receiver are cheap and easily modifiable. Some of them have accessible SWD programming headers allowing openocd to debug and modify the firmware." Ich bin überrascht wie günstig die ZigBee Hardware des Möbelherstellers ist und wie offen. Michael
Michael D. schrieb: > Jetzt habe ich tatsächlich was gefunden: https://trmm.net/Ikea/ Ah in den Dingern steckt ja der selbe SoC. Also müssten die Mighty Gecko Module auch mit MicroPython laufen. Wenn ich mal wieder im Büro bin probier ich das mal aus.
Habe meinen nrf52 dongle soweit laufen. Was mir noch unklar ist, ist die ich den nun an welchen Pins mit Batteriestrom statt usb versorgen kann.
Stefan P. schrieb: > Habe meinen nrf52 dongle soweit laufen. Was mir noch unklar ist, ist die > ich den nun an welchen Pins mit Batteriestrom statt usb versorgen kann. Getting started Downloads: https://www.nordicsemi.com/Software-and-tools/Development-Kits/nRF52840-Dongle/Download#infotabs Datei: Schematic_Layout pdf files/PCA10059_Schematic_And_PCB.pdf Soweit ich diesen Schaltplan verstehe müsste der VBUS Anschluss der richtige sein, um Spannung einzuspeisen. Dieser Pin geht über einen 4,7 Ohm Widerstand auf VDDH. Board Bild in der Doku für die Anschlüsse: https://infocenter.nordicsemi.com/index.jsp?topic=%2Fug_nrf52840_dongle%2FUG%2Fnrf52840_Dongle%2Fkit_hw_content.html Die Product Specification, Kapitel 5.3 "Power" https://infocenter.nordicsemi.com/pdf/nRF52840_PS_v1.2.pdf Michael
:
Bearbeitet durch User
Ich hatte gelesen man soll SB2 trennen und SB1 verlöten und dann via VDD OUT 3,3V anlegen Bin aber sehr unsicher ob das richtig ist
:
Bearbeitet durch User
Stefan P. schrieb: > Ich hatte gelesen man soll SB2 trennen und SB1 verlöten und dann via VDD > OUT 3,3V anlegen Woher stammt diese Info? /Edit: kommt wohl von hier: https://infocenter.nordicsemi.com/pdf/nRF52840_Dongle_User_Guide_v1.0.pdf bzw. https://infocenter.nordicsemi.com/index.jsp?topic=%2Fug_nrf52840_dongle%2FUG%2Fnrf52840_Dongle%2Fhw_power_ext_reg_source.html Dort steht dann auch "Do not have both SB1 and SB2 connected at the same time as this will damage the nRF52840 SoC." Ich habe die relevanten Schematic Ausschnitte mal angehängt. "nRF52840_normal voltage mode.png" stammt aus der Product Specification welche ich im letzten Posting verlinkt hatte: 5.3.1.4 Regulator configuration examples, Figure 13 "nRF52840_Dongle_VDD" zeigt die beiden Jumper SB1 und SB2. Den Jumper SB1 zu schließen kann ich nachvollziehen, damit kann man die Konfiguration aus Figure 13 verwenden und der REG0 wird nicht mehr verwendet, nur noch REG1. Damit kann man sicher Strom sparen. Die Register DCDCEN0, REGOUT0 und DCDCEN müssen dann entsprechend gesetzt werden. Wenn man den SB2 öffnet, dann wird der Dongle nicht mehr über den USB Port versorgt werden. Das bedeutet die externe Stromversorgung muss dann auch beim Programmieren über USB die MCU versorgen. Aber laut Doku dürfen ja nicht beide Jumper gleichzeitig geschlossen sein. Dazu hat hier mal jemand gefragt, aber keine Antwort bekommen: https://devzone.nordicsemi.com/f/nordic-q-a/58030/looking-for-ideas-to-mount-coin-battery-holder-to-nrf52840-dongle Michael
:
Bearbeitet durch User
Danke dir, puh klingt alles mega kompliziert für jemanden der wenig Ahnung von Registern hat ;-) Also ich schließe mal SB1 und trenne SB2 und gucke mal was passiert...
Stefan P. schrieb: > Danke dir, puh klingt alles mega kompliziert für jemanden der wenig > Ahnung von Registern hat ;-) Daher ja mein erster Vorschlag. Da ändert sich garnichts, außer das die Spannung nicht am USB Stecker sondern an VBUS angelegt wird :-) Du darfst dann natürlich nicht USB und gleichzeitig deine Spannungsquelle anschließen. Michael
:
Bearbeitet durch User
EDIT: wenn man Ihn nun programmieren will geht das via USB, wenn man gleichzeitig die 3,3V Stromquelle - bei mir 2x AA anschließt
:
Bearbeitet durch User
Mein Programm zum ansteuern des Ultraschallsensors funktioniert problemlos. Nun muss ich nur noch irgendwie Zigbee integrieren. Ich wollte gucken, ob ich das hier irgendwie als Basis verwenden kann: https://github.com/otaviojr/zigbee_light_sensor/ Oder hat jemand noch simpleren zigbee example Code?
Stefan P. schrieb: > Oder hat jemand noch simpleren zigbee example Code? Einfacher weiß ich nicht, aber zur Ergänzung: Example of ZigBee light bulb based on nRF52840 SoC: https://github.com/aeremin/nordic-zigbee Was genau ist die Gegenstelle mit welcher du kommunizieren willst? Ist es ein ZLL Coordinator? Die Infos aus folgendem Blog könnten noch nützlich sein, falls dir was essentielles im Code fehlt (ich denke da an "Schlüsselerlebnisse"): https://community.oh-lalabs.com/t/guide-build-a-zigbee-cc2531-sniffer-how-to-use-it/469 Michael
:
Bearbeitet durch User
Hier noch ein paar Infos, wie man den nRF52840 Dongle zusammen mit den examples von Nordic verwenden kann, d.h. was man dazu anpassen muss: https://devzone.nordicsemi.com/nordic/short-range-guides/b/getting-started/posts/nrf52840-dongle-programming-tutorial
Stefan P. schrieb: > Nun muss ich nur noch irgendwie Zigbee integrieren. Kannst du etwas konkreter sagen, mit welcher Gegenstelle du reden willst (z.B. Philips Hue Hub, IKEA TRÅDFRI, Amazon Echo+, ...) ? Den Link für das Beispiel welches ich gepostet habe kann ich jetzt unter MacOS OSX übersetzen mit dem SDK welches im README genannt wird. Der Test steht noch aus. Im README steht noch ein Abschnitt mit "Change `D0 D1 D2 ... DF`" drin. Dazu muss man die beiden binären .a library Files patchen. Das kann man z.B. mit folgenden Kommando machen, aber vorher \x00\x01\x02..\x0f durch den echten Key ersetzen. Woher man den bekommt habe ich oben unter "Schlüsselerlebnisse" geschrieben (wird dort Master Key genannt):
1 | bbe -e "s/\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf/\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f/" -o libzboss.a.patched libzboss.a |
bbe ist ein binär Streameditor, den bekommt man z.B. bei Sourceforge. Man kann natürlich einen HexEditor nehmen und das händisch machen. Michael
:
Bearbeitet durch User
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.