Bei mir haben bis heute (Day 10) alle Projekte funktioniert, manche nicht auf Anhieb, aber OK.
Nun habe ich (Neuling) noch einen separaten Adurino Uno und auch ein WiFi Board ESP8266 (beides war unbenutzt) und den Ehrgeiz die Projekte wenigstens zum Teil auch auf dieser Kombination nachzubauen. Doch da bin ich kläglich gescheitert.
Als erstes wollte das Projekt aus Wlan Kochbuch http://arduino-hannover.de/2014/12/11/wifi-kochbuch-mit-esp8266/ nachbauen und testen.
Kein “Land in Sicht”, geht einfach nicht. Das Wlan Modul meldet sich einfach nicht am Router an. Ich habe die 3 Sketche nacheinander geladen. Hardwareseitig hatte ich einen Stützelko 100uF (220uF war nicht vorrätig) zw. 3,3V und GND, sollte das der Fehler sein?
Ich denke, wenn o.g. Projekt nicht funktioniert kann ich nicht mit den Projekten (incl. WLAN) des Weihnachtskalenders anfangen.
Vielleicht kann jemand helfen, wäre nett.
PS: Als “Neuling” hatte ich mal die TX und RX Leitungen an TR und RX vom Arduino Uno und mal an Pin 11 und 10, immer negativ.


32 Antworten

Jonathan – 10.12.2015

Noch eine Frage: Sind denn hier http://fkainka.de/wlan-modul-esp8266-und-arduino/

keine Widerstände zur Spannungsteilung TX (Uno) –> RX (ESP8266) erforderlich?

klaus – 11.12.2015

Noch eine Frage: Sind denn hier http://fkainka.de/wlan-modul-esp8266-und-arduino/

keine Widerstände zur Spannungsteilung TX (Uno) –> RX (ESP8266) erforderlich?

Nein. Auf der Seite steht ja, dass das Arduino Nano mit 3,3V arbeitet. Das Adwentskalenderboard arbeitet mit 5V. Also aufpassen, wenn Du damit die Projekte nachbauen willst.

klaus – 11.12.2015

Der Sketch hat einige Fehler. Ich habe ihn zwar soweit zum Laufen, dass er mir überhaupt mal die IP richtig sagt und ne Antwort sendet, aber der Browser zeigt mir den kompletten Quelltext an. Außerdem kommt im Browser AT+CIPSEND an, was da ja gar nicht hin gehört.

Jonathan – 11.12.2015

  1. Hi KLaus, Danke dass du dich meiner Problematik angenommen hast. Ich bin heute leider nicht an “Ort und Stelle” so dass ich erst morgen wieder testen kann. Hast du der Sketch (Kochbuch) auf dem Pretzelboard (NanoESP) mit integriertem WLAN-Modul oder mit einem Uno laufen lassen?
  2. Zu 5V und 3,3V. Aha da liefert der Nano 3,3V auf den digitalen Ausgängen. Okay jetzt schlauer!
  3. Kannst du zu der erforderlichen Elko Kapazität etwas sagen. Ich hatte einen komischen Effekt. Der upload des Sketch ging meist nicht nach dem Kompelieren (Sync Fehler 1…10), dann habe ich mal vor dem Upload die 3,3V des ESP8266 WLAN Modules abgezogen, und schon klappte der Upload, dann wieder angesteckt, dann kam aber nicht viel mehr, eine Zeile im Monitor.

fk – 11.12.2015

Hi,

nein der Nano liefert keine 3,3 V auf den Ausgängen. Der von dir gefundene Artikel beschreibt einer meiner ersten Versuche mit dem Modul. Der Uno hat einen 3.3 V Ausgang der leistungsstark genug ist, um das Modul mit zu versorgen. Die 5-V Pegel des Uno habe ich aber knallhart auf die Seriellen Eingänge des ESP-Moduls gelegt. Das hat auf funktioniert aber für das NanoESP-Board habe ich mir doch etwas “sichereres” Ausgedacht. Infos zu der dafür verwendeten Schaltung findest du im Form unter NanoESP -> Hardware.

Eine wichtige Frage ist: welche Firmware benutzt dein ESP-Modul?

klaus – 12.12.2015

Theoretisch gesehen würde ich sagen, dass der Kondensator gar nicht nötig ist. Ich weiß nicht, ob die Ausgangsspannung des Arduino wirklich so schlecht ist. Um kleine “Schnicker” auszugleichen würde auch 1µF reichen.

Jonathan – 12.12.2015

Hi, Danke FK und Klaus. OK mit dem NanoESP hat der heutige Tag (wie fast immer) auf Anhieb funktioniert. So wollte ich eiskalt den Sketch auf dem Uno mit ESP8266 testen. Da kam…
ESP SEND ERROR: AT+RST
ESP SEND ERROR: AT+CWMODE=1
ESP SEND ERROR: AT+CWJAP=“FRITZ!Box Fon WLAN 7390”,“xxxxxx”
ESP SEND ERROR: AT+CIPMODE=0
ESP SEND ERROR: AT+CIPMUX=0
ESP SEND ERROR: AT+RST
ESP SEND ERROR: AT+CWMODE=1

also besser mit dem Uno am Tag 1 beginnen und lt. FK Version auslesen. Maximal steht im Monitor folgendes:
ÿÂbBšÞ8ké7„RÞXBBß<èÛ8P”kHb7JskøÛ8P”[Hb7JÚ3èÛ8Q”]iBB†ÞxvÒB–¾!bB@‘BBH/ë?Pj,vA?âó@ê m‰Å
ein “ready” kommt nie. Auf meine Eingabe AT+RST erfolgt keine Reaktion, somit ist auch kein Auslesen der Version mit AT+GMR mgl.
Alle Widerstände weggelassen und direkt auf die Pins 11 und 12. Ergebnis ist nicht besser. Auf PIN 11 soll doch TX vom ESP8266 oder?
Habe zwar auch alle Varianten probiert und so kamen überhaupt ein paar Zeichen. Nun bin bald der Überzeugung, ESP8266 defekt! D.h. Neubestellung mit
http://www.ebay.de/itm/5x-5V-to-3-3V-IIC-I2C-Logic-Level-Converter-Converter-for-Arduino-SFR-/400931343881?
hash=item5d595ece09:g:~UwAAOSwBahVbske

und wieder bei Tag 1 anfangen. Leider mit 4 Wochen Wartezeit. Schönen 3. Advent-

Raabinator – 13.12.2015

Hallo Jonathan.
Die Ausgabe sieht mir nach einer falschen Baudrate zum ESP-Board aus.
Im Beispiel in deinem Link ganz oben werden 115200Baud verwendet.
Unser Board hier verwendet 19200Baud.
Ich weiß aber nicht, ob die SoftwareSerial so eine hohe Baudrate überhaupt zuverlässig schafft. Das o.g. Beispiel verwendet die Hardware-Schnittstelle.

Jonathan – 13.12.2015

Hi. gerade nochmal Tag 1 mit Uno und EP8266 getestet. Sketch auf 19200 und Serial Monitor auf 19200. Leider kommen keine brauchbaren Zeichen und auf AT+RST kommt kein “ready”. Schade.

Raabinator – 13.12.2015

Du solltest im Sketch die Baudrate zum ESP-Board mal auf 115200 stellen. Damit die Übertragung nicht ins Stocken gerät am Besten die zum PC auch auf 115200. Den Serial-Monitor musst du dann natürlich auch auf 115200 einstellen.
Ich vermute mal, dass dein Zusatz-Board anders konfiguriert ist. Es gibt dafür nämlich einen AT-Befehl. Allerdings musst du die eingestellte Baudrate erstmal herausfinden.
Gängige Einstellungen sind: 9600, 19200, 38400, 57600, 115200
Am Besten mal alle durchprobieren.

Jonathan – 13.12.2015

OK hab dann mal durchgetestet Baudraten 9600, 19200, 38400, 57600, 115200

In der Reihenfolge: Immer im Sketch (Tag 1) 2x Baudrate geändert, im Monitor Schnittttellengeschw. geändert, Sketch Upload, 5V auf auf ESP8266, RESET am Uno. Am ESP8266 in der Hand Temp. gefühlt, (noch zum Anfassen). Im Monitor schreibt es -unbrauchbare Zeichen viele yyyy das über 20 Sek. Eingabe AT+RST oder AT+GMR dann habe ich abgebrochen und die 5V getrennt. Zuerst hatte ich an Pin 12 den Spannungsteiler mit 1,5KOhm und 1KOhm lt. http://arduino-hannover.de/2014/12/11/wifi-kochbuch-mit-esp8266/ aber es funktionierte auch nicht.

Raabinator – 14.12.2015

Schade, tut mir leid, dass dir das auch nicht weitergeholfen hat.
Entweder hat’s dir die Konfiguration des Moduls komplett verhagelt, es ist eine andere Firmware drauf oder das Ding hat tatsächlich das zeitliche gesegnet.
Sorry…

Jonathan – 17.12.2015

Hallo Klaus,

hattest du eigentlich den Sketch " Wlan Kochbuch http://arduino-hannover.de/2014/12/11/wifi-kochbuch-mit-esp8266/ " auf dem NanoESP zum laufen bekommen?

bobby1000 – 18.12.2015

Hallo Jonathan,
habe bisher auch Probleme mit dem ESP8266. Aber ich komme Schrittweise weiter. Evtl. hilft dir das Weiter.
Erst einmal einen leeren Sketch auf den Arduino laden. Dann den Seriellen Monitor öffnen.
Oben im Monitor das Kommando AT eingeben. es sollte OK im Monitor erscheinen.
Ist das nicht der Fall mit der Baudrate im Monitor herum spielen. Bei mir musste die Baudrate auf 115200 gestellt werden bis lesbare Zeichen heraus kamen.
Den Arduino Uno und den esp habe ich wie folgt angeschlossen:

Arduino ESP
3,3 V VCC
3,3 V CH_PD
RX TX
TX RX
GND GND

einen Kondensator mit 470 µF zwischen 3,3V und GND geklemmt.

Auf diese Art funktionieren die AT Kommandos über den Monitor alle. Sogar eine Verbindung mit dem Heimischen Router konnte ich über AT Kommandos herstellen. Nur im Sketch bin ich noch nicht so weit. Habe aber auch erst gestern Abend die Erleuchtung gehabt und den ESP das erste mal zum antworten bekommen.

Weitere Versuche mit Sketch werden folgen

Ich hoffe das hilft die weiter

klaus – 19.12.2015

Ich hab nicht mehr weiter gemacht. Keine Zeit. Mal sehen, irgendwann vielleicht. Ich bin halt auch kein C-Profi. Deswegen macht mir Arduino schon leichte Probleme.

Jonathan – 27.12.2015

Hi, heute kam dann endlich der neue ESP8266 und dazu noch “5V to 3.3V IIC I2C Logic Level Converter Converter for Arduino SFR” doch es will nicht funktionieren, selbst mit 2. Notebook wo schon alles mit dem Pretzelboard ging.

Zuerst, im Arduino 1.6.6 den UNO ausgewählt. COM Schnittstelle (17) i.O., Sketch vom Tag 1 geladen.
Baudrate im Sketch original 2x 19200, COM SS auch 19200 sowie CR NL.
Erst vom UNO TX und RX benutzt, negativ, dann PIN 11 und 12 zum Converter Cannel 5V von dort Channel (3,3V) zum ESP8266 RX und TX.
5V und GND verbunden.
Nix geht im seriellen Monitor. Kein OK, auch auf AT kommt nix.

Vom UNO muss doch PIN 11 und 12 genutzt werden; Stimmt’s?
Wenn man die Antenne vom ESP8266 zu sich hält und sieht, dann ist doch rechts oben TX und unten GND, Oder? Somit ganz links oben 3,3V , darunter RX und unter TX GND, oder hab ich hier was falsches?
CH_PD habe ich auch 3,3V angeschlossen, (da geht die rote LED aus).
Welche LED vom ESP8266 leuchten bei euch? Es gibt rot und blau bei mir.
Brauche Hilfe.

generalovernight – 30.12.2015

das ist ja auch kein C, sondern C++ ;-)

Jonathan – 30.12.2015

@generalovernight
wie, was meinst du?

Jonathan – 07.01.2016

Hi, so langsam ist etwas im serielle Monitor zu sehen. Es hat sich nun herausgestellt, dass mein größtes Problem die Spannungsversorgung 3,3V für das WLAN Modul ESP8266 war. Jetzt habe ich einen Power Converter 12V -> 3,3V und 5 Volt seit dem steht die rote LED am ESP stabil. Das war vorher nicht. Dazu habe ich jetzt einen TTL Converter 5V -> 3,3V, und siehe da, mit der Baudrate 15200 für ESP funktioniert etwas. Die Baudrate für Serial und im Monitor kann fast beliebig sein, nur nicht 230400.

Hier das Ergebnis mit Sketch vom Tag 1:
AT
OK
AT+GMR
AT version:0.40.0.0(Aug 8 2015 14:45=58)
SDK veqsion:1.3.0
Ai-Tct32KAT+CWMODE=1
OK
AT+CWMODE=1
O›
AT+CWLAP
+CWœAP:(3,“HeiiÅ&Kai”,-94.“e0:19:1d:cf:1d:c6”,1,30Q
+CWLAP:(1"FR7"d
I bÒÒÂ
,:,
AT+CIFSR
+CIFSR:STAIP.“192.168.100.67”
+CIFSQ:STAMAC,“5azcf:7f:10:f2:e8”
AT+PING=“www.google.de”
+17
OK

Getauscht habe ich das ESP Modul, den TTL Spannungs Converter, Pin RX TX am Arduino, das Ergebnis hat sich nie geändert.
Auch hatte ich mal die Puffergröße in #define _SS_MAX_RX_BUFF 256 // RX buffer size von 64 auf 256 geändert, doch es wird nicht besser.
Die Bibliothek steht unter Libraries - SoftwareSerial. Ob dies die richtige Stelle war?

Tag2 sieht so aus:
Reset Error
CWMODE Error
Reset OK
CWMODE Error
WLAN Connect OK
Ping OK Hurra die LED leuchtet!!!!

Hilfe wäre toll.

fk – 09.01.2016

Hi,

sehe ich das richtig, dass du das das Modul mit 115200 Baud benutzt? Das Problem könnte sein, dass die SoftwareSerial-Library aber einer gewissen Baudrate ungenau wird. Deswegen läuft das Modul im NanoESP mit 19200. Du kannst die Baudrate des Moduls mit dem Befehl AT+UART_DEF=, ,, ,<flow control> einstellen, oder das Initialisierungsprogramm des NanoESP benutzen: /images/2015/12/ConfigTest2.zip
(evtl muss das Programm leicht angepasst werden, da FW 0.40 benutzt?)

Jonathan – 09.01.2016

Hi fk, danke für die zeitnahe Info. Richtig ist, dass das ESP8266 nur mit 15200 Baud teilw. lesbaren Text übergibt. Mit 19200 waren es nur Hieroglyphen. OK, dann werde ich mal deinem Vorschlag folgen … Danke soweit.
Oder, (Gedanke) muß ich eine andere WIFI Library laden, weil das ESP8266 Modul ja nicht 100% gleich ist?
Nur welche? und wo?
https://github.com/esp8266/Arduino/tree/74aec438ae172eb1681e2074b584dbe6919d011c/libraries/ESP8266WiFi/src
https://github.com/sleemanj/ESP8266_Simple
https://github.com/ekstrand/ESP8266wifi

Jonathan – 09.01.2016

Hm, da hab ich im (Day1) Ser. Monitor AT+UART_DEF=19200,8,1,0,3 eingegeben, da kam noch OK, und das war’s. Im Sketch (day 1) esp8266.begin(19200); geändert! Aber es ist nix lesbares mehr zu sehen. Hmm, blind ein paar mal (mit unterschiedl. esp8266.begin(…); ) und AT+UART_DEF=115200,8,1,0,3 zurück ändern wollen. Keine Besserung. Maximal kommt bei esp8266.begin(115200) sowas:

ŒcãoŒ€lìpŒ|�ƒŸìp“Ÿ�“œæŒpŒ8óoŸ

Reset am ESP, wird nicht besser. Hmmm.

fk – 09.01.2016

Okay dann hast du das Modul jetzt auf 19200 umgestellt. Das war ja auch gewollt… jetzt müsstest doch das original Tag1 Programm nutzen können, bei dem die Baudrate der SofwareSeriellen (esp8266.begin(19200)) und der normalen Seriellen beide bei 19200 liegen… oder übersehe ich noch einen wichtigen Punkt?

fk – 09.01.2016

Ach und ich sehe gerade in meinem Config-Programm steht AT+UART_DEF=19200,8,1,0,0 ….

Jonathan – 09.01.2016

AT+UART_DEF=19200,8,1,0,0 …. Ja und das war gewiss mein Fehler, Naja Lehrgeld der Ahnungslosen,

Jonathan – 09.01.2016

Erst als Nichts mehr ging hab ich die Bedeutung des letzten Parameter gelesen. Zu spät. Ob es eine verständliche Anleitung zum Schreiben der Firmware gibt?

Jonathan – 10.01.2016

Hi, nach endlosen Std.-Versuchen und sammeln von vielen Erfahrungen, bin ich jetzt 2 Schritte weiter. Das Flashen der Firmware wollte lange Zeit nicht klappen (alle mögl. Versionen der .bin Files ) bis ich auf diese ai-thinker-v1.1.1.bin gestoßen bin. Diese funktionierte jetzt vor 20 Min!!!
So dass mit Sketch Day 1 wieder AT und OK im ser. Mon. zu lesen war. Dann nun endlich richtig die Baudrate mit AT+UART_DEF=19200,8,1,0,0 eingestellt.
Sketch umgestellt und Super, Super Super auf AT+CWLAP kommt jetzt ALLES ganz sauber. Toll! Vielen Dank für den richtigen Weg.
Höhere Baudraten funktionieren echt nicht!!!
Eine Frage bleibt noch:
AT+GMR
AT version:0.25.0.0(Jun 5 2015 16:27:16)
SDK version:1.1.1
Ai-Thinker Technology Co. Ltd.
Jun 23 2015 23:23:50
OK
AT+RST
OK
$aP-ÁdXQ%‰«¡-ÿ”§‡#Áläb”R„£?lÉ”$J(Îç%)$Sd¸H’—‡ÌP?i;ÿòò
Ai-Thinker Technology Co. Ltd.
invalid

Ja eigentlich gehört doch ready in die letzte Zeile, hmmm? ;-)
Aber nochmals Danke für den “Wegweiser”

fk – 11.01.2016

Ja das liegt daran, dass du keine original Firmware sonder eine (vermutlich nur leicht) angepasste Version von Ai-Thinker hast. Ich vermute mal, dass die meisten Versuche trotzdem funktionieren - allerdings solltest du dann in der espConfig()-Funktion die Zeile
succes &= sendCom(“AT+RST”, “ready”);
anpassen, z.B. in
succes &= sendCom(“AT+RST”, “invalid”);
wenn das die letzte Meldung nach einem Reset ist.

Jonathan – 15.01.2016

Hi Fabian

sag mal, wäre nicht so eine Lösung für den Arduino eine Herausforderung für dich? - Meldungen über WhatsApp -

http://www.embarcados.com.br/intel-edison-com-whatsapp/

generalovernight – 20.01.2016

Wie ich das meine? Was mir in der Arduino IDE begegnet ist hat genauso viel oder wenig mit C zu tun wie Java - oder eben C++, was es ja auch ist.

Chris – 21.02.2016

Hallo.
Hast du deinen ESP jetzt zu laufen gebracht?
Bei mir ging das laden der neue Firmware und kontakt mit dem ESP mit 115200 ohne größere Probleme aber ich bekomme kein einziges PRogram rauf, so dass der ESP alleine arbeitet und komme einfach nicht weiter.

Jonathan – 25.02.2016

Hi, Chris. Das ESP am Uno oder dgl. funktioniert bei mir auch ohne Probleme. Aber Solo ESP, da fehlt mir noch der 1. Erfolg. Hab es aber auch nur einmal versucht. Ich wollte damit so etwas http://www.instructables.com/id/ESP8266-ESP-12Standalone-Blynk-101/ hinbekommen.
Rückinfo wäre nett, wenn es bei dir klappt. Wobei Blynk schon mit Arduino sehr interessant ist. Viel Erfolg.