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.
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.
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.
..
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?
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.
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.
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 PIC24https://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.
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 ;-)
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.
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?