Hallo, ich habe 2 Arduino Mega 2560 und einen Raspberry. Der Raspberry soll zu beiden Arduinos Steuerbefehle senden können bzw. aktuellen Status empfangen können. Arduinos untereinander kommunizieren nicht miteinander. 1 Arduino ist vom Raspberry etwa 50cm entfernt, der andere etwa 10Meter. Es werden in der Sekunde maximal 30-40 Bytes übertragen. Eine Möglichkeit wäre nun, ich hänge an beide Arduinos ein enj28j60 und verkabel diese über das Netzwerkkabel. Zusätzlich benötige ich aber auch noch einen Switch, um im Falle eines Stromausfalles benötige ich durch die Netzwerkverkabelung wesentlich mehr Strom, um den Ausfall überbrücken zu können. Gibt es alternative kostengünstige Möglichkeiten, eine Kommunikation zwischen Arduino und Raspberry herzustellen. Direkt über das RX/TX Interface? Stelle ich mir bei der Reichweite problematisch vor? Vorallem, müsste ich sicherstellen, dass alle Daten auch im Ziel ankommen. Gibt es Vorschläge? Danke!
der nahe Arduino über I2C, der andere über RS485 an den R-PI anschliessen. Hat den Vorteil, du kannst sowohl über I2C und RS485 später noch viel mehr Arduinos anschliessen, wenn du auf einmal Lust dazu bekommst. Für I2C brauchst du nur ein bisschen Draht, für RS485 gibts fertige Shields
Captain Obvious schrieb: > der nahe Arduino über I2C, der andere über RS485 an den R-PI > anschliessen. Warum nicht beide über RS-485? Oder gar beide über RS-232. Bei 300Baud ist auch RS232 durchaus machbar. Thomas schrieb: > senden können bzw. > aktuellen Status empfangen können. Das mit dem Status lässt isch mit mit Aufforderung Status bewerkstelligen, gibt dann keine Kollision. rgds
Thomas schrieb: > Vorallem, müsste ich sicherstellen, dass alle Daten > auch im Ziel ankommen. dazu kannst du dir ja ein geeignetes Kommunikations-Protokoll ausdenken, z.B. die einzelnen Datenpakete mit einer Sequenz-Nummer auszustatten (braucht ja vermutlich bei der lahmen Übertragung und Datenmenge nur 1 Byte groß sein). Sofern ein Paket fehlt, wird das ja dann dem Empfänger sofort auffallen.
:
Bearbeitet durch User
Wenn überall RX/TX verfügbar ist, dann könnte man durchgängig RS485 nutzen. Lästig ist bei RS485 nur die Steuerung der Sende/Empfangsrichtung über zusätzliche Signale. Im einfachsten Fall könnte man da aber ein Modul mit Auto Direction verwenden. Suche mal nach "rs485 auto direction module", da gibt es was zu finden. Bei diesen wenigen Bytes kann man sich im Protokoll ohne explizite Kontrolle der Richtung einig werden.
:
Bearbeitet durch User
Die Arduinos durch ESP ersetzen. Oder die Megas jeweils zum I2C Slave eines ESP-01 machen.
Thomas schrieb: > Hallo, > > ich habe 2 Arduino Mega 2560 und einen Raspberry. > > Der Raspberry soll zu beiden Arduinos Steuerbefehle senden können bzw. > aktuellen Status empfangen können. > > Arduinos untereinander kommunizieren nicht miteinander. > > 1 Arduino ist vom Raspberry etwa 50cm entfernt, der andere etwa 10Meter. > > Es werden in der Sekunde maximal 30-40 Bytes übertragen. RS232 ist am einfachsten. Steck das hier in Deinen Pi: https://www.reichelt.de/USB-Konverter/DIGITUS-DA-70158/3/index.html?ACTION=3&GROUPID=6105&ARTICLE=136304&OFFSET=16& und Du hast zwei RS232. An die Arduinos kommen Pegelumsetzer mit MAX232 oder MAX3232. Damit sind 10m überhaupt kein Problem. fchk
Wieso nicht mal kabellos versuchen? 3 x NRF24L01 kosten nicht die Welt. Man spart sich die Kabel (die kosten ja auch Geld). Ein Cat5 Kabel kostet dich vielleicht zwischen 20 und 30 cent / m (als Meterware). Wenn Du noch RS232 Stecker haben willst, summiert sich das dann doch. Ein NRF24l01 kostet dich aus China vielleicht 1 Euro, aus D vielleicht 2-3 Euro. Für beide RPi und Arduino gibt's fertige Libraries dafür.
steck den Arduino in die USB Buchse vom PI dann kannst du seriell Daten tauschen und sogar den Ardu umprogrammieren auch aus der Ferne über Netzwerk die IDE 1.8.2 & 1.8.3 gibts auch für PI Arm hier läuft gerade mein DHT22 am Ardu am PI Mo 10.Jul 2017 19:26:00 Uhr R DTH H= 56.0% DHT T= 24.2*C RTC T= 24,0*C
:
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.