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
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
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.
Achja, du kannst für den ESP8266 auch die normale SoftwareSerial Lib verwenden, die funktioniert bei mir problemlos, auch mit größeren Baudraten.
Warum eigentlich überhaupt zwei µC?
IhrWisstEsSowieso schrieb: > Warum eigentlich überhaupt zwei µC? Das hatte Hendrik ja im Eingangspost geschrieben. Aber er ist wohl an weiterer Hilfe nicht interressiert.
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
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.