Hallo,
habe mir vor einiger Zeit ein NodeMCU-Board besorgt (NodeMCU 12-E) welches ich für ein Projekt benötige bei dem ich ein ferngesteuertes Auto von einem PC aus steuern möchte.
Dabei sind einige Sensoren (z.B. Abstandssensor) mit dem Arduino verbunden, dies sollen via Serielle Verbindung (RX/TX) an das NodeMCU-Board gesendet werden und dann über
Wlan (AP) an den PC weitergeleitet werden.
Ich habe bereits viele Anleitungen zur Seriellen Verbindung zwischen Arduino und NodeMCU versucht, jedoch gelang jedes Mal nur eine Verbindung in eine Richtung, konkret: NodeMCU -> Arduino
Jedoch habe ich noch keine Möglichkeit gefunden wie ich Daten vom Arduino an das NodeMCU-Board senden kann, hat da jemand Erfahrung mit?
Hilfe gerne erwünscht!
Grüße
fcn200
Dies habe ich auch versucht, funktioniert leider auch nicht
Dann musst Du es wohl nochmal versuchen. Es ist ja alles da: Bebilderung, Beschreibung, Quellcode für Arduino und nodeMCU.
Wenn Du gar nicht weiter kommst, kann es helfen, nochmals von vorn anzufangen. Neues Spiel - neue Chance.
Wenn Du Dich einarbeitest und alles nachvollziehst, wirst Du zur Lösung kommen. Es sei denn, Geräte sind defekt. Ich hatte auch schon ein nodeMCU, das rumgesponnen hat. Da ich sicherheitshalber aber Mehrere habe kann ich immer testen, wenn was nicht funktioniert, ob es am Board liegt.
MfG
SoftwarSerial , Standard Bibliothek
- - - Aktualisiert - - -
Wie schreibe ich das im Code beim arduino bzw node mcu board über welchen pin er senden soll?
1. ist die SoftwareSerial - Standard Bibliothek nicht für den NodeMCU geeignet, weil er durch seine internen WiFi Tasks das Software (bitbang) UART stört.
https://github.com/arduino/Arduino/issues/8733
https://github.com/plerup/espsoftwareserial
2. Hardware-Serial geht automatisch über RX und TX, während die Pins für Softwareserial im Code definiert werden. Schau dir mal Moppis Code an.
https://www.arduino.cc/en/Reference/SoftwareSerial
Arduino: SoftwareSerial mySerial(3, 2); // RX, TX
nodeMCU: SoftwareSerial mySerial(4, 5); // RX, TX
Arduino: Pin#2 = TX
nodeMCU: Pin D2 = GPIO4 = RX
Zum Senden von Arduino auf nodeMCU muss der Pin#2 des Arduino, mit dem Pin D2 des nodeMCU verbunden werden. Der Funktion mySerial() wird beim nodeMCU die GPIO-Nummer übergeben.
Übrigens könnte man auch andere Pins bei den Geräten verwenden. Aber ich beziehe mich hier auf das Beispiel mit den Bildern, dass ich oben schon verlinkt habe.
Geändert von Moppi (01.04.2019 um 21:43 Uhr)
@Moppi:
auf nodeMCU (ESP8266, das ist KEIN Arduino!) werden spezielle angepasste SoftwareSerial Versionen empfohlen, weil die für die Standard-Aduinos oft nicht korrekt funktionieren, auch wenn es manchmal ausnahmsweise funktionieren mag .
Wäre das nicht so, würde sich niemand die Mühe machen, spezielle angepasste SoftwareSerial Versionen für nodeMCUs und ESP32 zu schreiben
Lesezeichen