Hallo Leute, ich habe mir 10 der ESP8266 direkt aus China geordert. Den ersten habe ich direkt mit dem Cloud-Update zerschossen :) - Mit dem Update via USB aber wieder gerettet und dann auch gleich mal alle 10 geupdatet auf die Version 0.9.5.2, sdk 21 (siehe Anhang, mit Updateprogramm ab Adrese 0x0) Vorher auch schonmal bisschen getestet alles super, konnte AP erzeugen und mich in mein Netzwerk einwählen. Auch Daten konnte ich ihn an seine IP senden (via VB-Terminal). Super dachte ich - allerdings brauchte ich dann eine eindeutige IP für mein Terminal (weil man diesen Dingern ja keinen Namen geben kann). Terminal soweit fertig - jetzt das Problem mit dem Modul - Es unterstützt kein static ip (alte Version vorher war sdk 18, V. 0.9.0.2). Die neue Version (Anhang) kann das alles und noch viel mehr, richtig gut. ABER, und jetzt die eigentliche Frage: Es hängt sich sofort auf, wenn ich mich in mein Netzwerk einwählen will (wdt reset erfolgt). Mit der Firmware 0.9.0.2 und auch 0.9.2.2) läuft alles, aber die haben diese Befehle nicht. Woran kann das liegen? Mache ich was beim Update falsch, oder habe ich da eine falsche .bin? Habe die auch nur im Netz über 200 Umwege gefunden, ich kenne keine richtige Seite wo die ganzen .bin (alle Versionen) mal richtig gelistet sind - alles bisschen verstreut finde ich. Oder gibt es sogar eine neue Version?! Ich verstehe nicht so ganz warum das Verbinden nicht mehr geht. SSID: MariusWiFi_2Ghz Passwort: swordfisch ;)
Marius D. schrieb: > Keiner eine Idee :( Ja schon..... Aber ich weiß nicht, ob du die hören willst.... Ganz wichtig: Stromversorgung!!! Einen 3,3V Regler, welcher um 400mA liefern können sollte und einen 10µF Kondensator nahe an den Versorgungspins des Moduls. Mir macht der Umgang mit den AT Commands überhaupt keinen Spaß. Fehlerträchtig, große Versionsunterschiede, instabile Verbindungen. Zuviel Software auf den angeschlossenen µC nötig. Also stecke ich sie in meinen selbst gebastelten Programmieradapter und beschreibe sie aus der Arduino IDE. Die ESP Module haben Unmengen mehr Speicher, Taktfrequenz als die meisten Arduinos/AVRs. Ich spare mir so den angeschlossenen µC. Ich halte die Nutzung der AT Firmware für einen Irrweg.
Hallo, ich gebe dir Recht soweit, absolut. Aber: Ich muss ehrlich sagen, ich habe zzt. keine Ahnung und auch keine Zeit mich erst mit den SDKs zu beschäftigen und die Software für die Module selbst anzupassen - natürlich wäre das sinnvoller als irgendeinen µC noch dran zu hängen - klar! Aber: Es ist mega praktisch, wenn man einfach so ein Modul für 2€ kauft, auf seine Platine (vll. als Ersatz für Bluetooth) draufsteckt, und los gehts.... Und den Controller kann man dann eben programmieren wie man mag (bei mir ATMEL). Bei manchen Projekten oversized - da würde der ESP rechen, aber ich habe ein Projekt da brauche ich 24 PWM Kanäle (bei mir in Hardware), Uart mit USB und noch paar andere Pins für Kleinkram. Ich weiß nicht ob der ESP mir das Hardwaremäßig bieten kann (außer ggf. mit Bussystemen). Nachdem ich mir eine lib geschrieben habe für den ATMEL geht die Ansteuerung auch ohne Probleme und rel. gut von statten. Aber lange Rede kurzer Sinn - ich finde die Idee vom ESP toll, nur leider alles sehr verstreut und undurchsichtig. Die Stromversorgung ist ok - USB 3.0 mit entsprechendem Kondensator und 500mA Step-Down. Ich verstehe das echt nicht, warum der sich aufhängt beim Verbinden mit dem Netzwerk, und bei anderen Firmwareversionen geht das - totaler bullshit. Ärgert mich richtig, weil ich das gut finde, mit der static IP; ich kann diese Module leider im Netz mittels VB-Terminal nicht finden ohne diese static-IP weil man denen ja nicht mal nen Namen verpassen kann. Kurzer Nachtrag: Kennst du eine Seite, auf der man die AT-Firmware Versionen runterladen kann?! Ich finde die immer nur in irgendwelchen Dropbox-Ordnern oder auf dubiosen Websites.....
Die AT Firmware ist teil des SDK. Aktuell wäre also die Version 1.3.0. Allerdings sind dort keine Binaries sondern nur der Quellcode drin enthalten. Das ist wahrscheinlich auch der Grund weshalb du die binaries nur aus dubiosen Quellen findest, weil die jeweils jemand selbst compiliert hat und dann dort hochgeladen hat.
Marius D. schrieb: > Ärgert mich richtig, weil ich das gut finde, mit der static IP; ich kann > diese Module leider im Netz mittels VB-Terminal nicht finden ohne diese > static-IP weil man denen ja nicht mal nen Namen verpassen kann. Das ist nicht ganz wahr. Verzichtet man auf die AT Firmware ist im Bereich Namensauflösung einiges möglich. > VB-Terminal KA, was das ist.... Meines bescheidenen Wissens nach, kann man mit VB Broadcasts versenden. Und der ESP könnte darauf mit einem UDP Paket antworten. z.B. mit seiner IP Marius D. schrieb: > Kennst du eine Seite, auf der man die AT-Firmware Versionen runterladen > kann?! Nöö.. Wie gesagt, die AT Firmware interessiert mich nicht.
Marius D. schrieb: > Die neue Version (Anhang) kann das alles und noch viel mehr, richtig > gut. Es wird fast keiner den Anhang probieren Marius, der ist sehr veraltert udn auch buggy, damit will keiner mehr so richtig arbeiten. Schaue einmal auf die Espressif Seite, downloade dir das letze SDK und flashe deine Module mit der aktuellen AT Firmware und aktuellen Flashtool Firmware: http://bbs.espressif.com/viewtopic.php?f=46&t=919 File: http://bbs.espressif.com/download/file.php?id=664 Flashtool, letzter Stand 1.2 http://bbs.espressif.com/viewtopic.php?f=57&t=433 Es gibt es für Linux und für Windows. Dann lese dir die AT Befehle durch, das PDF findest du dann im Ordner \esp_iot_sdk_v1.3.0\document\EN File: 4A-ESP8266__AT Instruction Set__EN_v0.40.pdf > Woran kann das liegen? Mache ich was beim Update falsch, oder habe ich > da eine falsche .bin? Habe die auch nur im Netz über 200 Umwege > gefunden, ich kenne keine richtige Seite wo die ganzen .bin (alle > Versionen) mal richtig gelistet sind - alles bisschen verstreut finde > ich. > > Oder gibt es sogar eine neue Version?! Ja. siehe oben. Und lese dir die Readme durch. Die beschreibt auch, wie du das flasht. lg ;-)
Marius D. schrieb: > ABER, und jetzt die eigentliche Frage: > > Es hängt sich sofort auf, wenn ich mich in mein Netzwerk einwählen will > (wdt reset erfolgt). Mit der Firmware 0.9.0.2 und auch 0.9.2.2) läuft > alles, aber die haben diese Befehle nicht. > > Woran kann das liegen? Wenn Du eine neue Version flasht, musst du auch die dazugehörige Blank.bin an den angegebenen Adressen flashen. Wenn du das nicht machst, kann es passieren, dass du eine Blank.bin von 0.9.0.2 auf dem ESP benutzt und die 0.9.2.2 bzw neuere kann mit den 'abgespeicherten' Werten aus den Setups der Vorgängerversion nichts anfangen Folge-> wdt Also: immer das Blank mitflashen! lg ;-)
Danke rudi, endlich geht's bisschen vorran! Bin da auch noch nicht so ganz durchgestiegen, habe mir deine Sachen mal runtergeladen; das mit der Blink etc... kenne ich, aber ich habe diese Dateien nie gefunden. Ich bin froh, wenn das endlich mal alles geht! Ich dachte die Version vom Anhang ist top aktuell :) Naja ok! Kannst du mir ggf. nochmal kurz bisschen was erklären? 1. Diese SDKs sind also die Firmware die vom Hersteller freigegeben wird. Ich muss diese runterladen, selbst kompilieren und habe dann die fertige .bin mit der aktuellsten Firmware und dem aktuellsten Stand der AT-Befehle?! 2. So ganz habe ich das leider alles noch nicht kapiert mit dem SDK, runtergeladen habe ich es, in app befindet sich eine .batch; habe diese ausgeführt da kann man wählen, die erzeugt mir die blank, boot, user1, esp_init_data_default (wohin die auch immer gehört). Aber: user1 wird die Application sein. Was ist user2? Was ist eagle.flash und was muss ich auswählen bei der batch im Bezug auf: Step1: boot habe ich 1 gedrückt (boot_v1.2+) Step2: bin generate habe ich 1 gedrückt (user1.bin, kein Plan was user2 und diese eagle-dinger sind) Step3: Spi-Speed habe ich 2 gedrückt (40MHz) Step4: SPI-Mode (0 gedrückt (QIO, aber ohne wirkliche Ahnung wofür ich das brauche, denke der Flash ist per SPI am ESP angeschlossen, oder?) Step5: Flash Size (absolut keine Ahnung was ich da nehmen muss, habe jetzt einfach mal 5 genommen, 2MB) Wäre schön, wenn du mir hier nochmal bisschen Klarheit bringen könntest, ich habe die Dateien noch nicht drauf geflashed, will erstmal dein OK haben. 3. Wenn ich etwas an der Firmware ändern möchte, kann ich das in den ganzen .h und .c Dateien machen, und dann einfach normal über die .batch wieder compilieren, korrekt?
Marius D. schrieb: > > 1. Diese SDKs sind also die Firmware Ist das Software Development Kit ( SDK ) mit Libarys und Beispiel Code sowie Dokumente der API und Beispiele > die vom Hersteller freigegeben > wird. Ich muss diese runterladen, selbst kompilieren das kannst du selber compilieren oder auch das fertige AT Bin verwenden. Im Kit dabei ist auch eine IoT Anwendung sowie eine Android APP Je nachdem was du da laden willst, erstellst du dir die Anwendung für den ESP in der IDE ( Xtensa oder Luna oder Android IDE oder eigener IDE ) und verwendest entweder den Tensilica Compiler oder das Cross Tollchain für GCC. > und habe dann die > fertige .bin mit der aktuellsten Firmware und dem aktuellsten Stand der > AT-Befehle?! Fast - Du hast dann den letzen aktuellen Stand der SDK z.b. 1.3.0 und du hast den letzen aktuellen Stand der AT Standard lib. Und du hast das aktuelle AT Werk zum selber compilieren im Ordner /esp_iot/sdk_v1.3.0/examples/at oder eben als fertige bins zum flashen im Ordner /esp_iot/sdk_v1.3.0/bin/at die Standard Befehle sind über das Libary Archiv "libat.a" im Ordner /esp_iot/sdk_v1.3.0/lib Welchen Befehlssatz die Standard AT dann besitzt, und welchen Sprachumfang die Developer API für das eigene Erstellen von Firmwares beinhaltet steht in der besagten Doku unter /esp_iot/sdk_v1.3.0/document/en Weitere Archiv Libs sind da auch z.B. libmain.a, man braucht die im Projekt. > > 2. So ganz habe ich das leider alles noch nicht kapiert mit dem SDK, > runtergeladen habe ich es, in app befindet sich eine .batch; habe diese > ausgeführt da kann man wählen, die erzeugt mir die blank, boot, user1, > esp_init_data_default (wohin die auch immer gehört). > > Aber: user1 wird die Application sein. Was ist user2? Vorab: a) Du musst dich entscheiden, ob du "überhaupt" über eine online Verbindung zu espressif ein update machen willst. Liegt das fest dass du das machen willst, dann musst du den ESP auf eine bestimmte Art und Weise flashen. b) Jetzt ist es so, dass wenn man online über espressif updaten will, man das mit den Standard Modulen wohl nicht mehr machen kann, da diese einen zu kleinen Flash Speicher haben, ( berichtigt mich wenn ich falsch liege ) wenn man eigene OTA Server betreibt, kann man sich kleinere upgrade Firmwares schreiben, und eigene AT Befehle dazu, dann wird das "user1" und "user2" bin file kleiner. user1 ist die Anwendung user2 ist die gleiche aber an andere Adresse auf dem Flash die beiden brauchst du, wenn du vor hast, den ESP über eine Cloud oder sonstiges upzudaten, dazu wird dann user1 bzw user2 (je nach dem welches upgrade du über welche Cloud machst ) überschrieben, deine Reserve ist dann noch die user2 ( bzw user1 ) damit du in jedem Fall bei einem Missglück wieder booten kannst. Schreibst du dir den Bootloader bzw den Bootprocess selber, dann kannst du auch mit dem Standard Bootloader das eine oder andere Bin File laden, z.B. ein user1 file macht nur AT Befehle und user2 ist eine "prov" Entwicklung von dir die du mal ausprobieren willst; dann kannst du zwischen den beiden "jumpen". ( noch ein Vermerk am Schluss ) Erst mit einem erfolgreichen upate wird dann auch das neue user1 bzw user2 bin file aktiviert ( geschieht über den Bootloader 0x00000 ) Das erst mal abgeschickt, Teil 2 und Vermerk folgt
Rudi, danke für deine Mühe, mir die Welt des ESP bisschen klarer zu machen. Online-Updates brauche ich nicht, darauf kann ich verzichten - habe ich einmal gemacht, ganz ganz am Anfang mit V. 0902 der hat mehrere Stunden (!) nur noch wirres Zeug gesendet - ende vom Lied - nichts geht mehr :D Das ESP Modul soll in einem von mir gebauten Gerät stecken und einfach anstelle der sonst verwendeten Bluetooth-Module arbeiten (damit ich via PC und Handy Daten an mein Gerät senden kann). Mehr soll das eigentlich gar nicht machen. Ich erwarte schon ganz gespannt deinen Teil 2 :D Ich habe die Sachen über die Batch im Verzeichnis APP \esp_iot_sdk_v1.3.0_15_08_08\esp_iot_sdk_v1.3.0\app erzeugt (zu finden dann in bin und bin/at für user1/2 und an die folgenden Adressen geschrieben, soweit alles korrekt? Habe nämlich leider so immer noch das Phänomen, dass er abstürzt (wdt) wenn ich mich mit meinem Netzwerk verbinden will.
> Was ist > eagle.flash Das ist ein Bootloader und muss an 0x00000 das Firmware selber ( eagle_irom0text.bin ) muss dann auf 0x40000 *) bei beiden muss blank.bin mitgeflasht werden auf 0x7e000 sowie auf 0xfe000 aber nur dann*), wenn du zuvor eine andere Version von Bootloader verwendet hattest und wenn du z.B. deine "alten" AP Einstellungen nicht mehr verwenden willst. Das ist auch meist der WDT Grund, denn die älteren Bootoader haben ein anderes Speicherformat verwendet und damit können die neueren die abgespeicherten Variablen ( HOST, SSID, PASSWORT usw ) nicht mehr lesen oder lesen es falsch ein und der WDT kommt. > und was muss ich auswählen bei der batch im Bezug auf: Es gibt zwei Arten der Firmware: Einmal eine mit upgrade Funktion und eine ohne. Die mit upgrade Funktion erstellt user1.bin und user2.bin Damit die user1.bin und die user2.bin jeweils mit dem richtigen linker script gelinkt werden können, geschieht das Erstellen der user1.bin sowie der user2.bin auf zwei Etappen. Daher musst du dann bei dieser Frage auswählen, welches user.bin file du jetzt erstellen willst mit dem aktuellen Projekt. wählst du 1 dann erstellt es user1.bin, und linkt es für 0x01000 wählst du 2 dann erstellt es user2.bin, und linkt es für 0x41000 ist das Projekt zu gross ( 1/2 Flash IC ) passt es nicht mehr rein daher muss man dann auch auswählen, welche Flash IC man verwendet beim Flash Tool. Man kann die user1.bin und user2.bin auch an individualen Adressen flashen, dazu muss man in dem Linker File die Adressen abändern und auch die Size, aber ich lass das hier jetzt mal aussen vor. > > > Step1: boot habe ich 1 gedrückt (boot_v1.2+) > Step2: bin generate habe ich 1 gedrückt (user1.bin, kein Plan was user2 > und diese eagle-dinger sind) boot_v1.2+.bin ist auch ein bootloader, der dann das user1.1024.new.2.bin ab 0x01000 flasht und den ganzen Flash einnimmt, also ohne upgrade Funktion. > Step3: Spi-Speed habe ich 2 gedrückt (40MHz) Das ist der Parameter für den Flash IC > Step4: SPI-Mode (0 gedrückt (QIO, aber ohne wirkliche Ahnung wofür ich > das brauche, denke der Flash ist per SPI am ESP angeschlossen, oder?) Das ist auch ein Parameter für den Flash IC in dem Fall, wie der Datenaustausch funktioiert, Quadro ( vier Leitungen ) und Beide Richtungen Input und Output. > Step5: Flash Size (absolut keine Ahnung was ich da nehmen muss, habe > jetzt einfach mal 5 genommen, 2MB) Na ja ;-) Das ist so eine Sache, wenn du kein Geld auf dem Konto hast, darf man nicht einfach 2000 Eur abheben ;-) Kontokorrent kennt der Flash leider nicht, auch wenn man mit ihm sich noch so gut gesellt ;-) Das ist der Speichergesamtplatz des Flash IC. Die meisten Module haben einen Winbond mit 512 kb also 4Mbit Das neuere ESP-12E hat 32Mbit also 4 MByte > > > Wäre schön, wenn du mir hier nochmal bisschen Klarheit bringen könntest, > ich habe die Dateien noch nicht drauf geflashed, will erstmal dein OK > haben. OK ;-) Du musst dich entscheiden ob du online updaten willst oder nicht. Durch das, dass espressif immer wieder ein neues SDK herausgibt, und auch die Patches dann immer wieder einfliessen, würde ich dir für den Heimgebrauch das Firmware ohne Upgrade Funktion empfehlen, 1. Du musst mit dem Modul nicht immer ins Internet 2. Du kannst den ganzen Platz des Flash IC ausnutzen und bist nicht eingeschränkt im Platz. und ganz entscheidend: Meist wenn du ein update machen willst, ist auch meist der Cloud Server down ;-) > > > 3. Wenn ich etwas an der Firmware ändern möchte, kann ich das in den > ganzen .h und .c Dateien machen, und dann einfach normal über die .batch > wieder compilieren, korrekt? Fast. An der Standard AT Version - da es ein Archiv LIB ist, musst du die , wenn du den AT Befehlssatz brauchst , mitlinken, heist, darin kannst du nichts verändern ( auf normalen Weg ) das ist so vorgegeben. Du kannst den AT Satz ( AT Commands ) aber um deine eigenen AT Commands erweitern, dazu schreibst du c und h files. Aus den Beispielen kannst du dir vom Ordner examples z.B. das IoT Projekt ansehen : /esp_iot_sdk_v1.3.0/examples/IuT_Demo darin sind einige Sachen eingeflossen die man hier und da wieder verwenden kann. Wenn Fragen aufkommen, her damit. lg rudi ;-) Vermerk: Der espressif Bootloader kann nur mir zwei user.bin file hantieren. Es gibt einen Open SRC Bootloader der kann bis zu 256 Firmwares verwalten und an jeder x beliebigen Stelle aufrufen und ist unter 2kb. Der wurde in einem anderen Projekt jetzt erweitert mit AES256 sowie hat ein eigens SSL OTA vom eigenen SSL Cloud Server. wenn die Base interessiert: https://github.com/raburton/esp8266/tree/master/rboot Empfehle es jedem ernsthaften ESPler, sehr viel Know How drin im Code. rboot läuft wie ein uhrwerk und baut auf dem espressif Bootloader auf ( reverse..) , aber wurde immens verbessert. Dr. Richard A. Burton, der Macher von rboot, ist nicht irgendwer, der verseht sein Handwerk. Kann es nur empfehlen. Verwende ihn selber in Xtensa IDE und Luna.
Ach Mist, das hätte ich vll. auch noch sagen sollen. Ich habe den ESP1 (denke ich), das der ganz kleine mit den 8 Pins hinten und vorne die integrierte Antenne. Dafür also immer welche FLASH-SIZE nutzen? 8Mbit oder 4Mbit?
Marius, du kannst mal folgendes machen: Den ESP8266 in den Bootloader Modus bringen, also Gpio00 auf Gnd legen beim Einschalten oder gedrück halten auf GND mit einem AT+RST dann im Flash Tool nichts anrkeuzen, also kein Firmware, dann den richtigen Comport wählen ( Terminal Verbindung mit dem ESP zuvor closen ) und auf Start drücken. Dann zeigt es dir im rechten Fenster Infos zum verbauten Flash IC an, u.a. auch die Speichergrösse ( 4Mbit ) lg rudi ;-)
und noch was - das esp_init_data_default.bin brauchst du nur, wenn du über die cloud von espressif updaten willst, da sind bereits daten für bestimmte berechtigungen bzw flaggs im file, siehe anhang. lg ;-)
Achso, ok dann kann ich das ja weglassen Jetzt habe ich es soweit - 4Mbit ist korrekt. Aber: Mir ist gerade aufgefallen, dass die Daten im bin Ordner schon da sind beim Download des SDK und, so wie ich das sehe, nur für die 8Mbit Version geeignet sind. Komischerweise konnte ich die Flashen und es hat funktioniert (zumindest die Kommunikation und die AT-Befehle, Verbinden etc.. führt immer zum Absturz). Jetzt die Sache, wenn ich alle bins aus dem Ordner bin lösche, und dann eines der batch-Files ausführe (egal ob Ordner example oder app), erzeugt der mir keine neuen Daten, wollte es mit 512kb erzeugen, wo sind die Daten dann?!
Marius D. schrieb: > Das ESP Modul soll in einem von mir gebauten Gerät stecken und einfach > anstelle der sonst verwendeten Bluetooth-Module arbeiten (damit ich via > PC und Handy Daten an mein Gerät senden kann). Mehr soll das eigentlich > gar nicht machen. Da schaust dir auch mal den transparenten Modus dazu im AT Befehlssatz an einfach: transparent Transmission Seite 10, TCP und UDP AT+CIPSTART="TCP","DEINSEVERIP", SERVERPORT AT+CIPSTART="TCP","192.168.50.1", 8050 Enable transparent transmission mode: AT+CIPMODE=1 .. AT+CIPSEND alles was über die UART rein geht, geht zum Server mit einem Packet von "+++" stoppt der Transparent Mode Geht nur als Client zu einem Server. in beiden Richtungen: https://github.com/beckdac/ESP8266-transparent-bridge lg ..
Marius D. schrieb: Marius, wenn du das kannst, mach mal folgendes, leg dir ein blanky.bin an mit 512 kbyte und schreibe lauter FF rein. Und das flasht du auf deinen ESP auf 0x00000 Dann ist der Flash sauber. Dann nur das rauf flashen, was du brauchst. Also alles ohne upgrade, nur die aktuellste AT Firmware. : > Aber: Mir ist gerade aufgefallen, dass die Daten im bin Ordner schon da > sind beim Download des SDK und, so wie ich das sehe, nur für die 8Mbit > Version geeignet sind. Du flasht: eagle.flash.bin auf 0x00000 eagle.irom0text.bin auf 0x40000 blank.bin jeweils auf 0x7e000 und 0xfe000 im Flash Tool stellst du ein: 4 Mbit > > Komischerweise konnte ich die Flashen und es hat funktioniert (zumindest > die Kommunikation und die AT-Befehle, > Verbinden etc.. führt immer zum Absturz). lösch die esp_init_data_default.bin auf dem Flash IC durch einmaliges Blanky.bin. > > Jetzt die Sache, wenn ich alle bins aus dem Ordner bin lösche, und dann > eines der batch-Files ausführe (egal ob Ordner example oder app), > erzeugt der mir keine neuen Daten, wollte es mit 512kb erzeugen, wo sind > die Daten dann?! gelöscht ;-) ..
Hi Rudi, danke für deine vielen Antworten und deine Hilfe. Den Modus kenne ich, du musst dir das so vorstellen: Ich habe ein Gerät, darin befindet sich das Modul. Schaltet man das Gerät an, erzeugt dieses den AP aerolightV2. Verbindet man sich damit, dann kann man auf einer Seite auswählen, welches Netzwerk er sich verbinden soll (dort wird eine Liste angezeigt, ähnlich diesem DHT-Serverbeispiel, vll. kennst du es). Dann kann man sich trennen vom AP und das Modul wählt sich in das ausgewählte Netzwerk ein, hat eine konstante IP, die meine APP und mein VB-Windows-Terminal kennt. Nun kann man sich mit dem Gerät (über sein Hausnetzwerk) verbinden und senden/empfangen. Die Sache ist die: Die alte Version konnte sich mit dem Netzwerk verbinden, und somit habe ich das VB-Terminal und die APP und die Software vom Gerät fertig. Jetzt brauche ich eigentlich nur noch, dass dieses ESP Teil man rennt, diese AP und Server geschichte ist noch ne andere Baustelle - da weiß ich auch noch nicht so ganz genau weiter; aber das vorerst auch nicht sooo wichtig, toll wäre, wenn der sich mal mit meinem Netzwerk verbinden würde und nicht immer Abstürzt und ich eine Static-IP vergeben kann. Das SDK 1.3 scheidet wohl aus, wegen der Größe, korrekt? Wie funktioniert diese Batch eigentlich, dachte die hat mir diese bins erzeugt - das ist gerade so der Punkt den ich nicht ganz nachvollziehen kann. Man wählt dort aus, und Ergebnis = 0.
Okay Rudi, das probiere ich gleich mal aus (sobald ich die 512kb FF Datei habe)!
r_u_d_i schrieb: > Dann ist der Flash sauber. Welche Vorteile hat so ein "sauberer" Flash gegenüber einem unsauberen? Bei einer Toilette hätte ich jetzt nicht gefragt. Aber beim Flash?
Okay, jetzt mal ohne Spaß, ich bekomme die Pimpanellen mit diesen Modulen. Ich habe den Chip geblanked, dann genauso gemacht wie du das gesagt hast. Sende und Empfange immer mit CR+LF über HTerm bei Kommunikation. Anbei meine Ausstattung. Resultat: AT -> OK AT+GMR -> passt AT+CIPMUX=1 -> OK AT+CWMODE_DEF=3 -> OK AT+CWJAP_DEF="MariusWiFi_2Ghz","swordfisch" -> Absturz 5-6x hinter einander -> nicht mehr ansprechbar! Es gibt keinen so großen Heul-Smylie wie ich jetzt benötige....
hier noch ein paar Infos über gespeicherte Flaggs und Tags: Options •Crystal Frequncy choices: 40Mhz, 26Mhz, 24Mhz – bei Verwendung eines 40M crystal , booting boot uart tx baud ist 115200,(74880 beim 26m ) Crystal Freq wird gespeichert im BYTE[48] im file esp_init_data_default.bin •SPI Flash speed: 0 = 40MHz , 1 = 26.7MHz, 2 = 20MHz, f = 80MHz in BYTE[3]&0f image file •SPI flash read mode: 0 = QIO, 1 = QOUT, 2=DIO, 3=DOUT dritte BYTE nach flash address 0x0 also BYTE[2]. •Flash size: gesetzt im oberen 4bit vom vierten BYTE nach flash address 0x0 also BYTE[3]>>4)&0xf vom image : 0:512KB(256KB+256KB) – 4Mbit 1:256KB – 2Mbit 2:1MB(512KB+512KB) – 8Mbit 3:2MB(512KB+512KB) – 16Mbit 4:4MB(512KB+512KB) – 32Mbit 5:2MB-C1(1024KB+1024KB) – 16Mbit 6:4MB-C1(1024KB+1024KB) – 32Mbit tout (vdd33) – esp_init_data_default.bin BYTE[107] = 0xff tout (adc) – esp_init_data_default.bin BYTE[107] = VDD*10 /vdd > 1.8 und vdd < 3.6/ die files und verwendungszweck/bedeutung: •master_device_key.bin – notwendig für Espressif Cloud •esp_init_data_default.bin – gesicherte parameter RF, AP, SSID, PASS •boot.bin – bootloader •user1.bin and user2.bin – user firmware •blank.bin – blank settings , default parameters (leer ) parameter z.B., man kann einzelne AT Commands abspeichern, z.B. welchen Mode der ESP beim booten haben soll, default kann abgespeichert und wieder gelesen werden z.B. welche IP der ESP im client modus hat, ebenso, kann abgespeichert und beim reboot wieder"geladen werden" usw. Spi Flash Size und was wo gespeichert werden soll: 1. 512KB •master_device_key.bin 0x3E000 •esp_init_data_default.bin 0x7C000 •blank.bin 0x7E000 •boot.bin 0x00000 •user1.bin 0x01000 •user2.bin 0x41000 2. 1024KB Flash •master_device_key.bin 0x3E000 •esp_init_data_default.bin 0xFC000 •blank.bin 0xFE000 •boot.bin 0x00000 •user1.bin 0x01000 •user2.bin 0x81000 3. 2048KB Flash •master_device_key.bin 0x3E000 •esp_init_data_default.bin 0x1FC000 •blank.bin 0x1FE000 •boot.bin 0x00000 •user1.bin 0x01000 •user2.bin 0x81000 4. 4096KB Flash •master_device_key.bin 0x3E000 •esp_init_data_default.bin 0x3FC000 •blank.bin 0x3FE000 •boot.bin 0x00000 •user1.bin 0x01000 •user2.bin 0x81000 Noch ein paar Hinweise wie man die Adressen erweitert bei grösseren Flash IC Size: http://bbs.espressif.com/viewtopic.php? f=10&t=305 Jetzt kannst du alle Angaben und erstellten Images prüfen. Bei Fragen einfach schreiben, irgendwann stolpert einer drüber, und schreibt auch etwas dazu, wenn ich das lese und dazu etwas weiss, schreibe ich auch meistens, wenn die Zeit es zulässt. lg ;-)
Flash Dir die LUA-Firmware (->google) und richte DHCP ein, dann kannst Du einfach Messwerte über WLAN z.B. an eine MySQL Datenbank verschicken und diese Daten dann mit highcharts.com visualisieren. Funktioniert bei mir prima. Hast Du die Stromversorgung schon überprüft, also ich meine gemessen? P.S.: Static IP machst DU dann über Deinen Router, der kann dann immer die gleiche IP-Adresse per DHCP an das Modul verteilen.
:
Bearbeitet durch User
Marius D. schrieb: > Ich habe den Chip geblanked, dann genauso gemacht wie du das gesagt > hast. (hust) Marius, 512 Kb sind wieviele bytes? In Hex jedenfalls 8000, Das File schiesst drüber weg ;-) 512 * 1024 = ? > Es gibt keinen so großen Heul-Smylie wie ich jetzt benötige.... aber es gibt einen Tröst Smiley ;-) AT+CIPMUX=1 -> OK AT+CWMODE_DEF=3 -> OK AT+CWJAP_DEF="MariusWiFi_2Ghz","swordfisch" -> Absturz 5-6x Schauh dir mal den AT Befehl näher an Seite 22: AT+CWJAP Seite 23: AT+CWJAP_CUR Seite 24: AT+CWJAP_DEF da hat sich was getan in den SDKs ;-) please use AT+CWJAP_CUR oder AT+CWJAP_DEF .. ich schlage vor: Du liest das AT Dokument ;-) Du rechnest Kilo Byte in Byte nochmal ;-) ..
Pete K. schrieb: > Flash Dir die LUA-Firmware (->google) und richte DHCP ein, dann kannst > Du einfach Messwerte über WLAN z.B. an eine MySQL Datenbank verschicken > und diese Daten dann mit highcharts.com visualisieren. Nicht böse gemeint, aber das will er aber alles nicht machen Peter ;-) und bringt ihn keineswegs weiter - zumindest nicht aus der Situation, dass die Blank.bin zuviele Blanks.byte besitzt und der AT Befehl den er verwendet, veraltert ist. ;-) btw: niemanden würde ich LUA auf dem esp empfehlen, nur um das zu umgehen, dass man selber code für den esp schreibt :) was habt ihr immer mit diesen lua gedönse auf dem esp? der nächste wird qbasic interpreter installieren und seine quick basic programme laufen lassen wollen ;) ich werde mir jedenfalls lua nicht antun, nicht auf dem esp. :)
Hey Rudi, okay, ist zu groß - Aber nebenbei, sollte das nicht egal sein? Dann schreibt er es halt ins leere... Oder!? Ich hatte mir die Seiten angeguckt, deswegen nehme ich ja AT+CWJAP_DEF="MariusWiFi_2Ghz","swordfisch" Ist ja schon die DEF-Variante. Oder habe ich da noch was anderes übersehen? Sonderzeichen wie \ hat der Name ja auch nicht.
Pete K. schrieb: pete meinte ich - sorry - für das *r > P.S.: Static IP machst DU dann über Deinen Router, der kann dann immer > die gleiche IP-Adresse per DHCP an das Modul verteilen. das hindert mich aber nicht am weiteren austeilen: probleme umgeht man, indem man sich neue probleme anlegt ;-) .. ;^O
Marius D. schrieb: > Hey Rudi, > > okay, ist zu groß - Aber nebenbei, sollte das nicht egal sein? Dann > schreibt er es halt ins leere... Oder!? ich will das jetzt gar nicht thematisieren ;-) .. > > Ich hatte mir die Seiten angeguckt, deswegen nehme ich ja > AT+CWJAP_DEF="MariusWiFi_2Ghz","swordfisch" lass ihn mal speichern .. rebooten beim reboot dann - warte etwas - so ca 10 sek was bringt dir danach AT+CWJAP? und dann AT+CIFSR ist es das was du wolltest? .. > > Ist ja schon die DEF-Variante. Oder habe ich da noch was anderes > übersehen? Ich hab übersehen, dass du bereits _DEF verwendest ..
Kopf hoch! Nur AT Firmware - ohne OTA ( Update Funktion ) Flashe blank.bin ( nicht dein 512kb blanky ) nur an 0x7e000 eagle.flash.bin an 0x00000 eagle.irom0text.bin an 0x40000 dann sollte es klappen mit deinem 512er ESP-01 .. 0x7E000 ist nur beim 1MB Flash IC. ..
Nene, ich wollte mich einfach nur mit meinem Heimnetzwerk verbinden. Das geht doch mit AT+CWJAP_DEF="ssid","passwort"
Marius D. schrieb: > Nene, ich wollte mich einfach nur mit meinem Heimnetzwerk verbinden. Das > geht doch mit AT+CWJAP_DEF="ssid","passwort" Ja, das geht. Wenn du mit AT+CWMODE_DEF=3 Client als auch AP Mode willst dann sollte er dir mit AT+CWLAP zumindest deinen AP finden und auflisten, tut er das?
Ist die Reihenfolge beim Flashen eigentlich egal? Ob erst die blank oder später oder egal?
Marius D. schrieb: > Ist die Reihenfolge beim Flashen eigentlich egal? Ob erst die blank oder > später oder egal? Die Frage erübriegt sich, schauh dir das shell Fenster an hinter dem Flash Tool 1.2 da siehst du, was das Flash Tool erst macht, bevor es schreibt. Die Reihehenfolge selber im Eintrag ist jedoch egal.
r_u_d_i schrieb: > Kopf hoch! > > Nur AT Firmware - ohne OTA ( Update Funktion ) > Flashe blank.bin ( nicht dein 512kb blanky ) > nur an 0x7e000 > > eagle.flash.bin an 0x00000 > eagle.irom0text.bin an 0x40000 > > > dann sollte es klappen mit deinem 512er ESP-01 > > .. > > 0x7E000 ist nur beim 1MB Flash IC. > > .. Habe ich gemacht, geht nicht, stürzt ab sobald du dich versucht mit einem Netzwerk zu verbinden. Ich habe mir mal die Version 1.0.0.1 runtergeladen, dort heißen die Dateien xyz_512.bin, denke mal, dass alles was später kam einfach zu groß ist. Mit dem SDK kann ich mich aber wenigstens wieder verbinden, allerdings wenn ich CIPMUX=1 mache, und dann CIPSERVER=1,2020 und dann mittels Browser auf die IP gehe (bspw.: 192.168.1.105:2020) dann zeigt er mir auch an, Verbindung 1,etc... nach kurzer Zeit stürzt er wieder ab.
AT+CWJAP_CUR="MariusWiFi_2Ghz","swordfisch" verbindet er sich?
r_u_d_i schrieb: > Marius D. schrieb: >> Ja das tut er > > Dann mach mal : > > AT+CWJAP_CUR="........ Alles schon getestet, CUR hat keinen Einfluss darauf.
Marius D. schrieb: > Habe ich gemacht, geht nicht, stürzt ab sobald du dich versucht mit > einem Netzwerk zu verbinden. seltsam. > > > Ich habe mir mal die Version 1.0.0.1 runtergeladen, dort heißen die > Dateien xyz_512.bin, denke mal, dass alles was später kam einfach zu > groß ist. Nein. Ich hab extra jetzt dein Szenari nachgestellt. ESP-01 gesäubert und geflasht: blanky.bin ( lauter FF ) dann erneut bootloader: 0x7e000 blank bin 0x00000 eagle.flash.bin 0x40000 eagle.irom0text.bin AT+CWMODE=1 ( ich brauche keinen AP an dem ESP ) AT+CWLAP ok . listet mein hotspot AT+CWJAP_CUR="SSID","PASS" WIFI CONNECTED WIFI GOT IP OK AT+RST .. .. ready WIFI DISCONNECT ( ist ja blank, da nicht gespeichert ) // um einen ordentlcihen wechsel zu prüfen, nochmal ohne speichern AT+CWJAP_CUR="SSID","PASS" WIFI CONNECTED WIFI GOT IP OK // dann mit speichern AT+CWJAP_DEF="SSID","PASS" ( diesmal mit speichern )DE WIFI DISCONNECT WIFI CONNECTED WIFI GOT IP OK AT+RST ready WIFI CONNECTED WIFI GOT IP ..
Marius D. schrieb: > Welche Module hast du eigentlich? ESP.01.02.03.04.05.06.07.08.09.10.11.12.12D.12E.13.13A.13B.13C.ADC r_u_d_i schrieb: > Kopf hoch! > > Nur AT Firmware - ohne OTA ( Update Funktion ) > Flashe blank.bin ( nicht dein 512kb blanky ) > nur an 0x7e000 > > eagle.flash.bin an 0x00000 > eagle.irom0text.bin an 0x40000 > > > dann sollte es klappen mit deinem 512er ESP-01 > > .. > > 0x7E000 ist nur beim 1MB Flash IC. 0xFE000 ist nur beim 1MB Flash IC Du kannst das alles nochmal eins nach dem anderen durchgehen: Du hast ESP-01 also 512 MB da kannst du machen: Flash + IROM0TEXT.BIN also den standard bootloader und die standard firmware oder dein projekt dazu : Blank.bin -> 0x7E000 eagle.flash.bin -> 0x00000 ( der bootloader ) eagle.irom0text.bin -> 0x40000 ( die standard firmware ) ( master_device_key -> 0x3e000 ( wenn connect zum Cloud Server ) Schauh dir das file einmal mit hexeditor an: esp_init_data_default.bin und prüfe es - ob das auf dem esp-01 zutrifft, die flagg byte und tags wie weiter oben. flash das mal mit, da es espressif im dem flash tool mitaufführt. also eagle.flash.bin -> 0x00000 ( der bootloader ) eagle.irom0text.bin -> 0x40000 ( die standard firmware ) esp_init_data_default.bin -> 0x7C000 Blank.bin -> 0x7E000 ..
HAst du die esp_init_data_default.bin für mich für den ESP ggf. das du diese hochladen kannst? Bei mir ist keine dabei. Ich habe bspw. mit der alten Firmware, ich kann mich verbinden und auch senden, aber wenn das bisschen zu lange dauert stürzt er ab. Das läuft nicht richtig stabil.
Wie sieht der bootloader_prompt bei dir aus? ..
Hilfe :o Was für ein Teil?! Das Tool sieht interessant aus ;) Mal ne Frage: Wenn du das so machst, mit deinen Angaben und Daten, kannst du dann folgendes machen? AT+CWMODE=1 AT+CWMODE_DEF="ssid","pswd" AT+CIPMUX=1 AT+CIPSERVER=1,2020 (muss bei jedem neustart gemacht werden, genau wie chipmux) Dann IP konstant auf 192.168.1.251 setzen und dann via Browser auf http://192.168.1.251:2020/ gehen und einfach mal laufen lassen.
Marius D. schrieb: > Das Tool sieht interessant aus ;) ..kenne noch keinen download link ;-).. > Mal ne Frage: > Dann IP konstant auf 192.168.1.251 setzen hab ich jetzt mal DHCP lassen - sollte nicht ausschlaggebend sein > > und dann via Browser auf > > http://192.168.1.251:2020/ > > > gehen und einfach mal laufen lassen. nach der response time wird die Verbindung sauber geschlossen. kein reboot ;-) .. btw: ESP connect auf PIC24 https://www.youtube.com/watch?v=WFo4Fs0p_NY
Ok, im laufenden Betrieb: AT+CIPSTA_CUR="192.168.43.20","192.168.43.1","255.255.255.0" nimmt er problemlos die IP an ohne reboot auch der Server muss nicht neugestartet werden. Er ist jetzt unter der neuen IP erreichbar. .. schreib wenn er bei dir endlich läuft. einen Tip, aber den hat Pete schon gemacht, Stromversorgung! Und meine Frage ist noch offen: Wie sieht dein Bootloader Prompt aus, bitte Bild einfügen! lg ;-)
Cool Rudi!! Wirklich toll! Auch vielen Dank, dass du dir Zeit nimmst und nicht wie viele blöde Kommentare oder irgendwelche Beleidigungen loslässt - auch wenn es einfach nicht will wie heute. Danke dir. Dein Terminal ist auch gut, mit VB geschrieben? Ich habe auch ein Terminal für meine Geräte, wenn man IP setzt etc... (und das mal geht mit dem ESP), kann man sich darüber einfach verbinden und das Gerät steuern, Updaten etc... Das Terminal updatet sich auch selbst, wenn es merkt, dass es eine neue Version davon gibt, wird dann aus meiner DropBox geladen und ersetzt. Dafür gibt es nen Download-Link ;) http://www.md-electronics.de/downloads.php DHCP, ja das auch bisschen komisch, denn ich kann DHCP einschalten oder ausschalten, und egal wie, die IP kann ich trotzdem statisch setzen und ändern und das geht sogar :o Nur leider läuft das noch nicht ganz so sauber wie bei dir. Ich mache heute erstmal Schluss und gucke morgen weiter, ich würde mich dann nochmal melden; so ganz läuft das noch nicht....MIST! P.S.: Meiner soll später mit dem Atmel laufen, bin Atmel-Jünger ;). Mein Lehrer hatte damals auch immer PICs.
Ja, mhh stimmt, wollte ich noch sagen. Stromversorgung habe ich einfach an so nen USB-Serial mit 3,3V und diesen CPD-Chips oder wie die heißen. Kann aber nicht richtig vorstellen, dass das daran liegt (wenn ja beiße ich mich in Ar***). Morgen gebe ich ihm mal eine vom Netzteil - aber früher mit Version 0902 ging das ja auch alles problemfrei - von daher.... Bootloader - prompt?! Ja, da war die Frage, wie erfahre ich das?! Habe dich mal abonniert bei YouTube.
Torsten C. schrieb: > r_u_d_i schrieb: >> Dann ist der Flash sauber. > Welche Vorteile hat so ein "sauberer" Flash gegenüber einem unsauberen? > Thorsten, ist deine Frage ernst gemeint als IT Profi ? Dann versuche ich laienhaft es dir zu erklären: sector 0 0x00000 Bootloader.bin ( 4095 byte ) ( 1 sector ) sector 1 0x01000 user1.bin ( 12231 byte ) ( 3 sectoren ) sector 4 0x04000 user2.bin ( 450 byte ) ( 1 sector ) sector 5 0x05000 key.bin ( 128 byte ) ( 1 sector ) sector 6 0x06000 user3.bin ( 224.123 byte ) ( 55 sectoren ) .... neue firmware: sector 0 0x00000 Bootloader.bin ( 4095 byte ) 1 sector sector 64 0x40000 user.bin ( 224.888 byte ) ( 55 sectoren ) du wirst sicher nicht mögen, dass man deinen hinterlassenen key auf 0x05000 lesen kann.... bzw, sollte ein Bereich ungünstig beschrieben sein, der esp an den adressen irgendwelche parameter laden will. lg ;-) > Bei einer Toilette hätte ich jetzt nicht gefragt. Aber beim Flash? bevor man ein glas neu füllen kann, sollte man den rest ausschütten ;-)
Marius D. schrieb: > Stromversorgung habe ich einfach an so nen USB-Serial mit 3,3V und > diesen CPD-Chips oder wie die heißen. Kann aber nicht richtig > vorstellen, dass das daran liegt (wenn ja beiße ich mich in Ar***). Pete sagte es:!!!!!! Mahlzeit - nimm das bitte auf Video auf! Und stell es auf you tube Genau das wird es sein! https://www.youtube.com/watch?v=1z33HvusM-A .. > > Morgen gebe ich ihm mal eine vom Netzteil - aber früher mit Version 0902 > ging das ja auch alles problemfrei - von daher.... stabilisierte stromversorgung A und O !!! > > > > Bootloader - prompt?! Ja, da war die Frage, wie erfahre ich das?! Terminal angeschlossem am ESP`? Dann reset mit GPIO0 auf GND und du liest den Prompt im Terminal.
Hey Rudi, mir ist gerade nochmal was aufgefallen. Wenn ich diese Daten (eagel.flash, etc..) drauf mache (also die Daten die in v1.3.0 sind, und beim Flash-Tool NICHT auf 8Mbit stelle, geht das gar nicht. Dann hängt er irgendwo drin. Wie hast du das gemacht, Reihenfolge, etc.. Hast du das gelesen wegen dem Bootloader prompt.
Also ich werde das mal testen mit der PowerSupply, aber bei USB (habe nur 3.0) blinkt die blaue LED etc...
Marius D. schrieb: > Cool Rudi!! Wirklich toll! Auch vielen Dank, dass du dir Zeit nimmst du hast mich heute voll erwischt - ich hab vergessen den internet rechner AUS zu Machen ;-) ;-) ;-) und ich kann da nicht anders - ich "muss" helfen! ;-) > Dein Terminal ist auch gut, mit VB geschrieben? Delphi (E6) > > Dafür gibt es nen Download-Link ;) > http://www.md-electronics.de/downloads.php ne soweit (will) [bin] ich noch nicht (sein) ;-) > > > DHCP, ja das auch bisschen komisch, denn ich kann DHCP einschalten oder > ausschalten, und egal wie, die IP kann ich trotzdem statisch setzen und > ändern und das geht sogar :o ja das hebt die erste regel auf,wenn du nach einer DHCP Regel eine Statische setzt.. dann klar, ist ja wie ein neues IP Setup > Nur leider läuft das noch nicht ganz so sauber wie bei dir. morgen läuft es, bin mir sicher - nachdem du den ameisen stemmer von usb versorgung gegen eine lkw batteroe gewechselt hast ;-) > > > Ich mache heute erstmal Schluss und gucke morgen weiter, ich würde mich > dann nochmal melden; so ganz läuft das noch nicht....MIST! ok ich schalt jetzt auch ab ;-) ganz schnell - schreib wie es dir ergangen ist morgen lese ich da mal wieder rein, aber wann weiss ich noch nicht > P.S.: Meiner soll später mit dem Atmel laufen, bin Atmel-Jünger ;). Mein > Lehrer hatte damals auch immer PICs. ich hab Pic wegen Günter Schmitt ;-) vieleicht kennt der eine oder andere den Besten der Besten ;-) guads nächtle auf welchen country abschnitt herbergst du? nähe bayern?...nähe niederbayern?.. wir können ja auf die Dult gehen ;-)
NRW, aber guads nächtle sage ich auch immer... In diesem Sinne: guads nächtle Rudi!
Marius D. schrieb: > > Wenn ich diese Daten (eagel.flash, etc..) drauf mache (also die Daten > die in v1.3.0 sind, und beim Flash-Tool NICHT auf 8Mbit stelle, geht das > gar nicht. Dann hängt er irgendwo drin. Wie hast du das gemacht, > Reihenfolge, etc.. schauh dir mal das Bild an. crystal 26M SPI Speed 40 MHZ SPI Mode QIO FLASH SIZE 4MBIT die Files und Adressen und bevor du auf Start drückst, sei sicher, dass die Stromversorgung nicht einbricht! .. > Hast du das gelesen wegen dem Bootloader prompt. Ja - ich hatte dir auch schon geantwortet ;-) bis morgen! ;-)
Hallo Rudi, ES LÄUFT!!!!!!!!!!!!!! Das Modul hat wohl ne Macke gehabt, ich habe es weggeschmissen und nen neues vom Lager genommen (hatte damals 20 stk gekauft, 1,10/stk). Habe schon damals an die Dinger geglaubt ;) Endlich, jetzt kann ich beruhigt schlafen. Liegt übrigends nicht an der Stromversorgung, die Spannungsversorgung via USB3 und diesem CP210x USB-Serial Converter klappt astrein, war wirklich nur das blöde Modul - hat nen ganzen Tag gekostet :|. Na wenigstens habe ich jetzt verstanden wie das im groben läuft. Da wir aber jetzt gerade mal dabei sind, muss, bzw würde ich dich gerne noch für ein Thema nerven. Wie kann man das machen, dass man wenn man sich mit dem AP verbindet, und dort dann den Browser öffnet, automatisch auf eine kleine Website kommt, auf der man alle verfügbaren Netzwerke gelistet hat, eins auswählen kann, Passwort eingibt und dann auf verbinden klickt ==> der ESP verbindet sich damit und ist zukünftig auch damit verbunden (weil ich kann das schlecht vorher machen, wenn mein Gerät mal beim Kumpel ist, bzw er auch eins bekommt und sich da mal was ändert).
Marius D. schrieb: > ES LÄUFT!!!!!!!!!!!!!! halleluja - halleluja - halleluja ;-) > Das Modul hat wohl ne Macke gehabt, alles war dabei - nur nicht de rtip nimm ein neues ;-) > Na wenigstens habe ich jetzt verstanden > wie das im groben läuft. so kommt man von ponti zu pilat schauh dir das mal an - das wäre etwas für dich! https://www.youtube.com/watch?v=Q0VWK4UHcg8 teil2 beantworte ich gleich noch ..
> Da wir aber jetzt gerade mal dabei sind, muss, bzw würde ich dich gerne > noch für ein Thema nerven. > Wie kann man das machen, dass man wenn man sich mit dem AP verbindet, ESP connect sich mit einem AP? oder lässt du einen ESP als AP laufen und ein PC client connected sich? > und dort dann den Browser öffnet, automatisch auf eine kleine Website > kommt, auf der man alle verfügbaren Netzwerke gelistet hat, eins > auswählen kann, Passwort eingibt und dann auf verbinden klickt ==> der > ESP verbindet sich damit und ist zukünftig auch damit verbunden (weil > ich kann das schlecht vorher machen, wenn mein Gerät mal beim Kumpel > ist, bzw er auch eins bekommt und sich da mal was ändert). a) kannst du das noch genauer beschreiben auf wem was läuft wo öffnet sich der browser, wo soll die automatische webseite gespeichert sein, wo alle verfügbaren netzwerke gelistet sind, b) schauh dir mal das esphttpd projekt an. das ist ein http server auf einen esp der listet alle verfügbaren ap auf draufklicken, passort eingeben und der esp verbindet sich damit. bis morgen ;-) jetzt mach ich feierabend in der zweiten schicht ;-) lg rudi ;-)
> b) > schauh dir mal das esphttpd projekt an. > das ist ein http server auf einen esp > der listet alle verfügbaren ap auf > draufklicken, passort eingeben und der esp verbindet sich damit. Ich habe kurz drüber geguckt, ich glaube ungefähr das ist das. Hier nochmal eine genauere Erklärung: ESP als Client & AP. Dann bekommt man das Gerät, verbindet sich mit dem AP (erzeugt vom ESP), öffnet den Browser (und wird zu einer Website geleitet, ggf. könnte man auch einen Link eintippen). Diese kleine Website listet einfach alles gefundenen Netzwerke auf, man kann eins auswählen, Passwort eingeben und auf verbinden klicken. Dann kann man sich trennen vom AP, und der ESP ist im ausgewählten Netzwerk (mit Flash-Speicherung, nicht _CUR Befehle). Jetzt kann man via APP oder PC-Terminal das Gerät steuern. Das wird auch bei vielen anderen Geräten so gemacht, ist ganz bequem und einfach. Cool wäre natürlich, wenn dieses mit der SDK 1.3 läuft, anpassen kann ich die Website ja schonmal mit den .tpl Dateien, allerdings, was jetzt wieder das Problem ist, die bekomme ich jetzt meine .bin Dateien daraus - es ist immer ne Qual.
Marius D. schrieb: > > ESP als Client & AP. ok. > > Dann bekommt man das Gerät, du gibst den esp in einem gerät weiter, ( DMX Controll mit Wifi Anbindung ) ( GartenHomeAutomat mit WIfi Anbindung ) ( 256 fach Relais Interface mit Wifi Anbindung ) usw > verbindet sich mit dem AP (erzeugt vom ESP), der benutzer kann sich damit über den hotspot (ESP AP ) verbinden. > öffnet den Browser das ist der punkt den ich zuvor schon nicht verstanden habe, der brwoser soll sich wo öffnen? auf dem esp? ( wozu ?) auf dem gerät? ( wozu ? ) > (und wird zu einer Website geleitet, ggf. könnte man > auch einen Link eintippen). der benutzer wird auf eine seite geleitet? > Diese kleine Website listet einfach alles > gefundenen Netzwerke auf, man kann eins auswählen, Passwort eingeben und > auf verbinden klicken. ok, dann verbdindet sich das vergebene gerät( mit esp ) zu diesem neuen Hotspot ( AP ) > Dann kann man sich trennen vom AP, der benutzer trennt sich vom gerät(mit esp drin) > und der ESP > ist im ausgewählten Netzwerk (mit Flash-Speicherung, nicht _CUR > Befehle). un das gerät is dann im hotspot auch im nächste reboot verbunden. > > Jetzt kann man via APP oder PC-Terminal das Gerät steuern. ok - > Das wird auch bei vielen anderen Geräten so gemacht, ist ganz bequem und > einfach. ok > > > Cool wäre natürlich, wenn dieses mit der SDK 1.3 läuft, verstehe ich jetzt nicht, ist es denn nicht egal, mit welcher sdk das projekt esphttpd läuft? die at commands stehen dir so oder so nicht zur verfügung, es sei denn, du änderst das projekt und bindest die at commands ein usw. > anpassen kann > ich die Website ja schonmal mit den .tpl Dateien, allerdings, was jetzt > wieder das Problem ist, die bekomme ich jetzt meine .bin Dateien daraus > - es ist immer ne Qual. ladt dir die Arduino IDE runter installiere dir die ESP Hardware lade das projekt esphttpd und passe es an. ich denke du kommst damit am schnellsten vorwärts. der nachteil, du bist halt angewiesen auf den support von der arduino ide. ich hab dich so verstanden: du hast ein gerät, nennen wir es einfach mal "Videorecorder mit Play Funktion" dieses gerät hast du einen esp verpasst, der über wifi seine commands bekommt und diese weiterleitet über uart, spi bzw i2c oder parallel 8 bit mode. jeder der sich über wifi mit dem esp verbinden kann, steuert den videorekorder. dein problem, wie binde ich den esp in das netzwerk des kunden ( spezi ) ein, sodass dieser dieses gerät von seinem netzwerk aus steuern kann. die steuerung des gerätes mal aussen vor gelassen, das wirst du schon fertig haben. der esp bekommt einen ap mode mit bekannter SSID und PWD. weg 1) der benutzer nutzt ein android gerät. da könntest du eine app erstellen, die zum esp-ap connectet, die start seite des esp aufruft, also der kunde muss die ip nicht wissen, das weiss die app. die app dient dann zugleich später als steuer app für das gerät. also ein menüeintrag einbauen in die vorhandene app -> Netzwahl darunter verbirgt sich dann, mit ESP-AP verbinden, die ssid und pwd weist du und hinterlegst das in der app, der ESP scant nach verfügbaren netzen und gibt diese in einer listbox zum auswählen an die App zurück. der kunde wählt aus, gibt sein pwd ein und der ESP connected sich mit dem netz "ALS CLIENT". der ap mode kann im esp weiterlaufen, für den fall, dass der kunde sein netzwerk mal umstellt, oder er kann sich danach auch abschalten, wenn das so gewünscht wird, bei bedarf kann der ap mode über die app wieder eingeschaltet werden um sich damit wieder verbinden zu können. weg 2) der benutzer nutzt einen pc gleiche vorgehensweise, andere application. weg 3) html5 - browseranwendung der ESP muss: einen AP Mode nach dem start zur verfügung stellen einen server bereitstellen, der commands entgegennimmt - netzwerk scannen - gefundene netze listen - mit ausgewähltes netz dauerhaft ( _DEF ) verbinden - weiter einen server bereitstellen für commands des gerätes wo liegt das problem? du kannst atmel also auch c nimm die SDK 1.3.0, die Docu dazu, mach dich vertraut mit der API und den funktionen, und bau dir das von grund auf selber auf. da du kein ota ( ubgrade ) brauchst, also mit einfachen bootloader an 0x00000 deiner anwendung an 0x40000 das wars. kein genmisc.bat kein boot1.2+ kein ärgern mit projektcode, den man erst verstehen muss, was der progger da meint. - buch zum einlesen der funktionen -> Beitrag "ESP8266 Freies eBook August 2015 'Kolban'" - fragen -> http://mikrocontroller.net alternative: du verpasst dem esp die AT Firmware aus dem SDK 1.3.0 du baust dir im atmel deine webseite die du über den uart auf request an den benutzer rausjagst. du aggierst die commands die vom benutzer kommen und wertest die im atmel aus, entsprechend reagierst du mit AT commands die du vom atmel aus am ESP absetzt. beispiel Netzwerkscan AT+CWLAP kein bin für den esp erstellen alles im atmel programmiert. lg ;-) Marius, welche IDE läuft jetzt reibungslos bei dir? Xtensa IDE für Windows NOVM Xtensa IDE für Windows VM über VirtualBox Luna IDE mit Cross Toolchain Andere IDE mit Cross Toolchain, welche IDE? Arduino IDE mit ESP Hardware Manager etc Mach ein neues eigenes Projekt. Erstelle darin eine simple "Hello World" und lass einen Gpio im Sekunden Takt blinken. Erstelle dir das Flash Image, den irom0text und flashe das in den den ESP. wenn das sitzt, steht anderen Projekten nichts im Weg, das Problem ist, es muss einmal richtig eingerichtet sein und laufen. Auch ich kämpfe noch mit Makefile Einstellungen wenn es komplexe Projekte sind, dann frage ich auch hier nach, einer hilft immer irgendwie weiter, oder gibt zumindest die richtige Denkrichtung vor, wie es gelöst werden kann, da das eine oder andere Flag vergessen wurde oder nicht gesetzt werden darf oder... Ok?! .. feierabend ;-)
Hallo Rudi, hast du soweit alles korrekt verstanden. Das Gerät ist aber nur für mich und meine Freunde, ist eine Beleuchtungselektronik mit 8 RGB-Channels, Wifi, USB und der Möglichkeit im Internet bspw. Wetterdaten, Uhrzeiten etc... zu holen (wenn ich weiß wie, dass die letzte Baustelle). Ich mag das einfach, wenn die Geräte so professionell und intuitiv zu bedienen sind wie möglich, alles andere ist benutzerunfreundlich. Meinen Freunden gebe ich die Geräte auch einfach nur mit Bedienungsanleitung, und da merkt man am Besten wo man noch optimieren kann. Die Gehäuse sind bspw. auch mit dem 3D-Drucker gemacht, sieht TOP! aus :) Meine Idee war halt, wenn ich mich bspw. mit dem PC und dem ESP AP verbinde, öffne ich auf dem PC den Browser, dort dann IP und so und dann komme ich auf eine kleine Website, wo ich bspw. dann das Netzwerk auswählen kann. Deine Idee (weg1 & weg2) ist allerdings ziemlich perfekt; Ich verbinde mich mit dem AP und dann läuft das zwischen dem Atmel (Xmega64A1) und dem VB-Terminal bzw. der Android-App. Dann brauche ich dort (erstmal) gar nichts anpassen und ändern an der ESP Software. Habe ich dann schön kompakt im Terminal und in der App. Ich habe früher immer alles mit Bluetooth gemacht, der ESP soll das jetzt ablösen. Wenn ich als Client bin beim ESP, dann kann ich ja via CIPSERVER=1,2020 nen Port öffnen, was ich ja brauche für APP & Terminal. Geht das auch beim AP? IP kann ich ja auch ändern, nur nen Server aufmachen wäre dann natürlich gut.
Marius D. schrieb: Hi Marius, > Deine Idee (weg1 & weg2) ist allerdings ziemlich perfekt; nein nein :)nichts ist perfekt, tip: wenn du die androidapp/winprog auf dem ESP hinterlegst, mit zugangsformular, das erscheint, wenn man mit einem browser die AP seite ansteuert. dann kann man sich die app/prog auf seine "fernbedienung" laden. bei esphttpd einfach mit in den html ordner aufnehmen und webseite anpassen, oder bei eigenem projekt, den http src sowie progs in den projekt code einbauen. welche ide verwendest du nun jetzt? lg ;-)
Marius D. schrieb: > Meine Idee war halt, wenn ich mich bspw. mit dem PC und dem ESP AP > verbinde, öffne ich auf dem PC den Browser, dort dann IP und so und dann > komme ich auf eine kleine Website, wo ich bspw. dann das Netzwerk > auswählen kann. btw: ist zwar schon fast ein jahr her, das war der erste customer web server der auf dem esp8266 lief, https://www.youtube.com/watch?v=Zuq7CZwrsAg der netzwerk scan ist dann nur noch eine weitere funktion. kommst du klar? wo eckt es? ..
Marius D. schrieb: > Geht das auch beim AP? IP kann ich ja auch ändern, nur nen Server > aufmachen wäre dann natürlich gut. es geht sogar mit zwei unterschieldichen ip's wenn client - dann das ganze home netzwerk wenn ap - dann von jedem angedockten client wenn client und ap - dann vom home netzwerk und jedem angedockten client wenn du über den home router portforwarding aktivierst weltweit , dazu muss der esp dann sogar als client zu deinem home netz verbunden werden. btw: der vorgänger zum web server auch schon fast ein jahr wieder her ;-) https://www.youtube.com/watch?v=l_n_N4wxvr8 der hatte alle möglichkeiten, u.a. auch über die uart den esp zu bedienen, oder auch über einen externen weiteren µC ( Atmel ;-) ) nice weekend! ;-)
Hi Rudi, ich habe einiges gemacht, und funktioniert soweit; aber jetzt habe ich wieder ein Problem. Hast du mal versucht, einen AP zu machen und dich damit zu verbinden? Das geht bei mir nicht. Ich mache es folgt: AT+UART_DEF=128000,8,1,0,0 AT+CWMODE_DEF=3 AT+CWSAP_DEF="aerolightV2","0123456789",4,4 wenn ich mich nun mit dem Netzwerk verbinden will, sagt der PC das es nicht möglich ist. Weißt du woran das liegt? Habe ich ggf. was falsch eingestellt? Hast du sowas mal getestet? Und dann noch eine Sache, wenn ich mit dem AP verbunden wäre, und ich würde auf die IP gehen, welchen Port muss ich dann nehmen, bzw kann ich den festlegen (CIPSERVER)? Oder ist das nur für Clientmode? EDIT: Verbinden/senden klappt via Smartphone APP, PC auch, ABER: PC kann sich nicht damit verbinden, Smartphone schon?!
Hallo Marius sei mir bitte nicht böse, aber um dir zielgerecht weiterhelfen zukönnen müsstest du auch einmal die gegenfragen beantworten die man dir stellt, bis heute weiss ich nicht, welche ide du für den esp benutzt! so wird das leider immer nur ein monolog. zu diesem verbindungsproblem jetzt: ich könnte jetzt anfangen von einzelnen windows versionen und jeder versionsbekannte wifi bugliste aufführen, das wird sehr lange oder du teilst einfach mit, welche windows version du einsetzt mit welchem ip adapter, ob über usb wlan oder eingebauten wifi im rechner...welcher hersteller - welche wifi tools. ...verstehe bitte, da gibt es unschier möglichkeiten. alles auf dem esp zu besziehen ist da eher unfair ;-) es fängt schon damit an, mit was du die wifi verwaltung am pc vornimmst. windows boardmittel oder tools der wifi hardware. wenn es mit dem android geht, und mit windows nicht, wird es nicht am esp liegen, nicht am AT command - eher an der config auf dem windows host wie er zum esp ap connecten soll. lg ;-)
PC - wird das ESP SSID am PC angezeigt beim scan? beim connect: richtiges SSID eingegeben? richtiges Passwort eingegeben? wird ein connect im wifi config angezeigt? startet das homenetz für die einrichtung? welches netzwerk wurde dazu ausgewählt? öffentliches wlan oder heimnetz? blockiert die firewall ? .. .. es gibt sehr viele gründe warum der pc nicht sofort verbindungen mit einem neuem WIFI SSID zulässt, wenn es eingerichtet wurde, und die piorotät in der netzwerkliste eingestellt ist, eventuell auf bevorzugt eingestellt, eventuell immer verbdinden, wenn netzwerk zur verfügung, etc.. dann sollte es klappen. welche ip wird verwendet? hast du einen static eintrag für den wifi adapter? oder dhcp? ist der dhcp eingestellt? die IP konform zum ESP netzknoten? .. ..
r_u_d_i schrieb: > bis heute weiss ich nicht, welche ide du für den esp benutzt! Sieht so aus wie keine ide für den esp, also "Standard AT". Es stellt sich eher die Frage: Welche Version der AT-Kommandos (SDK-Version, nicht IDE-Version) er benutzt. Aktuell wäre 0.40 vom 7. August, siehe Beitrag "Re: ESP8266 Netzwerk verbinden WDT Reset V0.9.5.2 sdk21" Aber wie findet Marius das raus? In dem Dokument oben steht es. Ich hoffe, ich konnte helfen.
;-) tja - was soll ich jetzt sagen ;-) so wird es sein - keine ide - nur at. ;-)
r_u_d_i schrieb: > ;-) tja - was soll ich jetzt sagen ;-) > > so wird es sein - keine ide - nur at. > > ;-) Ist korrekt. Hast du Erfahrung mit den GET befehlt auf dem ESP? Ich würde gerne Wetter und Uhrzeit abrufen, habe dazu folgendes gefunden: http://thomaspfeifer.net/esp8266_wlan_seriell_modul_at_kommandos.htm Allerdings ist es bei mir so, dass es sagt "SEND OK", und dann schließt der die Verbindung, er übermittelt mir keine Daten. Gibt es ggf. noch eine andere Lösung, Uhrzeit und Wetter vom aktuellen Standort zu holen?
r_u_d_i schrieb: > ;-) tja - was soll ich jetzt sagen ;-) > > so wird es sein - keine ide - nur at. > > ;-) Hi Rudi, hoffe, du hast den Thread nicht ausgeschaltet - soweit läuft jetzt alles richtig super bei mir! Danke dir nochmals!! Auf dem PC klappt schonmal alles - beim Handy im groben auch - da läuft das per HTTP GET und PUT. Hast du das schonmal gemacht? Bei mir geht der GET Befehlt nicht ganz, wenn der ESP ein GET-Befehl bekommt, sende ich per AT+CIPSEND die Datenlänge, Nutzer und danach die Daten. Leider kommt das beim Telefon nicht an. Ist das auf der ESP-Seite korrekt ausgeführt?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.