Forum: Mikrocontroller und Digitale Elektronik Serielle Datenübertragen vom Arduino Uno zum NodeMCU (ESP8266)


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Hendrik (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte meinen NodeMCU als AccesPoint nutzen, um auf erfassten Daten 
über die WLAN-Schnittstelle zugreifen zu können. Hierfür muss ich die 
Daten vom Arduino an den NodeMCU übermitteln. Weil ich ein SD-Shield 
benutzte, sind viele Datenschnittstellen bereits belegt und es bleibt 
mir noch die Serielle Schnittstelle. Ich habe bereits einiges 
ausprobiert und es gelingt mir problemlos die Daten vom NodeMCU an den 
Arduino zu schicken, allerdings will ich meine Daten ja vom Arduino an 
den NodeMCU schicken. Wenn ich die übertragenden Daten auf dem NodeMCU 
auslese wird nur ein "?" angezeigt und mithilfe des Befehls 
"myserial.available()" um die Übertragung abzufragen führt es zu keiner 
Ausgabe. Ich habe die Kontakte Tx/Rx jeweils gekreuzt und den Pegel des 
Arduinos mithilfe eines Spannungsteiler auf 3,06V reduziert. Außerdem 
hab ich auch die neuste Library von "ESPSoftwareSerial" verwendet. Hätte 
jemand eine Idee, wo das Problem liegen könnte?
Wenn ich anstelle des NodeMCU einen Arduino Uno verwende und den Code 
sowie die Schaltung nicht verändere funktioniert die Datenübertragung.
Die Programmes des NodeMCUs sowie des Arduinos und ein Bild der 
Schaltung hab ich angehängt.

Mit freundlichen Grüßen,

Hendrik

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
Zeichen mal einen Schaltplan von deinem Aufbau, aus dem hervor geht, 
welche Widerstände du verwendet hast. Auf dem Foto kann ich das nicht 
gut genug erkennen.

Ich habe Zweifel, ob SoftwareSerial auf dem ESP8266 überhaupt 
funktionieren kann. Denn auf dem Ding läuft nicht nur dein eigenes 
Programm sondern auch eine ganze Menge Code von der Basis Firmware (von 
Espressif). Was passiert wohl, wenn der ESP gerade seriell Daten 
empfängt, während diese Firmnware ausgeführt wird?

Offenbar braucht man für den ESP eine spezielle Version der 
SoftwareSerial Klasse: 
https://arduino-esp8266.readthedocs.io/en/latest/libraries.html#softwareserial

: Bearbeitet durch User
von Brain 2.0 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Was ich erkennen kann, haben die Widerstände nix mit der seriellen 
Schnittstelle zu tun.
Du brauchst da aber 1k, da der Uno mit 5 Volt arbeitet und der NodeMCU 
mit 3,3Volt.

Auch kann ich nicht erkennen, dass du die gesendeten Zeichen richtig 
ausliest.
Und du solltest deinen gesendeten String mit einem Steuerzeichen 
abschließen, damit der Empfänger auch erkennt, wenn der String zu Ende 
ist. Da gibt es im Netz schon sehr schöne Beispiele.

von Brain 2.0 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Achja, du kannst für den ESP8266 auch die normale SoftwareSerial Lib 
verwenden, die funktioniert bei mir problemlos, auch mit größeren 
Baudraten.

von IhrWisstEsSowieso (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Warum eigentlich überhaupt zwei µC?

von Brain 2.0 (Gast)


Bewertung
1 lesenswert
nicht lesenswert
IhrWisstEsSowieso schrieb:
> Warum eigentlich überhaupt zwei µC?

Das hatte Hendrik ja im Eingangspost geschrieben.
Aber er ist wohl an weiterer Hilfe nicht interressiert.

von LKW mit ABS (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Brain 2.0 schrieb:
> IhrWisstEsSowieso schrieb:
> Warum eigentlich überhaupt zwei µC?
>
> Das hatte Hendrik ja im Eingangspost geschrieben.
> Aber er ist wohl an weiterer Hilfe nicht interressiert.

Ich hab's jetzt mehrmals gelesen und mir erschließt sich einfach nicht 
warum es zwei uC sein müssen. Wenn er Daten mit mehreren Sensoren 
erfassen will könnte er immernoch Multiexer verwenden. Das wäre 
immernoch optimaler als zwei verschiedene Systeme Ping Pong spielen zu 
lassen. Vor allem wenn man schon sowas komfortables wie ein NodeMcu 
verwendet.
Naja

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.