NEWS
CAN-Bus IO mit IOBroker
-
Hallo Zusammen,
ich möchte euch hier mein kleines Hausautomatisierungsprojekt vorstellen. Ziel war es alles von einer Zentrale aus zu steuern (Schaltschrank).
Das ganze wird mit Stromstoßschalter realisiert, die 2 Schließer besitzen. Einer schaltet den Kontakt, der andere 24V auf den Eingang der IO Gruppe zur Statusermittelung.Das ganze soll, auf 24V Basis laufen. Die Taster schalten direkt 24V auf ein Stromstossrelais, oder bei einer Funktion die 24V auf die IO-Baugruppe. Die CAN-IO hat ihre Ausgänge parallel auf den SSR.
PCB:
Die PCBs habe ich selber entwickelt und bestückt. Diese laufen mit einer Eingangsspannung von 12-30V. Die Baugruppe besitzt folgende IOs:- 16x DO
- 16x DI
- 4xPWM/Analog (Umschaltbar) 12Bit
- Eingang 12Bit (Spannungsteiler änderbar)
- Uart
- Can-Bus
- 3 über Jumper einstellbare Adressierpins
Maße: 160mmx100mm Europlatine
SoftwareDie komplette CAN-IO wird mittels Canbus gesteuert. Das ganze läuft dann wie folgt:
Die einzelnen Baugruppe sind kaskadierbar.
Auf den Baugruppen läuft quasi dann nur ein embedded Code, der Objekte enthält, die mittels Can-Bus beschreibbar / lesbar sind.
Die eigentliche Logik/Steuerung läuft auf dem IObroker , bzw. hauptsächlich NODE-RED. Zur Generierung der Objekte, wurde eine MYSQL Datenbank erstellt. In ihr sind alle wichtigen Informationen enthalten:
Jede CANIO hat ihren eigenen Identifier (Auch wenn das für Can eher unüblich ist). Damit lässt sich eine eindeutige Adresse festlegen.
Die Eingangs/Ausgangsregister sind Bit-codiert. Bedeutet ein Eingangs/Ausgangsobjekt besitzt 16bit. Für die Eingangs-/Ausgangsobjekt wurde zur Generierung weiterer Objekte eine einzelne Tabelle erstellt.Das Basisgerüst konnte ich gestern fertigstellen, sodass eigentlich alle Eingänge und Ausgänge laufen.
Die CAN-IO sendet bei Veränderung eines Digitaleingangs das Eingangsobjekt automatisch. Die Ausgangsobjekte können nach belieben mit einer Logik beschrieben werden.
Für mich war IOBroker als Gateway eine sehr gute Auswahl. Es ist möglich diverse Hardware an diese echt coole Platforum anzuknüpfen. Ausserdem ist der Support grandios.
Für mich war eine klare Trennung zwischen Hard- und Software wichtig. Deswegen habe ich mich für eine CAN-Bus Lösung entschieden. Damit ist es egal, welchen "Kopf" man über die CANIO setzt. Weiter war es für mich wichtig, dass ich ein System habe, welches in Zukunft einfach wartbar und erweiterbar ist. Meinen kompletten Schaltschrank habe ich vorverdrahtet, und zu allem Schaltpläne gezeichnet. Falls mir was passiert, ist es möglich alles nachzuvollziehen. Eine komplette Dokumentation sowie Workflows zum einrichten von Ein-und Ausgängen ist natürlich auch beschrieben.Das war es erstmal, ich habe natürlich nicht alle Informationen in den einen Thread gepackt, das wäre mehr als viel . Ich wollte einfach mal ein wenig Kontakt mit gleichgesinnten haben, und eventuell konstruktive Kritik.
Danke und Gruss
moskito -
@moskito_91
Hallo MoskitoMich würde interessieren, wie DU bei Deiner Lösung den CAN Bus an den Raspi angebunden hast. Kannst DU das vielleicht in Deinem Post noch ergänzen?
Gruss
Atlantis
-
@atlantis Hallo mein Lieber. Ich benutze den FISCHL USB-TIN. Habe mir einen Bausatz auf Amazon geholt. Funktioniert tadellos.
Den kannst du einfach im Linux mit SL-CAN einbinden und die Schnittstelle dann mit der Socketcan Node in Node red nutzen.Gruß MJ
-
@atlantis BTW, es ist kein Raspi! Habe ein kleines NAS mit OMV gebaut.
Da läuft auch der Broker drauf.
Gruß