Day 2: Google Ping

With today’s project, you test whether you can reach the Google server. This is used as a test of whether there generally is a connection to the Internet or, e.g., a firewall is blocking the NanoESP-board.

You will find a plug board behind today’s door. The plug board is used as an experimenting platform later, to connect sensors and other elements. It is best if you plug the controller onto the plug board as shown in the following figure. This leaves you the most space for experiments, while the WLAN module protrudes over the plug board at the rear. The micro USB cable is then suspended between the contact sides and will only interfere minimally.

Der NanoESP auf dem Steckboard

The NanoESP on the breadboard

The program: Day2_GooglePing

The example program from the website has mostly automated the processes that you entered manually in the first example. The controller sends commands to the ESP module in sequence, thus connecting to the WLAN, among others. The differently long time-out times give the module enough time to answer.
Before the programme can work properly, you need to enter your WLAN data behind the two #defines SSID and PASSWORT right at the
beginning of the programme source code. The module needs access to the Internet to execute its last command. The command

AT+PING

pings other devices in the network. Pinging means a request of whether an address can generally be reached. Here, the Google server is pinged with AT+PING=“www.google.de“. When a response returns, a success message appears in the serial monitor and the LED labelled D3 that is connected to Pin D13 at the board is activated. The first communication with the Internet is successful.

163 Comments

  1. himbeertoni

    joah wadd issn dadd fürn getüddel middn adduinnoding ich glob ich hau dadd dinggens einfach inne tonne waddn fluch vonne technik

    Reply
  2. Chrissi

    Ich bekomme keine Wlan Verbindung. Was kann ich tun?

    SSID ist richtig
    Wlan Passwort ist richtig
    Timeout habe ich höher gestellt

    Bekomme keine Verbindung

    Reply
    1. Klaus

      Vermutlich blockiert Dein Router den Verbindungsaufbau. Eventuell hast Du das Häkchen bei “Nur bekannte Geräte” gesetzt. Dadurch ist es nur bereits bekannten Geräten möglich, sich zum Router zu verbinden. Neue Geräte werden nicht zugelassen.

      Reply
      1. Chrissi

        Danke ich versuche es.

        Reply
  3. Niklas00

    Hallo, Ich habe mir den Spaß für heute aufgehoben. Allerdings kommt bei mir IMMER bei allen ein ERROR. SSID ind Passwort sind richtig eingegeben. Bitte um Hilfe.

    Reply
    1. fk (Post author)

      Hi,
      oft wurden ähnliche Probleme mit einem längeren Timeout gelöst. Schau mal unten in die Kommentare.

      Reply
    2. rinse

      hello klaus
      i think i found the problem of many.
      in the code there is define”[MySSID]”
      and define “[MyPassword]”

      it works when you delete [] in both

      Reply
      1. Bernd

        hello rinse,

        thanks very much, YOU are the Best!!!

        i had the same problem the last 4 days.

        thanks bernd

        Reply
  4. Florenz_Schorz

    Komme immer noch nicht weiter als Tag 2 da bei mir immer
    ………………………………………………..
    Reset OK
    CWMODE OK
    WLAN Connect Error
    Ping Error

    ERROR
    ………………………………………………..

    erscheint wenn ich den seriellen Monitor starte.

    Wäre toll wenn mir jemand helfen könnte.

    Reply
    1. Nikdro

      Hast du oben in dem Programm deine SSID (WLAN-Namen) und das WLAN Passwort korrekt eingetragen?

      Wichtig ist, dass die beiden Eckigen Klammern [ und ] weg sind und wirklich nur der Name und das Passwort zwischen den beiden Anführungsstrichen stehen.

      Check das doch bitte mal und probiere es erneut und melde dich gegebenenfalls erneut.

      LG Nikdro

      Reply
      1. Nikdro

        Möglicher Weise braucht dein Router auch etwas länger, als das Programm erwartet.
        Sollte es also nicht an den Zugangsdaten ligen, einfach mal in Zeile 56 den Timeout etwas höher setzen.

        Reply
  5. Frank

    ich bin Heute immer noch auf Tag 2 , weil ich dafür com 3
    brauche .

    Kann mir da einer helfen?

    Gruß

    Reply
    1. Klaus

      Wo hakt es? Com3 ist ja kein Hindernis.

      Reply
  6. Leo

    Also ich hänge heute immer noch an Tag 2 , Weil bei mir kommt immer nur
    Reset OK
    CWMODE OK
    WLAN Connect Error
    Ping Error

    Hab schon alles geändert (20000>60000 / 1000>6000,…)
    Kann mir vielleicht nochmal jemand helfen

    LG Leo

    Reply
    1. Linus

      Bei mir des gleiche -.-
      Bin seit dem 2. am durchtesten.

      Gruß

      Reply
  7. Patrick

    Bei mir funktioniert des Anpingen des Google Servers manchmal und manchmal nicht:

    AT+PING=”www.google.de”

    ERROR
    AT+PING=”www.google.de”
    +27

    OK
    AT+PING=”www.google.de”

    ERROR

    Hat jemand eine Erklärung dafür?

    Reply
  8. Sascha

    Hey Leute,

    Ich wollte mal fragen was denn mit “D3 aktiviert sich” gemeint ist? Sollte die LED anfangen zu leuchten? Ich habs ums verrecken nicht hinbekommen. Der Ping funktioniert und ich bekomme auch ne Antwort. Das Board habe ich öfters umgesteckt und auch wie es auf dem Bild abgebildet ist. Oder ist es einfach nur ne Fehlinterpretation, dass da aufeinmal eine LED angehen soll?

    Reply
    1. Klaus

      Nein, es ist keine Fehlinterpretation, nur wahrscheinlich ein Missverständnis. Die LED geht nicht an, wenn Du von Hand den Ping auslöst, sondern nur, wenn das Programm durch läuft, weil da nach erfolgreichem Ping ein Befehl zum Einschalten der LED drin steht.

      Reply
  9. Nico

    Hallo,

    ich bekomme kein Ping OK, habe auch schon mit dem Hotspot probiert.
    Mit dem WLAN verbinden ist kein Problem, Aber der Ping test gibt immer ein Error raus. Was kann ich noch probieren?

    Reply
    1. Nico

      Das kommt immer:

      Reset OK
      CWMODE OK
      WLAN Connect OK
      Ping Error

      ERROR

      Reply
      1. Klaus

        Da die Verbindung zum WLAN ja offensichtlich funktioniert, bleiben eigentlich nur 2 Möglichkeiten:
        1. Dein Router blockiert den Datenverkehr aufgrund von irgendeiner Regel
        2. Der Timeout ist zu knapp. Vielleicht einfach in Zeile 56 den Timeout mal erhöhen. Andere hatten da auch schon teilweise Probleme.

        Reply
        1. Nico

          Den Timeout hatte ich auch schon höher gesetzt, kam trotzdem nur ein Error. Und wie gesagt, mit´m Hotspot gings auch nicht. Router hab ich ´n Speedport W501V. Mac-Filter ist da aus, und andere Einstellmöglichkeiten, hab ich da glaube nicht groß.

          Reply
          1. Klaus

            Was kommt denn, wenn Du nach dem Ping Error
            AT+CWJAP?
            und
            at+CIPSTA?
            eingibst?

          2. Nico

            Beides mal kommt ERROR

          3. Nico

            Kommando zurück:

            AT+CWJAP?
            +CWJAP:”SpeedportW501V”

            OK
            AT+CIPSTA?
            +CIPSTA:ip:”192.168.92.82″
            +CIPSTA:gateway:”192.168.92.254″
            +CIPSTA:netmask:”255.255.255.0″

            OK

          4. Nico

            Und jetzt?
            Bekomme kein Ping OK

  10. kud

    Also ich habe esrt heute am 5. aufgebaut.
    Das Zusammenstecken ist schon eine Herausforderung!!
    Ohne das ich vorher Steckpfosten “reingeschlagen” habe ging das Board nicht rein…. reine Qualitätsfrage. Aber dafür scheinen die Kontakte recht gut zu sein.
    Das Verbinden mit dem Wlan geht auf meiner Fritzbox 7490 nur im Mode 3 !!!!!!
    Wlanname und Passwort mit Anführungsstrichen über der “2” eingeben.

    Reply
  11. Leuchten

    Hallo,

    wir haben das Problem, dass das Programm vom 2. Tag nicht funktioniert (wird denken das zumindest). Fehlermeldung wie bei Jakob:

    Reset OK
    CWMODE OK
    WLAN Connect Error
    Ping Error

    ERROR

    Allerdings hat es am Tag 1 funktioniert mit dem Verbinden zum WLAN und wenn wir die WLAN-Verbindung und den Ping manuell machen, funktioniert es. Den Router haben wir kontrolliert, er lässt neue Geräte zu. Die Firewall haben wir auch schon ausgeschaltet, aber es ändert nicht. Das Betriebssystem ist Windows 10, Arduino 1.6.5. Es wäre nett, wenn uns einer helfen könnte.

    Reply
    1. fk (Post author)

      Hi,
      wenn Tippfehler in WLAN-Namen und Passwort ausgeschlossen sind, versucht mal die Zeile 45 im Arduino Programm von
      esp8266.setTimeout(20000);
      in
      esp8266.setTimeout(60000);
      umzuändern. Damit gebt ihr dem Modul mehr Zeit sich mit dem Router zu verbinden.

      Reply
      1. Leuchten

        Hi,

        vielen Dank mit dem längeren Timeout klappt es, aber nur wenn man auch für den Ping den Timeout höher setzt (1000 > 6000).

        Reply
  12. Lou

    Hey, ich habe folgendes Problem. Alles klappt bislang, aber was ich nicht schaffe hinzukriegen ist dass statt einem roten ein grünes Licht leuchtet. Hat jemand einen Tipp, wie ich testen könnte, was das nun bedeutet, um das zu beheben? Danke!!

    Reply
  13. Hey-Ard

    Hilfe – was muss ich tun

    exit status 1
    stray ‘\342’ in program

    Dieser Report hätte mehr Informationen mit
    “Ausführliche Ausgabe während der Kompilierung”
    aktiviert in Datei > Einstellungen.

    Reply
    1. SmenTrick

      Wenn etwas mit Backslash beginnt, handelt es sich oft um ein Sonderzeichen, das sich eingeschmuggelt hat.
      Laut Google-Suche bezüglich “stray \342” scheint das auch hier der Fall zu sein.
      Geh mal deine Anführungszeichen, im Code, durch und ersetze sie durch die Klassischen ([SHIFT]+2). Auch wenn da schon eines steht, einfach löschen und neu hinschreiben.
      Klingt seltsam, is aber so ;)

      Reply
      1. Hey-Ard

        Danke – Das war der Fehler

        Jetzt erscheint die Fehlermeldung:
        avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xe0

        Wer weiß was?

        Reply
        1. SmenTrick

          Ehrlich gesagt: keine Ahnung.
          Aber vielleicht hilft dir dieser Link weiter:

          http://m.instructables.com/id/A-solution-to-avrdude-stk500getsync-not-in-syn/

          Reply
        2. fk (Post author)

          Hi,
          der Fehler kommt oft vor, wenn man vergessen hat den richtigen Controller vorher einzustellen :)

          Reply
          1. Hwy-Ard

            Das wars Danke

  14. Jannes

    Ich kam leider erst heute dazu das Programm vom ersten Tag zu machen. wenn ich es starte, dann kommt leider nur dieser Fehlercode:(

    Der Sketch verwendet 3.764 Bytes (11%) des Programmspeicherplatzes. Das Maximum sind 32.256 Bytes.
    Globale Variablen verwenden 317 Bytes (15%) des dynamischen Speichers, 1.731 Bytes für lokale Variablen verbleiben. Das Maximum sind 2.048 Bytes.
    avrdude: ser_open(): can’t open device “\\.\COM1”: Das System kann die angegebene Datei nicht finden.

    Reply
    1. SmenTrick

      Unter “Tools” den richtigen Port auswählen, dann geht es.
      Normalerweise zeigt er da nur die Ports an, an denen ein/der Controller hängt. Sollten mehr da sein, im Hardwaremanager prüfen an Welchem der Nano hängt.
      Sollte der Punkt “ausgegraut” sein, dann hat sich das Board anscheinend noch nicht mal am System angemeldet. In dem Fall: Controller ab/an stecken, Kabel prüfen/wechseln, USB-Port wechseln, nochmal Hier fragen ;)

      Reply
  15. Madcow

    Ich musste den ersten Timeout auf 10s erhöhen damit alles funktioniert:

    esp8266.setTimeout(10000);

    sonst kam “Reset Error”

    Reply
  16. Shew

    Ich hatte das komische Ergebnis, dass zwar die Verbindung mit dem Netzwerk einen Error gebracht hat, der Ping aber OK war.

    Beim händischen Eintippen (mit dem Programm von gestern) war die Verbindung innerhalb kurzer Zeit da.

    Ich habe jetzt einfach eine kurze Pause zwischen der Modus-Einstellung und der Verbindung eingefügt und jetzt ist auch die Verbindung OK.

    //WLAN-Modus = Station
    esp8266.setTimeout(1000);
    esp8266.println(“AT+CWMODE=1”);
    if (esp8266.find(“OK”)) {
    Serial.println(“CWMODE OK”);
    }
    else
    {
    Serial.println(“CWMODE Error”);
    }
    // kurz warten
    delay(1000);
    //Connect to WLAN, long Timeout
    esp8266.setTimeout(20000);
    esp8266.println(“AT+CWJAP=\”” + String(SSID) + “\”,\”” + String(PASSWORD) + “\””);

    Reply
  17. ChrisR_ocks

    Also erstmal großes Kompliment, es ist erst der zweite Tag und ich bin schon vollends begeistert, weiter so :)
    Der Kalender passt PERFEKT da ich ein ähnliches Arduino Modell demnächst für die Arbeit analysieren werde und so schonmal erste Schritte machen kann :)

    Ein kleines ABER habe ich aber schon, ich finde, wie schon einige festgestellt haben, auch dass das reindrücken in das Steckboard wirklich kritisch ist, ich glaube mein Board ist dabei fast gebrochen, kann mir vorstellen das der ein oder andere da ein frühes tragisches Ende seines experimentellen Advents haben wird :(
    Oder gibt es einen Trick den ich übersehe? Mit sanfter Gewalt hats nicht geklappt. Nur mit fast schon roher Gewalt ging das Board rein, wobei ich mir selbst die Finger an den Pin Enden etwas angeritzt hab.. ^^

    Vielleicht mal checken.

    Ansonsten wie gesagt bisher alles eine tolle Sache :)

    Reply
    1. ChrisR_ocks

      …Was mir noch einfällt.

      Ich fände eine Art “Advanced Version” zu dieser Anleitung sehr cool. Der Ansatz an sich ist super, man hat schnelle Erfolge und kann sehr gut sehen was geht anhand der Anleitung. Fände es aber schön wenn noch ein paar Möglichkeiten und Anregungen gegeben werden. Klar kann man sich dazu unzählige Links googlen aber dazu braucht man, gerade im jetztigen Stadium doch schon etwas mehr “Arduion Insiderwissen”. :)

      Reply
  18. Ulrich

    Hallo,
    war schoen hier zu lesen ich dachte schon das ich der einzige bin der so seine Probleme hatte, aber bei mir befand sich das Problem wie so oft zwischen Monitor und Stuhllehne, ich hatte einfach die SSID falsch abgeschrieben danach fukte alles uebrigens nicht nur mit Goo–e sondern auch mit heise…

    fuer Ubunut menschen die ttyUSB0 braucht root bzw. sudo rechte aber das war ja thema am ersten tag…

    Reply
  19. Manuel

    Bei mir geht es nicht es kommt über all error

    Reply
    1. Nikdro

      Steht im seriellen Monitor wirklich nur „ERROR“?

      Eigentlich sind die Ausgaben so gebaut, dass Sie entweder „Ping Eroor“ oder „WLAN Connect Error“ oder ähnliches ausgeben…

      Reply
      1. Manuel

        es kommt nur bei ping und wlan connect error

        Reply
    2. Manuel

      Und wenn der IoT nicht am Pc angeschlossen ist funktioniert gar nichts

      Reply
      1. Nikdro

        Hat der Sketch von gestern denn funktioniert?
        Wichtig ist, dass die Einstellungen in der Software korrekt gesetzt werden. Eventuell hat sich ja der Serielle Port geändert oder die Einstellung des Platinenart ist zurückgesprungen.

        Versuch doch einfach mal den Sketch von gestern zum laufen zu bekommen. ;-)

        Sobald in der Software steht “Hochladen erfolgreich” sollte eigentlich alles klappen :)

        Reply
  20. Robert

    Gibt es eine Möglichkeit Gatway, DNS und Subnet-Mask einzutragen?

    Reply
    1. Robert

      Falls noch jemand dieses Problem haben sollte, möchte ich einen Teil meiner Frage selber beantworten. Mit dem Kommando:
      AT+CIPSTA?
      erhält man sowohl die aktuelle IP, wie auch die Gateway-Adresse und die Netmask. Setzen kann man die Werte indem man sie in einem Kommando absetzt hintereinander gereiht absetzt. Das Kommando würde dann in etwa so aussehen:
      AT+CIPSTA=”192.168.1.10″,”192.168.1.254″,”255.255.255.0″
      Jetzt stellt sich mir nur mehr die Frage, wie ich den DNS eintragen kann?

      Reply
      1. Klaus
        1. Robert

          Danke für die Info. Das habe ich fast befürchtet.
          Ist aber kein großes Problem, dann regle ich das übers Gateway.

          Reply
  21. Michael06

    Die Verbindung (WLan) über Programm vom 1 Tag (Handeingabe)hat funktioniert. Leider geht die Verbindung
    über Programm vom Tag2 nicht.Selbst Eingabe der SSD und Passwort in das Programm funktioniert es nicht,keine Verbindung zum WLan ???

    Reply
    1. Nikdro

      Wie äußert sich das beschriebene Verhalten denn?
      Gibt es eine Fehlermeldung im seriellen Monitor? Wenn ja, welche?

      Hast du die SSID und das Passwort in den ersten Zeilen des Sketch’s definiert? (zwischen den Gänsefüßchen)

      Reply
  22. yannick2000

    Wenn ich den Arduino Nano verwende, versucht mein Computer mithilfe von diesem Verbindung zum Internet aufzunehmen. Mein WlanStick wird “ignoriert”. Ich habe also nur die Möglichkeit entweder am Arduino zu experimentieren oder mich mit dem Internet zu verbinden via WlanStick (Arduino muss dabei ausgesteckt sein).
    Ich verwende Win8.1
    Wenn jemand einen Lösungsansatz o.ä. hat, wäre ich ihm sehr verbunden wenn er mir diesen mitteilt.

    Reply
    1. Andreas

      Windows verbindet sich gerne automatisch zu jedem WLAN, das in Reichweite ist und zu dem mindestens schon einmal eine erfolgreiche Verbindung hergestellt wurde. Wenn man das für bestimmte Netzwerke nicht haben möchte, muss man es explizit wieder abstellen.

      Bei den meisten Windows-Versionen kann man dazu einfach in der Liste der verfügbaren WLANs auf das entsprechende Netzwerk mit der rechten Maustaste klicken und die Option “Automatisch verbinden” abwählen.

      Ausgerechnet bei Win 8.1 scheint das offenbar etwas komplizierter zu sein. Aber der folgende Link sollte hier hoffentlich weiterhelfen:

      http://netzmonster.de/windows-8/tipps-a-tricks/217-windows-8-wlan-verbindungen-deaktivieren#W81

      Reply
  23. carsten44339

    Hallo zusammen,

    leider verbindet sich mein ESP8266 nicht mehr mit meiner FritzBox. Weder über den Day2-Sketch noch über direkte AT Befehle. In der FritzBox wird eine WLAN Anmeldung protokolliert. Wenige Sekunden später meldet sich das ESP wieder ab.

    Gestern hat die Verbindung noch funktioniert.
    Hat jemand eine Idee?

    FritzBox Log:

    20:01:50 WLAN-Gerät hat sich abgemeldet (2,4 GHz). MAC-Adresse: 18:FE:34:A5:26:82.

    20:01:36 WLAN-Gerät angemeldet (2,4 GHz). Geschwindigkeit 72 Mbit/s. MAC-Adresse: 18:FE:34:A5:26:82.

    Ausgabe Day2-Sketch:

    Reset OK
    CWMODE OK
    WLAN Connect Error

    Rückmeldung AT-Befehl:

    AT+CWJAP=”Dob_connect2.4Ghz_OG”,”**Passwort**”

    +CWJAP:1

    FAIL

    Reply
    1. Markus Ortner

      Ich hatte das gleiche Problem.
      Ich konnte das Problem erst lösen, als ich auf die Verschlüsselung WPA(TKIP) in der Fritz!Box umgestellt habe. Dann kam endlich auch WLAN Connect OK und Ping OK

      Reply
  24. Turnfin

    klasse Sache mit dem Kalender,
    Day 1 funktioniert alles.
    nun meine Frage:
    Day 2 komm ich nicht auf den Router.
    da er die Mac Adresse wissen muss.
    Wie lese ich die Mac Adresse aus ?
    vielen Dank

    Reply
    1. Robert

      Hallo Turnfin, die gleiche Frage habe ich erst kürzlich gestellt und die Antwort lautet:
      AT+CIFSR

      Nikdro hat mir den Tipp gegeben und hier sieht man sowohl die MAC-Adresse wie auch die IP-Adresse.
      Gruß
      Robert

      Der Befehl lautet AT+CIFSR

      Reply
      1. Turnfin

        Vielen Dank Robert und Nikdro

        Day 2 funktioniert

        Gruß Turnfin

        Reply
      2. Robert

        Falls es noch jemanden interessiert, man kann die MAC-Adresse auch direkt abfragen. Das Kommando lautet: AT+CIPSTAMAC?

        Reply
  25. Niklas

    Hallo

    wenn ich es versuche steht da nur:

    Reset OK
    CWMODE OK
    WLAN Connect OK
    Ping OK

    AT+PING=“www.google.de“

    ERROR

    ich habe null ahnung was ich falsch mache

    Reply
    1. Simon

      Hast du eine Firewall aktiv?
      Wenn du eine Verbindung mit dem WLAN herstellen kannst, wird das wohl von irgendetwas blockiert…

      Reply
      1. Niklas

        Hab die firewall deaktiviert aber irgendwas blockiert immer noch.

        Reply
  26. Andreas

    Fehlt da nicht die int main()-funktion ? Sind dies alles nur überladene Funktionen aus dieser einen header-datei ?

    Aber ohne main auch kein aufruf… Ich sollte mir wohl echt mal die header-datei ansehen.

    Reply
    1. Raabinator

      Es gibt eine Main-Funktion. Die ist aber im Kern der Arduino-Software versteckt. Die Funktion Setup wird aus dieser Main genau ein mal aufgerufen. Loop wird zyklisch in einer Endlosschleife aufgerufen.

      Reply
  27. Harry

    Hallo,

    woran kann es liegen, wenn der SERIELLE MONITOR nichts anzeigt?
    Man sieht ein kurzes Aufleuchten einer kleinen roten LED. BAUD 19200 / CR und NL ist eingestellt.

    Danke!

    Reply
  28. Robert

    Hallo miteinander,
    kann mir bitte jemand sagen, wie ich die MAC-Adresse des WLAN-Moduls abfragen bzw. herausfinden kann? Ich benötige diese zur Freischaltung in der Firewall.
    Gruß
    Robert

    Reply
    1. Nikdro

      Der Befehl lautet AT+CIFSR

      Wenn das mit dem Sketch von heute nicht will, dann versuch es mit dem von gestern :)

      Reply
      1. Robert

        Super, besten Dank. Die Antwort lag ja auf der Hand, dass bei der IP-Adressenabfrage auch die MAC-Adresse mit rauskommt habe ich aber total übersehen.
        Gruß
        Robert

        Reply
  29. SONNE21

    Bei mir wird im Seriellen Monitor nur ein error ausgegeben :-(

    Reply
    1. Nikdro

      Hast du die Defines am Anfang korrekt?
      #define SSID “Mein-WLAN”
      #define PASSWORD “Mein-Passwort”

      Steht im seriellen Monitor wirklich nur “ERROR”?
      Eigentlich sind die Ausgaben so gebaut, dass Sie entweder “Ping Eroor” oder “WLAN Connect Error” oder ähnliches ausgeben…

      Reply
      1. Nikdro

        Die “” müssen natürlich wie im Sketch bereits vorhanden beide oben sein.

        Das Blogsystem hier baut die immer eigenwillig um >.<

        Reply
  30. anonym

    bei mir hat com 4 geklappt

    Reply
    1. Raabinator

      Es muss nicht zwangsweise COM4 sein. Je nach dem, wieviele Geräte bereits verbunden waren, auch Bluetooth-Geräte möglich, vergibt das System die nächste Nummer. Daher am Besten im Gerätemanager nachschauen.

      Reply
  31. Skyflori14

    Hallo ihr lieben
    Ich weiß nicht wie des denn bei euch ist aber bei mir funktioniert des mal und mal net.Vorallem aber geht AT+PING nicht löst dann einen Error aus. A weiß ich nicht ob man die Firewall jetzt deaktivieren muss oder nicht und B kann mir irgendwer was gegen die Instabilität sagen den mal gibt es eine RESET Error und dann gibt es manchmal einen WLAN Error

    Reply
    1. Raabinator

      Hast du denn auch die aktuelle Arduino-IDE 1.6.6 verwendet?
      In älteren Versionen hat wohl die verwendete Software-Serial Library irgendwelche Timing-Probleme. Daurch versteht der WLAN-Chip deine durch das Programm gesendeten Befehle nicht richtig.
      Hab’s auch zuerst mit der vorhandenen 1.6.0 versucht, ohne viel Erfolg. Mit 1.6.6 war alles OK.

      Reply
      1. Klaus

        Ich habe die Version 1.6.5-r5 (gerade erst von der Homepage aus den alten Versionen herunter geladen). Damit läuft es auch.
        Grund für die ältere Version bei mir ist, dass ich weitere Module habe, die man damit direkt programmieren kann.

        Reply
  32. Markus

    Habe alles ausprobiert was ich wollte:
    OK
    AT+PING=”www.google.de”

    +32

    OK
    AT+PING=”www.stephaneum.de”

    +36

    OK
    AT+PING=”www.LEGO.com

    ERROR
    AT+PING=”www.LEGO.de”

    +34

    OK
    alles funktioniert einwandfrei, außer die D3 leuchtet nicht. ;-)

    Reply
    1. Raabinator

      Die LED leuchtet nur, wenn der Ping durch das Programm ausgeführt wird. Wenn du die Befehle selber von Hand eingibst weiss die LED nix davon. Siehe auch weiter oben, da ist es irgendwo beschrieben.

      Reply
  33. Kola

    Wenn ich – wie bei Day-1 – den Standardzugang meiner FritzBox mit AT+CWJAP=… verbinden will, erscheint die Meldung: +CWJAP:3 und FAIL. Nach dem Einrichten eines Gastzuganges in meiner FritzBox klappt die Verbindung. Was bedeutet diese Meldung CWJAP:3 und wie kann ich trotzdem eine Verbindung über den üblichen Zugang herstellen?

    Reply
    1. Tom

      Ich bekam zuerst die ähnliche Meldung CWJAP:4, bis mir eingefallen ist, dass mein WLAN-Router nur bekannte MAC-Adressen zulässt.
      Also MAC-Adresse (über AT+CIFSR auslesen) im Router eingetragen, und schon klappt es.

      Reply
  34. Markus

    Bei mir leuchtet D3 nicht obwohl bei mir steht:

    AT+PING=”www.google.de”
    +31

    OK

    was soll ich tun?

    Reply
    1. Jonathan

      Nur wenn das Programm gestartet wird leuchtet die LED D3.
      Bei Eingabe von AT+PING=“www.google.de“ kommt OK für positiven Ping aber die LED kann nicht leuchten. Ich War auch genauso gestolpert.

      Reply
  35. Flo

    Ist es möglich, den NanoEsp als Wlan-Repeater zu benutzen? Also, dass sich der NanoEsp mit einem Wlan verbindet und man selbst sich mit dem Esp? Wär dann nähmlich seher cool als tragbarer Repeater, der sich immer automatisch mit dem nächstbesten Wlan verbidet, dass er kennt :D

    Reply
    1. Raabinator

      Das würde eine sehr langsame Geschichte werden. Meine Fritz!Box zeigt als Datenrate 28MBit Download und 1MBit Upload an. Sind zwei Wände dazwischen, aber der Upload wird bei dem “kleinen” Chip wohl nicht besser werden.

      Reply
      1. Raabinator

        Aber für iot ist 1MBit mehr als ausreichend!
        Die Verbindung zum Controller ist selbst ja nur 19200 Baud “schnell” (ca. 19.2kBit/s).

        Reply
      2. Flo

        Mag sein aber trotzdem: Was muss ich machen, damit die gefragten Daten vom Wlan zum Esp und vom Esp zum Endgerät kommen? Das ist mir unklar

        Reply
        1. Andy

          Das würde mich auch interessieren.
          Hab schon danach im Netz gesucht, aber nichts gefunden. :-(

          Reply
        2. SmenTrick

          Um da zu Helfen braucht es eine etwas genauere Beschreibung.
          Welche Daten meinst du?
          Welches Endgerät meinst du?

          Reply
  36. Torben

    Ich finde es Schade, dass man sich die Programme nur runterlädt und dann auf das Board hochlädt und dann nen Befehl eingibt(wenn überhaupt). Ich fände es schöner, wenn in der Anleitung auch beschrieben wird, wie man so ein Programm programmiert.

    Reply
    1. GRV

      Ist doch ein schöner Anfang. Trau dich ruhig, die Programme zu erweitern bzw. umzuschreiben.

      Reply
  37. lallellö

    Warum werden an Tag 1 die Befehle ( z.B. esp.println(„AT“);) im Serial Monitor ausgegeben und an Tag 2 nicht mehr? Liegt es vielleicht an den TimeOuts?

    Reply
    1. Juergen

      Da es ein ganz neues und anderes Programm ist. Einfach mal die zwei Programme vergleichen und schauen was sie machen. Das Programm heute hat alle „AT-Befehle“ schon eingebaut und sendet diese automatisch an den WIFI-Chip. Auch die Antwort wird „abgefangen“ und über ein IF als ERROR oder OK ausgegeben.

      Reply
  38. Tobias

    Hallo zusammen!

    Soweit hat alles geklappt. Nur wenn ich den Monitor öffne bekomme ich folgende Meldung

    Reset OK
    CWMODE OK
    WLAN Connect OK
    Ping Error

    Warum “Ping Error”? Auch wenn ich über AT+PING=”….” etwas anpinge bekomme ich einen Error. Wie kann ich das beheben?

    Schonmal vielen Dank im voraus für eine Antwort!

    Liebe Grüße
    Tobi

    Reply
    1. Tobias

      Hab mal den Tipp von Kartoffel Barbosa ausprobiert.

      Nachdem ich mit meinem Samsung einen mobilen Hotspot eingerichtet hab und mit diesen verbunden habe funktioniert alles einwandfrei!

      Was muss ich an meinen Einstellungen ändern, damit das alles auch in meinem “normalen” WLAN funktioniert?

      LG
      Tobi

      Reply
      1. fk (Post author)

        Hi,
        eventuell musst du das Timeout für den Ping-Befehl höher setzten. Alternativ kannst du auch zuerst eine andere Webseite teste, z.b. Heise.de

        Reply
  39. anonym

    Warum werden an Tag 1 die Befehle ( z.B. esp.println(“AT”);) im Serial Monitor ausgegeben und an Tag 2 nicht mehr? Liegt es vielleicht an den TimeOuts?

    Reply
    1. Juergen

      Da es ein ganz neues und anderes Programm ist. Einfach mal die zwei Programme vergleichen und schauen was sie machen. Das Programm heute hat alle “AT-Befehle” schon eingebaut und sendet diese automatisch an den WIFI-Chip. Auch die Antwort wird “abgefangen” und über ein IF als ERROR oder OK ausgegeben.

      Reply
  40. anonym

    Bei mir leuchtet nachdem ich AT+PING eingegeben hab D3 aber im Serial Monitor steht ERROR was könte das Proplem sein?

    Reply
    1. SmenTrick

      Möglicherweise das “Timing” der Befehle. Wenn das Programm Day2 im Controller geladen ist, führt er selbständig “Reset”, “Mode”, “Connect” und “Ping” aus. Du musst eigentlich nix mehr machen ausser die Console auf und warten.
      Wenn du doch einen “AT”-Befehl eingibst, dann wird dieser brav weiter gegeben. Das heißt den ” Error” und das Lämpchen hast entweder Du oder das Programm verursacht.
      Einfach mal draufladen, Console auf, zurück lehnen. Wenn dann “Error” kommt stimmt wirklich was nicht.

      Reply
      1. anonym

        Danke für die scnelle Andwort nachdem ich das Prgramm raufgeladen habe kommt:
        Reset OK
        CWMODE OK
        WLAN Connect OK
        Ping OK
        aber wenn ich dann noch AT+PING eingieb kommt ein error ist das normal?

        Reply
        1. Anonym

          Du musst AT+PING=”www.irgendeineinternetseite.de” eingeben, sonst hat er ja nichts zum anpingen

          Reply
          1. anonym

            Danke! Jetzt Funktioniert es!

  41. Aironout

    Hallo Zusammen,

    ich habe mir den IoT-Adventskalender gekauft, weil ich gerne einen Einblick in die Programmierung und Hardwaremöglichkeiten von so einem Arduino-Board gewinnen wollte. Bin heute am Tag Zwei Feuer und Flamme für das Projekt.

    Gibt es irgendwo online eine Beschreibung von Programmierbefehlen, die man in den Programmen für den Arduino Nano verwenden kann? Ich habe Programmiererfahrungen in (Visual-)BASIC, Maschinensprache und HTML/JavaScript, bringe also grundsätzliches Verständnis für Programmstrukturen mit (Variablen, Schleifen, Bedingungen, etc…), aber C/C++ stehe ich bisher noch eher unbedarft gegenüber.
    Hat jemand von den Profis hier einen Vorschlag?
    Danke im Voraus, und viel Spaß weiter mit dem Arduino!

    Reply
    1. Rainer

      Hallo Aironaut,

      einfach mal aus der Arduino IDE über den Menüpunkt Hilfe die Referenz aufrufen.

      Dort werden alle Befehle mit Beispielen aufgelistet, auch die Bibliotheken werden erklärt.

      Viel Spaß weiterhin,

      Rainer

      Reply
      1. Aironout

        Hi Rainer,

        vielen Dank, das werde ich morgen nach Tür 3 gleich mal ausprobieren!

        Viele Grüße, und schöne Feiertage,
        Aironout

        Reply
    2. Raabinator

      http://www.arduino.cc -> Learning -> Getting Started/Tutorials/Reference

      Reply
      1. Raabinator

        Ansonsten Tante Google fragen nach “C++ Tutorial”. Bringt viele gute Treffer.

        Reply
        1. Aironout

          Ach, übrigens:
          Ja, auch ich kenne Tante Google, aber ich hatte gehofft, dass es in der C++ Szene ein empfehlenswertes Tut gibt, welches die Profis uns Anfängern besoders ans Herz legen, für Javascript gab es da mal was.
          Nix für Ungut…;)
          Grüße,
          Aironout

          Reply
      2. Aironout

        Hallo Raabinator,

        Jup, das probiere ich morgen zusammen mit dem Gimmick von Tür 3 mal aus.
        HaBe auch heute schon mal das Programm erweitert, erstmal die Korrektur mit ‘(char *)’, damit der Compiler fehlerfrei durchläuft, dann ‘sinnvollere’ Statusausgaben (mit print und println), und schlussendlich 2 neue voids, die die LED morsen lassen, ob eine Routine fehlerfrei oder mit Problemen abgeschlossen hat. Soviel habe ich dann doch noch in C++ zusammenbekommen…;)

        Viele Grüße, und schöne Feiertage,
        Aironout

        Reply
  42. Jakob

    Bekomme einfach keine Verbindung mit dem Wlan auch an Tag 1 ging nur Wlan als Acess Point aber nicht die Verbindung mit dem Wlan Router weiß jemand woran das liegen könnte?

    Reply
    1. Raabinator

      – Tippfehler bei SSID und/oder Passwort (Groß-/Kleinschreibung)
      – MAC-Filter im Router (“nur bekannte WLAN-Geräte zulassen” oder ähnlich)
      – Router im anderen Frequenzband 5GHz statt 2.4GHz
      – Außer Reichweite

      Reply
      1. Jakob

        Ich kann mir das einfach nicht erklären mindestens 20 mal probiert Tippfehler kann nicht seine im router sind alle Geräte zulassen eingestellt und es ist ein 2.4 GHz Router und er steht daneben habe es auch mal mit dem mobilen hotspot in meinem handy probiert klappt aber auch nicht. Ich muss das ja irgendwie hinbekommen sonst stehe ich in den folgenden tagen dumm da wenn man das braucht! Hat vielleicht noch jemand Ideen?!

        Reply
        1. Raabinator

          Vielleicht sollten wir mal ganz von vorne beginnen. Denn im “Accesspoint-Modus” ist das WLAN Modul wohl ganz von alleine.

          Ist denn das Programm überhaupt im Controller angekommen?
          Nach dem Download muss im Monitor zumindest mal “Reset OK” oder “Reset ERROR” erscheinen.
          Kommt das schon nicht, hast du wohl ein anderes Problem.

          Reply
          1. Jakob

            Die Sachen am Anfang kommen,der Rest kommt auch mit Wlan Connect und sso aber nur mit failed anstatt OK. Also das Programm muss im Controller sein.

          2. Jakob

            Es wird einfach das hier ausgegeben:
            Reset OK
            CWMODE OK
            WLAN Connect Error
            Ping Error

            ERROR

          3. Raabinator

            Hmmm, dann kann er sich nicht mit deinem Router verbinden.
            Versuch mal AT+CWLAP.
            Damit müssten die verfügbaren Netze aufgelistet werden. Sieh mal nach, ob deines dabei ist (gleiche SSID wie im Router).

          4. Raabinator

            Interessant wäre auch die Zahl, die vor der SSID ausgegeben wird. Diese gibt das Verschlüsselungsverfahren an. Möglicherweise wird deines nicht unterstützt (veraltetes WPA?).
            Möglicherweise könnte der Autor Aufklärung darüber geben, welche Verfahren unterstützt werden.

          5. Klaus

            Leider kann ich unten nicht antworten, deshalb hier:
            Die Befehlsliste kann man sich hier ansehen:
            http://4tronix.co.uk/files/ESP8266_AT_Instruction_Set_v0_22.pdf

            Darin sieht man, dass das Modul auch WPA_PSK unterstützt, sogar WEP und keine Verschlüsselung.
            Einzig WPA(2) Enterprise unterstützt es nicht. Das dürfte aber niemand zuhause haben, dafür ist ein Authentifizierungsserver nötig und wird normalerweise nur in Firmennetzen eingesetzt.

  43. Ding

    Hallo,
    ich habe Fragen zu den Funktionen:

    boolean sendCom(String command, char respond[])

    String sendCom(String command)

    void debug(String Msg)

    1) Wodurch werden die aufgerufen ?
    2) Was sollen die bewirken ?
    3) Wieso haben zwei Funktionen den gleichen Namen ?

    Gruß Ding

    Reply
    1. Raabinator

      1) In dieser Version werden die gar nicht aufgerufen. Hat der Autor wohl vergessen zu löschen.
      2) … (hab ich nur kurz überflogen) …
      3) Das nennt man in C++ “überladen”. Der Compiler entscheidet dann anhand der Typen und Anzahl derParameter (das in Klammern) welche Funktion gemeint ist.

      Reply
      1. Ding

        Danke für die schnelle Antwort !

        Reply
      2. Raabinator

        zu 2.)
        – boolean sendCom(String command, char respond[])
        Sendet einen Kommando-String an das WLAN-Modul und sucht in dessen Antwort nach den String “ERROR”. Gibt true oder false zurück, je nach dem ob das Kommando erfolgreich war.
        – String sendCom(String command)
        Sendet einen Kommando-String und gibt die Antwort des Moduls als Ergebnis zurück.
        – void debug(String Msg)
        Ist eine Hilfsfunktion zur Fehlersuche. Ergibt der weiter oben definierte Ausdruck DEBUG true, dann wird der übergebene Text zum Monitor gesendet. Damit kann man sich Ausgaben zur Fehlersuche machen lassen, die später dann durch ändern einer einzigen Code-Stelle (dem #define oben) deaktiviert werden können.

        Reply
  44. Tanja

    Wenn das NanoESP-Board mit dem PC über USB verbunden ist, dann muss im Geräte Manager von W7 unter Ports ein Eintrag “USB-Serial CH340 (COM3)” erscheinen.

    Reply
    1. Harry

      Im Gerätemanager passiert beim Einstecken des Boards gar nichts …!?

      Reply
      1. Toni Taste

        Muss aber! Nimm mal einen anderen USB-Port. Wenn du hast auch einen Hub. Wahrscheinlich ein Treiberfehler.
        Aktiviere mal im Geräte-Manager unter Ansicht –> ausgeblendete Geräte anzeigen. Gibt es da ein CH340, ggf. restlos löschen und Treiber von der Homepage hier neu installieren.

        Reply
      2. Raabinator

        Evtl. ein anderes USB-Kabel verwenden. Bei manchen billigen “Ladekabeln” sind die Datenleitungen nicht durchgeführt!

        Reply
      3. Tanja

        @Harry:
        – anderes Kabel nehmen
        – andere USB Ports ausprobieren

        Wenn beides nichts bringt: Werden andere USB Geräte am Rechner erkannt? Evtl. das NanoESP-Board mit einem anderen PC verbinden.

        Selbst wenn ein Treiber nicht vorhanden ist, muss das NanoESP-Board im Geräte Manager auftauchen. Geräte ohne Treiber erscheinen unter “Andere Geräte” mit einem gelben Fragezeichen + schwarzes Ausrufezeichen.

        Reply
    2. Harry

      Vielleicht mache ich ja beim starten des USB-Treibers etwas falsch. Der sagt aber: “succesfully installed”

      Reply
      1. Toni Taste

        Admin-Rechte?

        Reply
  45. Harry

    Hallo Tekkies,

    uch brauch dringend Hilfe …
    Bei mir funzt das vom Day 1 noch nicht.
    Komme nicht weiter!

    Arduino 1.6.6 Windows
    Treiber CH341SER für USB ist installiert.

    Der Sketch lässt sich nicht auf das Board laden.
    Serieller Monitor lässt sich nicht laden.

    Fehlermeldung:
    Arduino: 1.6.6 (Windows 7), Board: „Arduino Nano, ATmega328“

    Der Sketch verwendet 450 Bytes (1%) des Programmspeicherplatzes. Das Maximum sind 30.720 Bytes.
    Globale Variablen verwenden 9 Bytes (0%) des dynamischen Speichers, 2.039 Bytes für lokale Variablen verbleiben. Das Maximum sind 2.048 Bytes.

    avrdude: ser_open(): can’t open device „\\.\COM3“: Das Zeitlimit für die Semaphore wurde erreicht.

    Fehler beim Öffnen des seriellen Ports “COM3”. (Port busy)

    Kann mir bitte jemand helfen?
    Schicke Euch auch gerne meine Tel.#

    Grüße Harry

    Reply
    1. Tanja

      @ Harry: Hast Du das hier gemacht?

      Einstellung am Serial Monitor vornehmen, nämlich unten rechts in der Ecke die Baudrate auf 19200 stellen und in der Box links daneben die Einstellung „CR und NL“ vornehmen.

      Zum Serial Monitor kommst du mit “Strg + Shift + M” oder vom Menü Tools -> Serial Monitor

      Reply
      1. Harry

        Danke Tanja,
        beim starten des Serial Monitors bekomme ich bereits eine Fehlermeldung

        Arduino: 1.6.6 (Windows 7), Board: “Arduino Nano, ATmega328”

        Fehler beim Öffnen des seriellen Ports “COM3”. (Port busy)

        Dieser Report hätte mehr Informationen mit
        “Ausführliche Ausgabe während der Kompilierung”
        aktiviert in Datei > Einstellungen.

        Reply
        1. fk (Post author)

          Es scheint als sei die Com-Schnittstelle bereits in Benutzung. Das kann daran liege, dass noch ein Serieller Monitor offen ist, wenn das Programm auf das Board hochgeladen werden soll. Am Besten alle Arduino-Fenster schließen, Programm neu öffnen und direkt auf Hochladen klicken, ohne den Seriellen Monitor vorher zu öffnen.

          Reply
      2. Raabinator

        Laut Ausgebe bekommt der AVRDUDE schon gar keine Verbindung zum Board. Somit kann die Software nicht geladen werden. Zu diesem Zeitpunkt sind also alle Versuche mit dem Monitor unnötig.

        Reply
  46. Jonathan

    @SmenTrick von 8:32 Uhr

    Danke für die ausführliche Erläuterung. Habe danach verstanden ;-)
    Dann ist es auch logisch. Nun leuchtet auch die LED D3. Hurra!

    Reply
  47. Kartoffel Barbosa

    Tut :-)

    Tipp:

    Wegen Proxy, Network, Firewall, Security, Compliance etc. tut der Firmen-WLan nicht.

    Stattdessen habe ich auf dem EiPhone einen Persoenlichen WLan-Hotspot eingerichtet und verwende den.

    Reply
  48. Rainer

    Hallo,

    Conrad verlangt schon ganz schön viel von uns :
    Kenntnis der Arduino IDE
    Kenntnis der Programmiersprache
    Kenntnis des PC und der benötigten Treiber
    Sorgfältiges Lesen der ( etwas dünnen ) Dokumentation und ggfs. eigene Recherche im Internet sind hilfreich, es gibt eine sehr aktive Arduino Community und auch zum ESP Module gibt es gute Dokumentation !

    Da ich schon länger mit den Arduinos arbeite und mein PC ( sowohl unter W7 und W10 ) entsprechend eingerichtet war, hatte ich bislang keine Probleme und sowhl Tag 1und Tag 2 haben auf Anhieb geklappt.
    Allerdings iust wohl das Timeout des ESP Modules etwas klein, http://www.spiegel.de und http://www.conrad.de geben ein Timeout, http://www.google.de und http://www.heise.de sind OK.

    Reply
  49. Klaus

    Es gibt kein Einrasten. Die Platine wird einfach mit den Stiften in die Löcher gedrückt. Man braucht schon etwas Kraftaufwand. Nur aufpassen, dass Ihr es nicht schief rein drückt. Aber es gibt nirgendwo eine Raste.

    Reply
  50. Schorschle

    also bei mir rastet auf dem board nix ein. das modul liegt quasi nur locker in den löchern drin. muss ich die klebefolie unten abziehen? gibt’s nen trick, wie das einrasten muss?

    Reply
    1. Chris

      Bei mir auch…

      Reply
    2. Juergen

      Es ist z.T. nicht einfach das richtige Gefühl zu bekommen mit wie viel Druck man auf einem solchen “Brett” arbeiten muss. Mein Vorschlag ist sucht euch ein Stück Kupferdraht oder Büroklammer und versucht diese erst einmal in ein solches Loch zu stecken. Dann könnt ihr fühlen wie viel Kraft pro Pin nötig wäre und wie sich der Draht bzw. Büroklammer im Brett verhakt. Beim Einsteck versuchen die Kräfte direkt auf die Steckerleiste zu setzen und weniger auf die Platine.

      Reply
      1. Schorschle

        Büroklammer, dein Freund und Helfer. Habe die notwendigen Löcher mit ner Büroklammer vorgepiekst, dann ging das Teil ohne Probleme rein. *freu*. danke für den Tipp!!!

        Reply
    3. Tanja

      Man muss schon kräftig drücken. Es gibt einen gewissen Anfangswiderstand der überwunden werden will. Zum Einen weil das Steckboard neu ist. Zum Anderen weil es zwei Steckerleisten sind mit insgesamt 30 Stiften sind, die alle gleichzeitig eingesteckt werden sollen.
      Anschließend liegt das NanoESP-Board mit dem schwarzen Kunststoff der Steckerleisten satt auf dem Steckboard auf.

      Reply
  51. Moritz

    Hi

    Muss man die software wider mit dem Arduino Programm öffnen?

    Reply
    1. Schorschle

      Hallo Moritz,

      ja. Runterladen, entpacken und dann in der Arduino-Software Öffnen. Wichtig ist, dass du im Programm die Werte #define SSID und PW zwischen den Anführungszeichen (diese nicht löschen!) durch Deine SSID (Name deines WLANs) und Dein Passwort ersetzt.

      Danach auf das Modul hochladen.

      Reply
  52. Kai

    Bei mir wird als Fehler oftmals

    warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

    ausgegeben.

    Was bedeutet das? Muss die Variable als char definiert werden?

    Reply
    1. Schorschle

      hast du versehentlich die Anführungszeichen bei #define SSID und PW gelöscht? die müssen bleiben, also:

      #define SSID “HierstehtdeinWLAN”
      #define PASSWORD “hierstehtdeinsupergeheimespasswort”

      Reply
    2. Hartmut

      Die Methoden find() und findUntil(), welche die Klasse SoftwareSerial von der Klasse Stream geerbt hat, haben als ersten Parameter ein char * (Zeiger auf eine Zachenkette-Variable). Dies signalisiert, dass die Methoden durchaus die Erlaubnis haben, die übergebene Variable zu verändern.

      Jetzt übergeben wir den Methoden aber eine String Konstante (“OK” oder “ready”) und zumindest ich möchte eigentlich nicht, dass diese Konstanten verändert werden. Zum Glück tun die Methoden das auch nicht, sollten dies aber auch mitteilen, indem der erste Parameter eben als const char * definiert wird. Da ich nicht diese mitgelieferten Bibliotheken verändern möchte, sage ich dem Compiler lieber: Hör mal zu, ich weiß was ich tue, indem ich die Konstanten als variable kennzeichne. In C/C++ heißt das typecast und geschieht dadurch, dass man den gewünschten Tyep davor schreibt. Also statt
      find(“OK”);
      schreibt man
      find((char *)”OK”);
      und schon ist die Warnung weg. Diese besagt ja nur: “Lieber Programmierer, ich mache da jetzt was für dich (eben genau diese Typumwandlung), aber bitte gehe mal davon aus, dass ich das in einer zukünftigen Version nicht mehr tue (deprecated).”

      Reply
      1. UW

        Danke! Super Hinweis. Wäre schon irgendwie cool gewesen, da von Anfang an sauberen Code im Beispiel zu haben, also mit (char*) oder klarer Typdefinition der Texte.

        Reply
  53. Jonathan

    Bei mir kommt

    AT+PING=”www.google.de”

    +18

    OK
    —-
    Aber die LED leuchtet nicht! Vermute die Firewall. Hab Aber noch keine Lösung.

    Reply
    1. Jonathan

      … LED D3 leuchtet nicht. Trotz Ausschalten der Firewall (kurzzeitig).

      Reply
      1. Grasi

        Hi,

        wenn AT+PING=”www.google.de” funktioniert, d.h. mit OK bestätigt wird, kann es nicht an der Firewall liegen. Du kommst ja nach draußen und bekommst auch eine Antwort zurück.

        Würde das Modul mal vom PC trenne und die Software vollständig schließen. Danach nochmal TAG 2 ausführen.

        Gruß

        Reply
        1. Schorschle

          habt ihr das Programm auf das modul mit hilfe der arduino-software hochgeladen?
          wenn ich mich händisch mit den befehlen einzeln mit meinem wlan verbinde, und dann Google pinge, leuchtet die LED bei mir auch nicht. wenn ich das DAY2-Programm ausführe, leuchtet die LED.

          Hat vielleicht mit den Timeouts zu tun …

          Reply
          1. SmenTrick

            Das Geheimniss liegt im Code:

            //Zuerst wird der Ping-Befehl, wie auf der Console, an das Modul geschickt:

            esp8266.println(“AT+PING=\”www.google.de\””);

            //Dann eine Sekunde gewartet
            delay(1000);

            //Und dann geprüft. Wenn (if) der esp “OK” zurück gibt
            if (esp8266.find(“OK”))

            //Dann …
            {
            //..gib “Ping OK” auf auf der Console aus und …
            Serial.println(“Ping OK”);
            //…setzte den Ausgang 13 auf HIGH. An diesem Ausgang hängt die LED.
            digitalWrite(13, HIGH);
            }

            //Ansonsten gib “Ping Error” auf der Konsole aus
            else
            {
            Serial.println(“Ping Error”);
            }

            Die Architektur ist ja “ESP CPU PC”. Am ersten Tag hat die CPU einfach nur die Befehle vom PC weiter gereicht. Hier führt Sie selbst Befehle aus. Das heist im oberen Beispiel:
            Die CPU gibt den Befehl zum Pingen. Der ESP gibt der CPU ein “OK” zurück. Bevor aber die CPU den OK (in veränderter Form) an den PC weiter gibt, schaltet diese noch die LED an.
            Langer Rede, kurzer Sinn: Wenn du, wie am Day1, den Befehl sebst per Console sendest, führt die CPU nicht den Befehl “digitalWrite(13, HIGH);” aus und schaltet deshalb die LED nicht HIGH.

            Hoffe jetzt ist alles Klar ;)

            PS an den Autor: ein “digitalWrite(13, LOW);” im ELSE-Case wäre elegant gewesen.

  54. Georg

    Muss NanoESP-Board im Steckboard einrasten?
    Ich traue mich nicht zu viel Kraft aufzuvenden. Andererseits steht das Nano-Board so locker auf dem Steckbrett, dass alleine das Gewicht des Micro-USB ausreicht das Adruino-Board in eine Schieflage zu versetzen.

    Reply
    1. Prof.Hydra

      keine sorge gerade von oben mit etwas druck bis es ganz drinnen ist dann sollte nix kaputtgehen

      Reply
    2. Martin

      Konnte es bei mir bündig reindrücken, also von den PINs sieht man nichts mehr, die sind komplett drin…
      Sanfte Gewalt :-)

      Reply
      1. Schorschle

        geht das dann auch wieder raus, oder ist die Position dann endgültig?

        Reply
        1. Nikdro

          Natürlich kann der Arduino später auch wieder aus dem Board entfernt werden :)

          Der Sinn dieses Boards ist ja, dass verschiedene Aufbauten ohne Löten oder neue Platinen möglich sind

          LG

          Reply

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.