Hallo da draussen,
seit ein paar Tagen beschäftige ich mich mit dem ESP8266.
hierfür habe ich mir 2x den JOY-IT WiFi Modul ESP8266 und das passenden JOY-IT USB-Stick-Modul (vom Pollin) gekauft.
Stecke ich den ESP auf das USB-Modul so kann ich AT Kommandos senden und die Antworten Empfangen.
Die Baudrate ist hier auf 115200 eingestellt. Der ESP im WLAN erreichbar.
Verbinde ich jetzt diesen aber mit dem Nano so lassen sich die Kommandos zwar senden werden aber im Monitor nicht richtig oder überhaupt nicht dargestellt. auch ist das Modul nicht sichtbar.
auf dem Nano ist folgender Sketch geladen:
[/#include <SoftwareSerial.h>
SoftwareSerial esp8266(2, 3);// RX, TX for debugging
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(115200);
// set the data rate for the SoftwareSerial port
esp8266.begin(115200);
//send first AT Command to see if ESP8266-Module responds
esp8266.println("AT");
}
void loop() // run over and over
{
if (esp8266.available())
Serial.write(esp8266.read());
if (Serial.available())
esp8266.write(Serial.read());
}code]
Ich habe schon mit sämtlichen Baudraten, zwischen 9600 und 115200, im Skecht und im Monitor rumexperimentiert. Es werden nur "wilde" Zeichen als Antwort ausgegeben.
jemand von euch da eine Idee?
115200 kann Softserial nicht. Nimm besser 9600. Serial kann ruhig bei 115200 bleiben.
Der ESP8266 ist nicht 5V tolerant! Hast Du Pegelwandler in die TX-Leitung vom NANO geschaltet oder wenigstens Spannungsteiler?
Bei der von dir vorgeschlagenen konfiguration bekomme ich ein Kästchen als Antwort.
habe sowohl Spannungsteiler, Levelshifter als auch direkt ausprobiert.
Dann auch immer wieder Funktionskontrolle ob Bauteil noch i.O.
Dann stimmen Baudraten vom jeweiligen Sender und Empfänger nicht überein.
Was ich nicht verstehe, wieso man immer noch solche "verkrüppelten" ESP8266-Module mit diesen besch... AT-Kommandos benutzt, wo es doch WEMOS D1 mini pro und NodeMCU 1.0 gibt, die man an USB anschließen und direkt aus der IDE heraus programmieren kann.
@ElEspanol
Extern @Tommy56
dummheit nicht ausgeschlossen
aber mal im ernst, ich möchte erst mal die Möglichkeiten der einzelnen Komponenten testen. Natürlich habe ich schon die "guten" Sachen (Prezel, NCU...) aber um ein bestehendes Projekt zu erweitern glaube ich könnte dies ganz nützlich sein. Auch ist der Preis nicht ganz zu vernachlässigen.
nichts desto trotz werde ich heute noch ein wenig testen und mich dann noch mal melden.
Jetzt funktioniert es.
Also kurze Nachlese:
Sketch wie folgt:
#include <SoftwareSerial.h>
SoftwareSerial esp8266(2, 3);// RX, TX for debugging
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(115200);
// set the data rate for the SoftwareSerial port
esp8266.begin(115200);
//send first AT Command to see if ESP8266-Module responds
esp8266.println("AT");
}
void loop() // run over and over
{
if (esp8266.available())
Serial.write(esp8266.read());
if (Serial.available())
esp8266.write(Serial.read());
}
Pinbelegung:
RX >> TX (über Levelshifter)
TX >> RX(über Levelshifter)
GND >> GND
VCC, CH_PD, RST >> 3,3V
mein Fehler war das ich der Anleitung im Netz vertraut habe und RST offen gelassen habe.
kennt jemand ein gutes deutsches Beispiel wie man daten zwischen den Teilen direkt austauschen kann.
das Ziel währe es das der erste etwas zum zweiten schickt und der zweite quitiert.
Mein Tipp:
Suche lieber, wie man den ESP-01 per I2C an den Nano klemmt.
Aus meiner Sicht, macht es mehr Sinn den leistungsfähigeren als Hauptprozessor zu verwenden und den Nano nur als intelligenten Port Expander zu betrachten.