Zuerst mal ein Herzliches Hallo ich hätte eine frage an euch ich beschäftige mich seit kurzem mit dem WLANmodul ESP8266 bin derzeit soweit das es sich in mein Wlan einloggt und auch erreichbar ist. aber ich habe irgendwo einen Gedankenknopf ich habe auf einen Kontroller einen Webserver laufen der über eine Lankarte gut funkt. aber irgendwie ist mir noch nicht klar wie ich den über das Wlan bekommen soll. Ich verwende derzeit Softwareserial ich weiss das es nicht schnell ist aber derzeit geht es nicht anders. und da ist ein Browseraufruf sehr sehr langsam. Wer hat soweit mit dem Modul Erfahrunmg und kann mir sagen ob auch komplexere Webseiten über das Modul zubekommen sind und wo ich ansetzen muss um das hinzubekommen. Da ich ja lernen will ist es nicht notwendig mir da einen Code zu schreiben ich möchte nur Wissen ist es möglich und geht das nur mit den AT befehlen oder reicht es mit den AT befehlen die TCP verbindung zu öffnen. Beim Lan modul ist es so das ich der Daten Stream über die SPI schnittstelle läuft wo ich mich um den Datenstream so nicht kümmern muss wie ist das beim WLANmodul ? und kann man den Webserver so belassen wie er derzeit über LANmodul läuft oder muss ich den dann komplett umschreiben. Wäre super wenn mir wer dazu Infos geben könnte ob das Modul für solche Anwendungen geeignet ist. Sage jetzt schon vielen Dank für eure hilfe und Infos MFG Mark
Mark J. schrieb: > Da ich ja lernen will ist es nicht notwendig > mir da einen Code zu schreiben ich möchte nur Wissen ist es möglich > und geht das nur mit den AT befehlen oder reicht es mit den AT > befehlen die TCP verbindung zu öffnen Bei mir läuft es ungefähr so ab: 1) Mit AT+CWJAP ins WLAN einloggen 2) Mit AT+CIPSERVER den Server starten 3) Warten bis das http-Request kommt 4) http-Request auswerten 5) Mit AT+CIPSEND antworten 6) Mit AT+CIPCLOSE die Verbindung beenden 7) GOTO 3) Falls es dir weiterhilft: Ich habe hier einen Webserver für einen PIC24 in C der die AT+Befehle verwendet gepostet: Beitrag "Einfacher Webserver mit PIC24 + ESP8266"
Max H. schrieb: > Mark J. schrieb: >> Da ich ja lernen will ist es nicht notwendig >> mir da einen Code zu schreiben ich möchte nur Wissen ist es möglich >> und geht das nur mit den AT befehlen oder reicht es mit den AT >> befehlen die TCP verbindung zu öffnen > Bei mir läuft es ungefähr so ab: > 1) Mit AT+CWJAP ins WLAN einloggen > 2) Mit AT+CIPSERVER den Server starten > 3) Warten bis das http-Request kommt > 4) http-Request auswerten > 5) Mit AT+CIPSEND antworten > 6) Mit AT+CIPCLOSE die Verbindung beenden > 7) GOTO 3) > > Falls es dir weiterhilft: Ich habe hier einen Webserver für einen PIC24 > in C der die AT+Befehle verwendet gepostet: > Beitrag "Einfacher Webserver mit PIC24 + ESP8266" Hallo Max Danke für deine Info die At Commandos das alles hab ich schon soweit intus das ich es verstehe und ich den beitrag von dir hab ich sehr interessiert schon gelesen :-) ich hab eine Atmega prozessor. was mir kopfzerbrechen macht ist die UART schnittstelle und ich hab iwo gelsene das es da eine zeilen beschränkung gibt mit den Zeichen pro Zeile. ich möchte mir halt sparen den Webserver neu zu schreiben da es doch schon sehr komplex ist mit zeit Steuerung Temp Regelung Ip Adressen vergabe Anzeige von zuständen der Schalter. und diese konstrukt würde ich gerne so über die Schnittstelle jagen. aber der zündente funke fehlt da noch. um das Wlanmodul so zu implementieren das ich in einem einfachen Schritt die Website vom Kontroller über das modul bekomme so wie es eben über LAn geht da hab ich eine Webserver Lib eine Ethernet Lib und eine SPI Lib die das alles händelt. das Thema Wlan gepaart mit UART ist für mich neuland. danke das du deinen Code so zur verfügung stellst. ich werde mir das nun näher anshen man lernt ja nicht aus und man will ja lernen :-) LG Mark
Mark J. schrieb: > und ich hab iwo gelsene das es da eine zeilen > beschränkung gibt mit den Zeichen pro Zeile Falls du das meinst: In der at_v0.20 (die neueste dessen Sources ich habe) ist die Lände der Nachricht pro AT+CIPSEND auf 2048 beschränkt. Das kann man aber recht einfach lösen, ungefähr so:
1 | void sendLongData(cahr *data, int length, int id) |
2 | {
|
3 | int tx_counter = 0; |
4 | for( ; tx_counter < length; tx_counter += 2048) |
5 | {
|
6 | int send_lenght = length > (tx_counter + 2048) ? 2048 : length - tx_counter; |
7 | sendData(data + tx_counter, send_lenght, id); |
8 | }
|
9 | }
|
10 | |
11 | // Sends up to 2048 character long data by using AT+CIPSEND
|
12 | sendData(cahr *data, int length, int id) |
13 | {
|
14 | ...
|
15 | }
|
Max H. schrieb: > Mark J. schrieb: >> und ich hab iwo gelsene das es da eine zeilen >> beschränkung gibt mit den Zeichen pro Zeile > Falls du das meinst: In der at_v0.20 (die neueste dessen Sources ich > habe) ist die Lände der Nachricht pro AT+CIPSEND auf 2048 beschränkt. > Das kann man aber recht einfach lösen, ungefähr so: >
1 | > void sendLongData(cahr *data, int length, int id) |
2 | > { |
3 | > int tx_counter = 0; |
4 | > for( ; tx_counter < length; tx_counter += 2048) |
5 | > { |
6 | > int send_lenght = length > (tx_counter + 2048) ? 2048 : length - |
7 | > tx_counter; |
8 | > sendData(data + tx_counter, send_lenght, id); |
9 | > } |
10 | > } |
11 | >
|
12 | > // Sends up to 2048 character long data by using AT+CIPSEND |
13 | > sendData(cahr *data, int length, int id) |
14 | > { |
15 | > ... |
16 | > } |
17 | >
|
Hy Max das kommt schon so hin was ich mir vorstlle jetzt wäre noch meine Frage wie gesagt hab da denn fertigen Webserver der mit Server.Print alles bereit stellt muss ich das dann alles mit AT Kommandos machen ? oder kann ich dennoch weiter alles mit Server.Print machen. Sprich ich möchte nicht den Webserver über dieses Kommando AT+CIPSERVER starten sondern nur am Wlan das TCP und die UART Schnittstelle aktivieren. sollte ich etwas unverständlich schreiben bitte gleich sagen :-) Prinzipiell sind mir schon vielle dinge Bewusst und auh verständlich aber auch noch sehr vieles unklar da ich mich mit dem Thema Microkonntroller erst seit kurzem beschäftige ich will halt nicht nur abkupfern sondern alles verstehen daher versuche ich alles selbst zu schreiben aber manchmal raucht halt der kopf da ich in beide richtungen gerade lerne HW und SW kenne mich zwar elektronisch aus aber alle Bauteile kann man nicht wissen und Datenblätter liefern mir zwar die Info was mit dem oder dem Bauteil möglich ist aber die grenze wird dann aufgezeigt wenn man es in ein Projekt implementieren will. ich sage vielen vielen Dank das du dir die Zeit nimmst mir da Infos zugeben über das Wlanmodul das so wie ich es jetzt mal testen konnte ja durchaus gut läuft und sich wunderbar in eine Wlan umgebung intgerieren lässt. ich muss heruasfinden wo die grenzen von dem modul liegen da in weiterer Folge nicht nur der WEbserver über die Schnistelle laufen soll sondern auch eine Camera mit LiveStream. was ich bisher Programmiert habe und das freut mich läuft sehr stabil.
Mark J. schrieb: > Server.Print alles bereit stellt muss ich das dann alles mit AT > Kommandos machen ? oder kann ich dennoch weiter alles mit Server.Print > machen. Um die AT+Befehle wirst du nicht herumkommen*, du kannst sie aber wenn du willst alle in der Server Klasse verstecken. > Sprich ich möchte nicht den Webserver über dieses Kommando AT+CIPSERVER > starten sondern nur am Wlan das TCP und die UART Schnittstelle > aktivieren. Das verstehe ich jetzt nicht genau. Der AT+CIPSERVER Befehlt ist genau der vom Hersteller eingebaute Weg um den TCP-Server zu starten*, wie hättest du ihn gern gestartet? * Außer du flashst eine alternative Firmware.
Max H. schrieb: > Mark J. schrieb: >> Server.Print alles bereit stellt muss ich das dann alles mit AT >> Kommandos machen ? oder kann ich dennoch weiter alles mit Server.Print >> machen. > Um die AT+Befehle wirst du nicht herumkommen*, du kannst sie aber wenn > du willst alle in der Server Klasse verstecken. > >> Sprich ich möchte nicht den Webserver über dieses Kommando AT+CIPSERVER >> starten sondern nur am Wlan das TCP und die UART Schnittstelle >> aktivieren. > Das verstehe ich jetzt nicht genau. Der AT+CIPSERVER Befehlt ist genau > der vom Hersteller eingebaute Weg um den TCP-Server zu starten*, wie > hättest du ihn gern gestartet? > > > * Außer du flashst eine alternative Firmware. Hallo Max :-) das wusste ich das man mit AT+clipserver den Server startet ich habe gehofft das ich das umgehen kann :-) Meine Überlegung lag eher darin alle Schnittstellen zu öffnen sprich TCP und UART und den Webserver so zu ändern das er nicht über die SPI schnittstelle geht sondern über die UART. Ich hab es ja fast befürchtet das du mir das sagst das ich über die AT kommandos nicht hinweg komme zumindest nicht beim 01 modul bei anderen hab ich ja mehr pins zur verfügung und kann auch SPI nutzen wenn ich es richtig gelesen habe. ich könnte noch I2C nehmen aber ob das was bringt ? wie meinst du das die AT kommandos in der Serverklasse verstecken ? ich habe ja folgendes Problem ich habe schon die fertigen Pläne für die Platine und das Programm läuft dann auf einen Xmega256 A3BU derzeit läuft es auf einen Atmega328 warum 328 weil ich mir damit selbst ein Eval Board gebaut habe was ja Grundsätzlich nicht schwer ist wenn man Datenbätter versteht :-) . Deine Infos sind sehr sehr hilfreich wenn auch nicht zufriedenstellend in dem Sinn das meine Überlegungen über den Haufen geworfen werden :-) Mit der Lanschnittstelle ging es so einfach ggggg aber okay wenn diese Problem gelöst ist dann wieder sehr viel gelernt was ja auch gut ist :-) Das Wlanmodul wird mich jetzt auch wieder so lange Beschäftigen wie die Zeitsteuerung wo ich lange gebraucht habe einen Weg zufinden wie ich es steuern wollte ich suche immer den für mich einfachsten Weg :-) DANKE nochmal
Mark J. schrieb: > Ich hab es ja fast > befürchtet das du mir das sagst das ich über die AT kommandos nicht > hinweg komme zumindest nicht beim 01 modul bei anderen hab ich ja mehr > pins zur verfügung und kann auch SPI nutzen wenn ich es richtig gelesen > habe. Das nützt dir aber auch nur wenn sich das ESP in SPI Modus exakt gleich wie dein Aktuelles SPI Modul verhält. Welches SPI Modul verwendest du eigentlich? > wie meinst du das die AT kommandos in der Serverklasse verstecken ? Die Server.Print Methode wird interne wahrscheinlich irgendetwas mit SPI machen. Wenn du eine eigene Server Klasse mit Methoden, die die AT+Befehle verwenden und sich nach außen gleich verhalten, schreibst wird der Rest der Programmes nicht merken, dass Server.print jetzt mit den AT+Befehle arbeitet. Die AT+Befehle wurden also sozusagen vor dem Rest des Programmes versteckt.
Max H. schrieb: > Mark J. schrieb: >> Ich hab es ja fast >> befürchtet das du mir das sagst das ich über die AT kommandos nicht >> hinweg komme zumindest nicht beim 01 modul bei anderen hab ich ja mehr >> pins zur verfügung und kann auch SPI nutzen wenn ich es richtig gelesen >> habe. > Das nützt dir aber auch nur wenn sich das ESP in SPI Modus exakt gleich > wie dein Aktuelles SPI Modul verhält. Welches SPI Modul verwendest du > eigentlich? >> wie meinst du das die AT kommandos in der Serverklasse verstecken ? > Die Server.Print Methode wird interne wahrscheinlich irgendetwas mit SPI > machen. Wenn du eine eigene Server Klasse mit Methoden, die die > AT+Befehle verwenden und sich nach außen gleich verhalten, schreibst > wird der Rest der Programmes nicht merken, dass Server.print jetzt mit > den AT+Befehle arbeitet. Die AT+Befehle wurden also sozusagen vor dem > Rest des Programmes versteckt. Ich verwende ein Wiznet WS5100 Modul mit SPI. Das ist mir Bewusst das ich das Wlan auch so hinbiegen muss das es sich wie mein Jetziges modul verhält. Laut ESP Forum gibt es angeblich sowas das sich das modul dann so verhält. Aber der andere Ansatz gefällt mir gut hat Charme :-) das könnte die lösung sein :-). Wie bist du mit dem modul zufrieden ? Das was du mir sagst sind dinge die mir auf SW seite noch fehlen hier zu wissen wie man da ansetzen muss um das zu lösen .
Mark J. schrieb: > Wie bist du mit dem modul zufrieden ? Das Modul gefällt mir zum "rumspielen" ganz gut, wirkliche Erfahrungen konnte ich noch keine Sammeln, da ich noch kein fertiges Projekt habe. Das mit dem PIC24 Webserver habe ich aber schon lange aufgegeben um programmiere den ESP8266 stand-alone.
Max H. schrieb: > Mark J. schrieb: >> Wie bist du mit dem modul zufrieden ? > Das Modul gefällt mir zum "rumspielen" ganz gut, wirkliche Erfahrungen > konnte ich noch keine Sammeln, da ich noch kein fertiges Projekt habe. > Das mit dem PIC24 Webserver habe ich aber schon lange aufgegeben um > programmiere den ESP8266 stand-alone. Das habe ich gelesen dass das geht und ist auch interessant für kleine Anwendungen. ich habe ein Projekt wo wir das Modul einsetzen wollen weil es von der grösse her sehr gut in das Gehäuse reinpasst und Grundsätzlich von dem was es kann auch reicht. Hab auch gelesen wenn man es ordentlich mit strom versorgt soll es ganz gut gehen. die Tests werden es zeigen. Wobei ich da ich aus der Netzwerk Technik komme mir Persönlich eigentlich Kabel lieber ist. Aber da Flexibilität angesagt ist ist das WLAN Modul besser.
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.