Sparkfun ESP286 WIFI Shield an MEGA / UNO ???

Hallo,

ich sollte das Sparkfun Shield an einem MEGA zum laufen zu bringen. Am Uno klappt es problemlos, +,-, RX und TX (Pin 8 und 9) verbinden und ESP8266_Shield_Demo läuft.

Was muss ich anpassen damit es am MEGA auch geht?

Ich habe schon versucht die RX und TX auf andere Pins (10,11) oder Serial1,2,3 zu legen, weiß aber ehrlich gesagt nicht wie ??? Oder muss ich da etwas ganz anderes machen?

Bin für jeden Tipp dankbar.

Gruß Uwe

hi,

der mega ist anders als der uno, da geht softserial anscheinend nicht auf 8 und 9.

https://learn.sparkfun.com/tutorials/esp8266-wifi-shield-hookup-guide/discuss

gruß stefan

Hallo Stefan,

das ist ja mein Problem dass ich dazu gerade keine Idee habe wie ich das anpacken kann.... Ich komme von Link zu Link und irgendwann blicke ich nichts mehr :cry: :cry:

Auf dem Mega solltest du besser einen der Hardware Serials verwenden.

Software Serial halte ich da für Quatsch.

Allerdings. Bei 4 HW Serials nimmt man kein Softserial

ElEspanol:
Allerdings. Bei 4 HW Serials nimmt man kein Softserial

Genau darum geht es mir ja: Wie mache ich das? Wo muss ich da was ändern? Im Sketch oder der Library? Oder der Hardware?

Gruß
Uwe

void setup() {
  // initialize both serial ports:
  Serial.begin(9600);
  Serial1.begin(9600);
}

void loop() {
  // read from port 1, send to port 0:
  if (Serial1.available()) {
    int inByte = Serial1.read();
    Serial.write(inByte);
  }

  // read from port 0, send to port 1:
  if (Serial.available()) {
    int inByte = Serial.read();
    Serial1.write(inByte);
  }
}

Dieses Beispiel habe ich auch schon gesehen, aber da werden doch “nur” die beiden Serial-Ports gestartet. Aber in dem ESP8266_Shield_Demo wird ja nur die Serial genommen um die Ausgabe am Monitor zu ermöglichen. Ich sehen da nichts wo der Port zum WiFi definiert wird.
Nur in der SparkFunESP8266WiFi.h - Library werden offenbar Ports definiert:
#define ESP8266_SW_RX 9 // ESP8266 UART0 RXI goes to Arduino pin 9
#define ESP8266_SW_TX 8 // ESP8266 UART0 TXO goes to Arduino pin 8

Aber wie komme ich da dran? Einfach in der Lib statt 8 und 9 die Ports 18 und 19 reinschreiben kann es ja wohl nicht sein… ???

Gruß Uwe

Hallo,

irgendwie komme ich nicht weiter. Jetzt habe ich das halbe Wochenende gegoogelt und nichts passendes gefunden. Irgendwie komme ich auch immer wieder auf die selben Seiten und dann ist für mich Schluss.

Gibt es denn keine Möglichkeit dieses WiFi-Shield an den MEGA anzuschließen? Die obigen Tipps bringen nich einfach nicht weiter.
Wäre schön wenn doch noch was kommt.

Gruß Uwe

hi,

Aber wie komme ich da dran? Einfach in der Lib statt 8 und 9 die Ports 18 und 19 reinschreiben kann es ja wohl nicht sein....

naja, eigentlich schon.

gruß stefan

uk1408:
Aber wie komme ich da dran? Einfach in der Lib statt 8 und 9 die Ports 18 und 19 reinschreiben kann es ja wohl nicht sein.... ???

Gruß Uwe

Nicht?

Probier mal hiermit

SparkFun_ESP8266 2.zip (44.9 KB)

Hallo skorpi86,

erst mal Danke für die Mühe - aber weiter bin ich noch nicht.
Du hast ja wohl nur die beiden #define - Zeilen für RX und TX aus der Lib genommen und dafür die Seriel1 in dem Sketch initialisiert. Woher weiß der Arduino jetzt dass er zur Kommunikation mit dem Shield den Serial1 nehmen soll? Das verstehe ich erst mal nicht…
Das Ganze geht auch nicht: Zunächst verhält er sich wie vor der Änderung, Errror talking to ESP8266. Als ich dann RX1 mit RX und TX1 mit TX von Shield verbunden hatte war diese Meldung weg und er behauptet:
ESP8266 Shield Present, Mode set to Station, Connected to: xxxxxxxxx, My IP: 192.168.0.134. Die FritzBox weiß aber nichts von einer solchen Anmeldung, und auch der Rest vom Sketch funktioniert nicht. Diese Antwort vom Shield kommt auch wenn ich im Sketch myPSK oder mySSID falsch eintrage…
Ich vermute der Arduino fragt was ab und das Shield antwortet - aber mit Dingen die noch von anderen Versuchen mit dem funktionierenden UNO drinstehen. Also so “ein bisschen” Kommunikation ist da aber das reicht nicht für alles.

Hast du da noch ein paar Hinweise ??? Schon mal Danke

Gruß Uwe

Im Setup bräuchtest du eigentlich den Serial1.begin nicht, es wird schon in der Library erledigt.
Entweder es ist ne Kommunikation da oder nicht, bischen gibts da nicht.

Hallo skorpi08 und alle anderen,

so langsam schwirrt mir der Kopf - funktioniert leider immer noch nicht. Aber so weit bin ich jetzt gekommen: Im Sketch Shield_Demo läuft die Initialisierung, er verbindet wohl auch mit meinem Netz (laut FritzBox).

In der Funktion clientDemo steht um Zeile 200 :
// print and write can be used to send data to a connected
// client connection.
client.print(httpRequest);
und bei client.print komme ich nicht weiter.
Alle anderen Funktionen finde ich in irgendwelchen Libs, diese client.print finde ich nicht. Kann es evtl. daran liegen? Es ist mir sehr wichtig hier weiter zu kommen......

Aber dafür habe ich bemerkt, dass an meinem Bord offenbar die Beschriftung RX1 und TX1 vertauscht sind!!

Grüße
Uwe

Nachtrag:
Jetzt habe ich noch ein paar Stunden gegoogelt und doch noch was gefunden. Offenbar war ich in Post 7 dicht dran, nur die Portnummern waren weit weg. Jetzt habe ich in der SparkFunESP8266WiFi.h dies geändert

/////////////////////
// Pin Definitions //
/////////////////////
#define ESP8266_SW_RX 10 // ESP8266 UART0 RXI goes to Arduino pin 10 alt war 8
#define ESP8266_SW_TX 11 // ESP8266 UART0 TXO goes to Arduino pin 11 und 9

und es funktioniert :grin: :grin:

Hat das jetzt einen Nachteil gegenüber der Serial1-Lösung (die nicht funktioniert)?

Frohe Grüße und nochmals Danke an alle die mitüberlegt haben

Uwe

Wenn es tut wie es soll, ist alles in Ordnung :wink:

Nochmals hallo...

Jetzt habe ich noch eine Frage:

Gibt es irgendwo eine Liste der Befehle der SparkFunESP8266WiFi-Library? Oder wie bekommt man heraus was da so alles geht? Was ich bisher fand waren nur Fragmente....

Gruß Uwe

Schau doch in die Beispiele und in den Lib Quellcode, was es da so gibt

Ich dachte dass es irgendwo eine sinnvolle Übersicht gäbe…