Mein Name ist Dirk und ich bin neu hier im Forum ( bzw. lese schon seit einigen Monaten mit). Ich habe bereits einige kleine Projekte dank Eurer Hilfe realisieren können. Nun stehe ich aber ein wenig auf dem Schlauch und brauch ein paar Tipps für den Start.
Ich möchte gerne an zwei Stellen im Haus die Temperaturen der Heizung ablesen können. Die Heizung steht im Keller und ich hätte gerne ein LCD Display im Erdgeschoss und ein LCD im Obergeschoß. Als verkabelng steht ein Telefonkabel, welches vom Keller zum Eg und dann zum OG verläuft, mit einer Gesammtlänge von ca.12 m zur Verfügung. Wie läßt sich sowas am besten realisieren ?
Mein Ansatz :
Einen Arduino im Keller, an dem die Temperatursensoren hängen und ausgelesen werden.
Dann jeweils ein Arduino mit Display in der Etage. Ist daß soweit richtig oder gibt es eine elegantere/bessere Lösung ?
Falls es von der Überlegung so richtig und gut ist, wie können die Arduinos untereinander kommunizieren ? Wenn ich es richtig verstanden habe, dann wird I2C bei 12m Kabel nicht funktionieren, d.h. ich müßte die Arduinos mit einer RS 232 Schnittstelle versehen, richtig ? Oder gibt es da ( bessere ) alternativen als eine RS 232 ?
Für Eure Antworten bedanke ich mich schon mal im voraus.
Vielen Dank
PS:
Später würde ich von den Arduinos in den Etagen evtl,. noch eine Aktion auslösen können ( Pumpe an/aus). Das ist aber zweitrangig bzw. nicht unbedingt nötig.
der Ansatz passt schon so, aber ich würde da eher auf RS485 gehen (seriell-TTL --> RS485) und übertragen. Da findest auch passende Module fürs kleine Geld und das ist von Anfang an dann ausgelegt auf große Entfernung und mehreren Teilnehmern im Bus
Wenn du statt den Arduinos ESP32 Module nimmst, käme auch CAN in Frage. Der ESP32 hat nämlich einen CAN-Controller on Board und da brauchst nur mehr einen Wandler dazu.
Wobei wenn wir schon den ESP ins Spiel bringen, mit WIFI hast keine Chance?
Hallo und willkommen im Forum.
Auch bei 12 m Kabellänge wird es mit I2C noch funktionieren.
Wird aber ungern empfohlen, da doch aufwändig und kritisch.
RS232 geht nicht da kein Bussystem. Und noiasca hat es ja schon geschrieben, das geht mit RS485, ist ja auch seriell.
Eine Alternative wäre WLan mit den NodeMCU oder Wemos D1 mini.
So habe ich es bei mir im Haus gelöst und schaue mir die Heizungstemperaturen oder Klima an.
Auch Schaltfunktionen sind darüber möglich.
dirkx22:
Die Heizung steht im Keller und ich hätte gerne ein LCD Display im Erdgeschoss und ein LCD im Obergeschoß.
Bei mir geht das WLAN eines ESP32 nicht durch zwei Decken und nicht schräg durch eine Decke. Die Deckendurchlässigkeit Deines Hauses solltest Du vor dem Einsatz von WLAN testen. Anleitung: Einführung zu fipsok.de
... aber bevor ich ein mcp2515 Modul anschaffe und damit einen UNO "stresse", würde ich lieber gleich einen ESP32 und ein Transceiver Breakout nehmen... ah sehe gerade, die gibs mittlerweile auch mit Schraubklemmen
Wenn die Leitungen schon liegen, halte ich die Kabellösung auch für die bessere Variante.
Wie sieht es denn mit der Stromversorgung an den Zielpunkten aus? Ein Arduino mit einem LCD ist ja noch kein Stromfresser. Da könnte man sogar daran denken die Stromversorgung über das Kabel zu machen - wenn genug Adern zur Verfügung stehen. Z.B. 12V einspeisen und ein kleiner StepDown vor Ort.
Danke für die vielen Antworten. WLAN wird problematisch, ich würde bei der verdrahteten Version bleiben (freie Adern für Strom sind vorhanden). CAN kenne ich (noch) nicht und den Arduino will ich auch nicht mehr als nötig stessen ;). Also werde ich mich mal auf die Suche nach ein paar RS485 Schnittstellen machen.
Gruß Dirk
PS: CAN kommt doch aus dem KFZ Bereich ? Was hätte das für Vorteile, schneller ?
HotSystems:
RS232 geht nicht da kein Bussystem. Und noiasca hat es ja schon geschrieben, das geht mit RS485, ist ja auch seriell.
Wenn RS232 nicht bidirezional benutzt wird können mehrere Empfänger "paralellgeschaltet" werden. Das bedeutet wenn nur die Temperatur vom Keller hinaufgeschickt wird, aber keine Komunikation in Gegenrichtung kann das mit RS232 funktionieren.
Grüße Uwe
dirkx22:
CAN kenne ich (noch) nicht und den Arduino will ich auch nicht mehr als nötig stessen ;).
...
PS: CAN kommt doch aus dem KFZ Bereich ? Was hätte das für Vorteile, schneller ?
Da muß ich dem Kollegen widersprechen1), denn MCP2515 hat für die schnelle Datenübertragung einen eigenen darauf spezialisierten Prozessor, der auch die Datensicherheit mittels CRC gleich mit erledigt. Der Arduino hat dadurch weniger Streß als mit RS485, da mußt Du das alles selbst programmieren oder durch eine Bibliothek erledigen lassen. Und wenn es im Auto funktioniert, dann auch in Deinem Haus! Daher werde ich in meinem Haus nur CanBus verwenden (da WLAN nicht durch die Decke reicht).
Möglicherweise erscheint die Lernkurve etwas steiler, weil beispielsweise mittels Filtern mehr möglich ist, als Du benötigst, aber dafür gibt es hier ja Hilfe
Anm.:
Ich sehe "Stress" in Anführungszeichen, war also möglicherweise nicht so ernst gemeint
uwefed:
Wenn RS232 nicht bidirezional benutzt wird können mehrere Empfänger "paralellgeschaltet" werden. Das bedeutet wenn nur die Temperatur vom Keller hinaufgeschickt wird, aber keine Komunikation in Gegenrichtung kann das mit RS232 funktionieren.
Grüße Uwe
Der TO hat ja Schaltfunktionen nicht ausgeschlossen, daher kann ich RS232 nicht empfehlen.
wno158:
Hilfsweise (wenn Arduino statt ESP gewünscht) ginge auch ein CAN- Modul wie dieses von Reichelt. Da braucht es dann drei Stück.
Das Reichelt-Modul hat natürlich den Vorteil daß es 2 Anschlüsse für Vcc hat.
Man kann den MCP mit 3,3V betreiben und den Transceiver mit 5V wenn man einen
3,3V Mikrocontroller/RasPi hat.
Wenn man das nicht braucht bekommt man in der Bucht 3 CAN-Module zum Preis
des Reichelt-Moduls.
Edit: Das Reichelt-Modul hat einen 16MHz Quarz und die Ebay-Module
einen 8MHz Quarz.
(Bin damit am Anfang auf die Nase gefallen...)
Ich kann versichern daß auf meinen beiden Reichelt-Modulen "16" auf dem
Quarz steht und mit (CAN0.begin(CAN_500KBPS, MCP_16MHz)
läuft es.
Bin erst kürzlich wieder gestolpert weil ich einen Sketch für das ebay-Modul
für ein Reichelt-Modul verwenden wollte und nicht an das 8><16 MHz Problem
gedacht hatte...
Da bin ich noch nicht gestolpert - habe die Dinger hier liegen, aber noch nicht in Betrieb genommen. Danke für den Hinweis; muss ich also bei Bus-Konfiguration aufpassen.
Ich fand die aber schnuckelig und hier auch halbwegs brauchbar dokumentiert.
Ich betreibe Haus-intern mein Netz über die Kabel der damals(TM) installierten analogen Telefonanlage. Deshalb meine ich, dass CAN damit auch gehen sollte. Die sind ja meist sogar verdrillt - also gute Basis vorhanden.
Vorteil für den TO: Man kann einzelne Stationen leicht gezielt über eigene CAN-Nachrichten adressieren und der später erfolgende Ausbau mit Rückkanal ist auch kein Problem.
f91w:
Ich kann versichern daß auf meinen beiden Reichelt-Modulen "16" auf dem
Quarz steht und mit (CAN0.begin(CAN_500KBPS, MCP_16MHz)
läuft es.
Bin erst kürzlich wieder gestolpert weil ich einen Sketch für das ebay-Modul
für ein Reichelt-Modul verwenden wollte und nicht an das 8><16 MHz Problem
gedacht hatte...
Dann hat Reichelt sowohl ein falsches Foto wie auch eine falsche Beschreibung. Ich habe Reichelt mal darüber informiert.
Ich habe zwei 8MHz-Module mit dem Parameter MCP_16MHZ verwendet, was auch problemlos funktionierte. Erst das Mischen in diesem Fall mit einem Teensy führte dann zu Problemen. Da muß man also die Äuglein offen halten!
wno158:
Ich fand die aber schnuckelig und hier auch halbwegs brauchbar dokumentiert.
Das Modul im Link ist genau mein Reichelt-Modul.
Man kann auch die "16" auf dem Quarz erkennen.
Hier nochmal der Link:
Die lib von Flori1989 in dem Link hatte ich auch zuerst verwendet. Beim Nachsehen
habe ich festgestellt daß ich die lib von Cory J. Fowler aktuell verwende.
Die Flori-lib ist wohl ein Fork davon und beide schon länger nicht mehr upgedatet.
Egal, beides funktioniert und reicht für mich als Hobbyist völlig aus.
Nochmals vielen Dank für Eure Hilfe. Ich meine, einen Trend in Richtung CAN Bus zu erkennen. Da ich ab und zu auch mal im Berreich KFZ Reparatur unterwegs bin könnte es vielleicht sogar von Vorteil sein.....
Hat jemand Erfahrungen gesammelt, was die Reichweite in Gebäuden angeht ?
( Bei RS485 ist, je nach Datendurchsatz, die Rede mehreren 100m)