Für meinen in Planung befindlichen Aquariencomputer bin ich seit Monaten am planen und testen, wie ich ihn am einfachsten und zuverlässigsten umsetze. Hierbei bin ich, nachdem ich in den ersten Planungen noch gefühlte 3 Millionen verschiedene Anschlüsse am Raspberry Pi verbauen wollte zu dem Schluss gekommen, dass es doch vielleicht einfacher wäre (auch aus Sicht der Programmierung) alles was an Datenschnittstellen benötigt wird, über eine Anschlussart laufen zu lassen. Hier kam mir dann ganz Schnell RJ45 in den Sinn weil mit 8 Adern da schon einiges möglich wäre. Bei der Überlegung kahm mir dann allerdings auch ganz schnell die Frage in den Sinn, ob dies überhaupt so ohne weiteres möglich wäre. Wenn ich jetzt zum Beispiel folgende Belegung wählen würde: 5V, 3.3V, GND, 1-Wire, UART RX, UART TX, I2C SCL, I2C SDA In wie fern muss man sich hier sorgen um gegenseitige Beeinflussung machen und/oder die Aderpaare berücksichtigen? Bei dem Geplanten neuen Becken würde die Maximale Leitungslänge bei ca. 5m liegen. Auch wenn es derzeit nicht vorgesehen ist mit einer CAT7 Leitung alles zu jedem Ort zu Bringen, so ist es zumindest in der Theorie möglich. Und da der Anspruch ist, es vernünftig und Zukunftssicher zu bauen würde ich den Umstand gern berücksichtigen. Sonnst könnte ich auch irgendwelche dieser "smarten" halbgaren Lösungen vom Markt nehmen. Vielleicht hat hier Jemand Erfahrungen und kann mir Ratschläge geben oder mich für meine übertriebene Vorsicht auslachen ;)
Das ist "Fummel" Nimm CAN, oder direkt (W)LAN mit MQTT!
Marco J. schrieb: > Vielleicht hat hier Jemand Erfahrungen und kann mir Ratschläge geben > oder mich für meine übertriebene Vorsicht auslachen ;) Teils auslachen, teils warnen. Spannungen gehen dann problemlos, wenn die Ströme sich im max. zweistelligen mA-Bereich bewegen. Für GND ggf. mehr als eine Leitung nehmen, denn auch die Datensignale brauchen einen guten GND. UART wird kaum Probleme machen, aber eine quellseitige Serienterminierung sollte schon sein. Alternativ: RS232 Interface-Bausteine dazwischen schalten, dann gibt es auch bei größeren Längen keine Schwierigkeiten. I2C halte ich für kritischer. Diese Interfaceart ist einfach nicht für 5m Länge ausgelegt sondern ursprünglich für die Kommunikation zwischen ICs innerhalb einer Platine, also kurze Distanzen.
+1 für CAN und vor Ort ein uC für das entsprechende Protokoll. Daa kann man 6 Adern für Spannung nehmen.
Harry L. schrieb: > Nimm CAN, oder direkt (W)LAN mit MQTT! Ich werde mir das mit dem CAN mal ansehen auch wenn ich denke, dass das ein totaler Overkill sein könnte. WLAN und MQTT sind 2 Dinge, welche ich hier auf keinen Fall zum Einsatz bringen werde. Sinn und Zweck des Ganzen soll es sein, dass der Pi im Risiko Fall sofort Maßnahmen einleiten kann wie z.B. über Relais Geräte abschalten. Oder mich im Falle eines Stromausfalls via SMS benachrichtigt. Da wird es kein WLAN oder sonstige Zwischendienste geben das Risiko, dass dort mal was nicht funktioniert ist viel zu hoch. Zumal ich diese zusätzlichen Systeme dann auch überwachen müsste. Bei einem Süßwasser Aquarium würde ich nicht so einen Trubel machen aber das einfache Ausfallen von Geräten (sowohl durch Technik als auch Tiere im Becken) hat in meinen Meerwasser Becken bereits nach 4h zu toten Tieren geführt. Und mir fallen durchaus Scenarios ein, wo das noch deutlich schneller gehen könnte. Einen Wasserwechsel von sagen wir beim neuen Becken von 700L machst du mal nicht so schnell nebenher. Wenn ich da mal im Urlaub bin und ich mich im Worstcase auf eine Vertretung verlassen muss, muss ich mich da zu 100% auf das System verlassen können. Ich kann nicht erwarten, das meine Vertretung da erstmal ihr Camp aufschlägt weil etwas nicht funktioniert. Bestenfalls mal wenn der Watchdog im Pi versagen sollte einen Reset-Knopf drücken sollte drin sein mehr aber nicht. HildeK schrieb: > Spannungen gehen dann problemlos, wenn die Ströme sich im max. > zweistelligen mA-Bereich bewegen. Ich würde hier nur ein wenig Sensoren auslesen wollen sowie Relais schalten sofern erforderlich von 100mA bin ich da sehr weit entfernt. Es kommen z.B. keine Sensoren mit Heizelement zum Einsatz. Alles was Wirklich Strom, benötigt wie z.B. Dosierpumpen würde ich separat mit Strom Versorgen (ist jetzt nur ein Beispiel die brauchen natürlich 12V). Auch wäre die Last nicht auf einer Leitung. Deswegen war der Plan mit Multiplexern die UART und I2C Verbindungen auf diverse RJ45 Ports zu Splitten. Um z.B. Sensoren welche defekt sind und quatsch auf ihrem Bus veranstalten, nicht die anderen Schnittstellen beinträchtigen zu lassen. Zusätzlich wird es in der Entwicklung einfacher, wenn ich quasi nur die Ports definieren muss. Welche dann auch Physikalischen entsprechen. HildeK schrieb: > Für GND ggf. mehr als eine Leitung > nehmen, denn auch die Datensignale brauchen einen guten GND. Also vielleicht doch den 1-Wire mit eigenem Anschluss bereitstellen und dafür ein GND je Bus. Wo I2C ist hätte ich ja ohnehin entsprechende Sensoren im Einsatz wäre also eh kein Thema. Damit würde die Maximale Leitungslänge dann eh deutlich fallen (auf 1,5-2m). HildeK schrieb: > I2C halte ich für kritischer. Diese Interfaceart ist einfach nicht für > 5m Länge ausgelegt sondern ursprünglich für die Kommunikation zwischen > ICs innerhalb einer Platine, also kurze Distanzen. Soweit ich das Richtig sehe, könnte ich hier mit z.B. 2x P82B715 Abhilfe schaffen. Davon ab, kommen längen von mehr als 2m derzeit nur für die geplanten DS18B20 am 1-Wire vor. Bei einem 2m breiten Becken komme ich mit 2 Meter überall hin, nur nicht an die Beleuchtung.
Naja, wird für solche Steuerungsaufgaben nicht sonst eine SPS verwendet? Da man sich ja darauf verlassen will. Bis dein Raspi an die Ausfallsicherheit herankommt ist es noch ein Stück. Gerade was die Überprüfung der Software angeht kenne ich es so das man dafür dann keinen PC verbaut da die Komplexität der Interaktion aller Software darauf nur schwer zu überblicken ist. Deine SMS Warnung kannst dann immer noch mit einem RPI dran basteln. Auch die Aussage wenig Strom und ein paar Relais passt nicht zusammen. Welche Relais sind es und wie viele davon können maximal im schlechtesten Fall gleichzeitig angehen? Also Model, Anzahl und Stromverbrauch bitte mal angeben und alle Komponenten die mit an der einzelnen GND Leitung hängen mal hier zusammen rechnen.
Marco J. schrieb: > Hier kam mir > dann ganz Schnell RJ45 in den Sinn weil mit 8 Adern da schon einiges > möglich wäre. Irgendwann wird Irgendwer, im Zweifel du selbst, ein Netzwerkkabel reinstecken und mit einem Ethernetnetzwerk verbinden. Je nach gewählter Pinbelegung werden dann durch den Übertrager der Gegenseite die verschiedenen Adern kurzgeschlossen und in deinem Gerät oder der Gegenseite kann etwas kaputt gehen. Ich rate generell davon ab Stecker Zweckentfremdet zu nutzen aber insbesondere auf so verbreitete wie RJ45 oder DSUB9 Versorgungsspannungen zu legen.
Marco J. schrieb: > Hier kam mir dann ganz Schnell RJ45 in den Sinn weil mit 8 Adern da > schon einiges möglich wäre. Wenn du einen Stecker verwendest, der allen Milliarden Menschen für eine andere Funktion bekannt ist, dann musst du eine Belegung ausdenken, bei der nichts kaputt gehen kann, wenn irgendwer mal zufällig seinen Laptop da dran anschließt. Und eins ist klar: viel Strom verträgt so ein mickriger Ethernet-Übertrager nicht. Mit 5V bekommst du den locker kaputt. Und wenn das dann mein Laptop ist, dann bekommst du aber was zu hören. Blechbieger schrieb: > aber insbesondere auf so verbreitete wie RJ45 oder DSUB9 > Versorgungsspannungen zu legen. Beim DSUB kann alles Mögliche drauf sein. Da ist dann schon der Blauäugige selber schuld, der da unkontrolliert seinen Laptop dran ansteckt.
Lothar M. schrieb: > Wenn du einen Stecker verwendest, der allen Milliarden Menschen für eine > andere Funktion bekannt ist, dann musst du eine Belegung ausdenken, bei > der nichts kaputt gehen kann, wenn irgendwer mal zufällig seinen Laptop > da dran anschließt. Der Klassiker: Ethernet und ISDN.
Marco J. schrieb: > 5V, 3.3V, GND, 1-Wire, UART RX, UART TX, I2C SCL, I2C SDA Das willst du ganz bestimmt nicht in einem verteilten System haben. Und schon gar nicht wenn Betriebssicherheit ein wichtiges Kriterium ist. Auch mein Rat: CAN, gerade in Bezug Betriebssicherheit. Das gilt sowohl für die Kommunikation selbst als auch für das Verhalten im Hardwarefehlerfall. Wenn du Master/Slave benutzen kannst ist auch RS485 eine gute Möglichkeit. Hardwareseitig einfacher als CAN, aber du musst mehr selbst programmieren. Wahrscheinlich hast du keine grossen Anforderungen an die Bandbreite. Falls du das schon abschätzen kannst und mit knapp 20kBit auskommst wäre auch LIN eine denkbare Idee.
(prx) A. K. schrieb: > Lothar M. schrieb: >> Wenn du einen Stecker verwendest, der allen Milliarden Menschen für eine >> andere Funktion bekannt ist, dann musst du eine Belegung ausdenken, bei >> der nichts kaputt gehen kann, wenn irgendwer mal zufällig seinen Laptop >> da dran anschließt. > > Der Klassiker: Ethernet und ISDN. Auch die Verwendung einer RJ-45-Verkabelung für RS-232 ist dokumentiert - siehe: https://opengear.zendesk.com/hc/en-us/articles/216372063-RJ45-serial-pinout-options-and-diagrams A/B (analog Telefon) sowieso.
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.