Datenaustausch zwischen Arduino Mega und ESP NodeMCU

OP #6589512
Lesenswert?
• ▲
▼
Moin, ich habe folgendes Problem:
Ich möchte gerne einen Datenaustausch zwischen einem Arduino Mega2560 
Rev3 und einem ESP NodeMCU V3 ermöglichen. Über den ESP möchte ich gerne 
Befehle von Apple's HomeKit entgegennehmen, dafür habe ich einen 
Raspberry Pi als Bridge laufen und die Befehle an den Mega senden. An 
dem Mega sind 10 Lampen angeschlossen, die über 10 PWM Ausgänge 
angesteuert werden. Die Lampen können zusätzlich zu HomeKit, über ein 
Nextion-Touchdisplay und einer IR-Fernbedienung bedient werden, welche 
beide an den Mega angeschlossen werden. Hierbei sollen die geänderten 
Daten automatisch bei HomeKit und dem Touchdisplay angezeigt werden.
Zudem sollen noch verschiedene Sensoren (Temperatur-, Bewegungs- und 
Erschütterungssensor) an den Mega angeschlossen werden.
Wenn über HomeKit die Lampen angesteuert werden, soll der ESP die Daten 
zu dem Mega senden und wenn die Daten auf dem Nextion-Touchdisplay 
geändert werden, dann sollen die geänderten Daten zu dem ESP gesendet 
werden.

Nun wollte ich euch Fragen, ob Ihr schon Erfahrungen mit dem austausch 
von Daten zwischen dem Arduino Mega und dem NodeMCU habt und wie Ihr das 
umgesetzt bzw. welches Verfahren Ihr da verwendet habt.

LG Johann
Gast #6589566
Lesenswert?
• ▲
▼
Da der ESP 3,3V Pegel hat und der Mega 2560 5V Pegel, würde ich 
vermutlich auf SPI setzen. Das sind realtiv wenige, unidirektionale 
Signale, die umzusetzen sind. RS232 wären zwar noch weniger, aber dafür 
geht bei SPI vermutlich mehr an Baudrate. Bei IIC aka TWI sind die 
Signale bidirektional. Ausserdem müsste ich jetzt nachschlagen, ob einer 
von beiden den Slave in Hardware spielen kann.
Gast #6589572
Lesenswert?
• ▲
▼
Das sind alles keine wahnsinnig schnellen Vorgänge. Da reicht seriell 
durchaus aus.
Die Verbindung der Controller über 1k Widerstände durchführen, um die 
Spannungsunterschiede auszugleichen.
Das funktioniert prima, mehrfach so genutzt.
Gast #6589582
Lesenswert?
• ▲
▼
FOp schrieb:

> Da der ESP 3,3V Pegel hat und der Mega 2560 5V Pegel, würde ich
> vermutlich auf SPI setzen.

Ja und zwar mit dem ESP32 als Slave und dem 2560 als Master, aber nicht 
mit der dedizierten SPI-Hardware, sondern mit einer UART im 
SPI-Master-Mode.

Dann würden 8MBit/s gehen.

> Das sind realtiv wenige, unidirektionale
> Signale, die umzusetzen sind.

Was allerdings auch bei "nur" 8MHz schon nicht mehr so ganz trivial ist. 
Aber  immerhin noch mit Hobbymitteln beherrschbar.
OP #6589618
Lesenswert?
• ▲
▼
Heinz R. schrieb:
> Oder, wenn Du mehr IOs brauchst, einen ESP32?

Auf den ESP32 bin ich gar nicht gekommen, wusste gar nicht, dass dieser 
so viele analoge/digitale Pins, sowie PWM kompatible Pins besitzt.

Werde mich mit dem mal etwas beschäftigen, vielen Dank!

Heinz R. schrieb:
> Nextion - hast Du das Teil schon?

genau, das Nextion habe ich schon hier liegen.

c-hater schrieb:
> Ja und zwar mit dem ESP32 als Slave

Wenn ich mich recht erinnere, kann man den ESP nur als Master und nicht 
als Slave benutzen.

Und vielen Dank für die anderen Antworten, ich werde mich erstmal mit 
dem ESP32 beschäftigen und mich gegebenfalls nochmal melden!
Gast #6590019
Lesenswert?
• ▲
▼
Tipp: Schau dir auch den ESP32-S2 an. Wenn du kein Bluetooth, Ethernet 
oder CAN brauchst, kann das die bessere Option sein als der ESP32.

Braucht weniger Strom, hat mehr I/O-Pins, ist billiger und ist direkt 
per USB flashbar, spart also auch noch den USB-UART-Wandler. Nur noch 
nicht so weit verbreitet.

MfG, Arno

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.