Deconz bzw. enocean über i2c an UART eines Arduino o. ähnlichem

Hallo liebstes Forum :wave:

Da man mir in einem anderen Forum nicht weiterhelfen konnte/wollte frage ich einfach mal hier nach. Bin aber nicht böse, sollte keiner helfen können.

Meine aktuelle IPSymcon HW sieht folgendermaßen aus:
Raspberry Pi4 mit IPSymcon in einem Hutschienengehäuse im Zählerschrank. Daran angeschlossen habe ich über 3 weitere kleine Gehäuse, je ein Enocean Modul, ein Zigbee Modul und ein Zwave Modul.
Alle drei sind Module, welche normalerweise auf die Pin Leiste des Raspberry gehören und jeweils einen UART Anschlus nutzen.
Da der RPi4 über 4 UART´s verfügt, musste ich nur etwas basteln, um diese auf das jeweilige Modul zu bekommen. Funktioniert super…
In den zusätzlichen Modulgehäusen befindet sich jeweils auch ein DFRobot - Beetle (kleiner Arduino kompatibler Microcontroller), den ich nur darin habe um je Modul ein Display anzusteuern welches mir sagt, ob das angeschlossene Modul in IPS einen Fehler hat, oder nicht. (Ich stelle nachher noch ein Bild ein, damit ihr eine Vorstellung habt)

Jetzt habe ich einen neuen RPi 5 erworben, der leider nur 1 UART Anschluss über die Pin-Leiste besitzt, den ich aber gerne für die Automation nehmen würde. Es gibt keinen schlüssigen Grund dafür, da der 4er ja sehr gut funkioniert. Da ich den 5er aber habe, möchte ich dessen Leistung einzig für IPS zur Verfügung stellen.

Jetzt habe ich zwei Möglichkeiten.
1.) Ich kaufe mir eine UART Erweiterung zum Anschluss an i2C, verbaue dieses Modul entweder im Raspberry oder in jedem einzelnen Modulgehäuse und schaue dass ich das zum laufen bekomme.

https://www.dfrobot.com/product-2001.html

Ich vermute dass, das funktionieren würde.

2.) Ich nutze den UART Anschluss des „DF-ROBOT Beetle“ der ja sowieso in jedem Modul drin ist DFROBOT-Beetle
und versuche über einen Code diesen mit dem I2C Anschluss des Beetles zu "verknüpfen und am Raspberry wieder auszulesen. Und das ganze natürlich für jedes Modul.

Somit möchte ich quasi die Funktion des I2c zu UART Modules nachahmen.

Zu 1) Hier müsste ich jetzt wieder Geld in die Hand nehmen bzw. aus der Hand geben. Zudem muss ich am Raspberry Gehäuse oder in den Modulen versuchen die zusätzlichen I2C-UART Module platztechnisch unterzubekommen.

Zu 2) Das ist eigentlich die Lösung die ich bevorzuge, habe aber keine Ahnung wie ich dem Arduino-Verschnitt das ganze Code-technisch beibringen kann und zudem den Raspberry klar mache, dass über die i2c Adresse das Enocean bzw. Zwave oder Zigbee Modul dran hängt.
Bei der Zuweisung in der IPS Console, erscheinen ja nur die seriellen Schnittstellen.

Vielleicht hat ja jemand schon etwas ähnliches am laufen?

P.S. Ich weis dass ich beim 4er bleiben kann, da die Rechenleistung ausreichend ist, aber es geht mir da ja eher um das Prinzip.

Coole Sache die du da machst, Respekt !

Den einizgen Tip den ich dir geben kann wirst du wahrscheinlich nicht hören wollen: KEEP IT SIMPLE
Je mehr Gedöns in der Signalkette ist, je mehr Umsetzer, Software und Hacks da mitspielt desto fehleranfälliger wird das ganze.
Denke auch daran das ein Haussteuerungs Setup typischerweise viele Jahre lebt - hast du in x Jahren noch Bock drauf in komplexen Setups ein evtl. Fehlverhalten zu suchen oder zu debuggen ?

Zähle mich auch zur Bastelfraktion, von da her finde ich deien Ansatz geil.
Aber an einer so einer zentralen Stelle würde ich es eher möglichst einfach und robust aufbauen, egal was es kostet.
Bleib beim4er und mach mit dem neuen 5er was anderes hübsches.

greez
bb

:smile:
Da hast du schon recht. Mit jedem Jahr auf meiner Lebensuhr nervt es mich mehr und mehr, wenn etwas nicht so funkioniert wie ich das möchte…
Aber noch ist der Basteltrieb da.
Muss sowas aber immer spät Abends angehen, wenn alle im Bett liegen. Sonst kann ich mir was anhören, wenn Alexa sich weigert auf Befehl das Licht auszuschalten… :dizzy_face:

Moin, laut Raspi Forum hat der aber uart0-4 also insgesamt 5?

Ansonsten vllt. eher einfach USB/Uart Adapter nehmen?

1 „Gefällt mir“

Du meinst jetzt aber den 4er oder? Beim Pi5 gibt es soweit ich weis nur einen auf der Pin-Leiste und einen weiteren der separat auf dem Raspberry sitzt.

Mit den USB Adaptern würde ich ja meine Bastelei mit den Gehäusen ruinieren :joy:

Ich glaube ich habe den Bericht gefunden, welchen du meintest. Muss mal schauen ob das so stimmen könnte. Da steht der RP1 Chip beschrieben, welcher auf dem RPi5 verbaut ist :face_with_peeking_eye:
Wenn man die nutzen kann wäre das natürlich klasse. Aber im Raspberry Pinout kann ich die Uarts nicht finden.
Danke aber für den Hinweis…

@ bgersmann
Danke nochmal für den Hinweis mit den UART´s
Wie schon geschrieben habe ich den erwähnten Auszug noch gar nicht gesehen und konnte mir nur das Pinout mit alternativen Belegungen zu Rate ziehen. Dort waren bzw. sind die zusätzlichen UART´s nicht aufgeführt.
Das hier ist der Auszug aus der Raspberry Documentation.

Wenn ich die irgendwie aktiviert bekäme, wäre der 5er schon so gut wie eingebaut :grinning:

Perfekt!!
Danke noch mal an @bgersmann

Ich habe gerade in der overlay README nachgesehen. Da steht tatsächlich beschrieben wie ich die UARTS aktiviere.
Für andere interressierte:

Ähnlich wie beim 4er wird das overlay für die uart 0-4 mit folgendem Befehl geladen.

dtoverlay=uart(0-4)-pi5 (ohne CTS/RTS)
dtoverlay=uart(0-4)-pi5,ctsrts (mit CTS/RTS)

:love_you_gesture:

1 „Gefällt mir“