Einfacher Webserver mit PIC24 + ESP8266

#3812037
Lesenswert?

Da am Freitag meine ESP8266 Module gekommen sind habe ich das Wochenende 
zum Programmieren genutzt und einen einfachen Webserver programmiert. 
Ziel des Projekts war es RGB LEDs über eine Website zu steuern. Momentan 
da der verwendete PIC24F16KA102 zu wenig PWM Module hat sind es Momentan 
WS2812 LEDs, alle die gleiche Farbe. Die Website sieht so wie im Anhang 
aus. Man kann über ein GET Request die Farbe einstelle. Das geht über 
die Buttons, die Textbox mit RBG-Werten als Hex-Zahl (RRGGBB) oder die 
Adressleiste IP/?color=RRGGBB. Zusätzlich werden die IP, die Aktuelle 
Farbe und ein paar debug Infos auf einem LCD angezeigt.

In Anhang die Sources, ich bin für Rückmeldungen und 
Verbesserungsvorschläge offen.

BTW: Toller Artike, hat mir weitergeholfen: FIFO
Angehängte Dateien:
#3812565
Lesenswert?

@Max H: vielen dank. ich habe heute ein solches modul bestellt und sagte 
mir, bis ich meines habe, hat sicher jemand ein kleiner webserver 
programmiert - schneller gegangen als ich dachte :-) ich wäre sehr froh, 
wenn ich bei einem kontroller via webseite einstellungen ändern könnte: 
ein kleiner webserver mit dem ESP8266 trifft somit perfekt meinen 
wunsch.
ps: ich würde in deinem code das passwort nicht bekannt geben (d.h. 
inhalt editieren) oder dein router-pw ändern.
#3813048
Lesenswert?

Danke. Im Eröffnungspost jetzt eine neue main ohne Passwort.
Zusätzlich habe ich noch noch etwas erweitert:
Nach dem AT+CWJAP wird für bis zu ca. 10 sekunden Lang die immer wieder 
die IP abgefragt. Habe ich eine IP wird sie auf dem LCD ausgegeben, habe 
ich nach 10s keine IP wird eine Fehlermeldung ausgegeben...
#3825629
Lesenswert?

Ein ähnlicher Aufbau soll bei mir auch kommen, wobei ich den Webserver 
auf einem Raspberry ablegen möchte, damit auf der WLAN-Leitung am Ende 
wirklich nur die Farben übertragen werden.

Wie ist die Übertragungs- bzw. Verarbeitungszeit der Anfrage? Sprich: 
Wie lange dauert es, bis vom Absenden des Formulares zur Farbänderung am 
Ende die Farbe für dich sichtbar ist? Ist da eine spürbare Verzögerung 
oder ist das zu vernachlässigen?
#3829964
Lesenswert?

Wenn man nur 4 Byte übertragen muss wird es wahrscheinlich schneller 
gehen, da der PIC nicht erst das GET Request auswerten und die Website 
senden muss. Das ich im Test mit WS2812 LEDs gearbeitet habe verlängert 
das die Verzögerung nochmal, da ich mit dem ausgeben der RGB Werte 
warten muss bis ruhe auf dem UART ist, da die Interrupts die Übertragung 
störe.
#4299928
Lesenswert?

Hallo zusammen,

das ganze geht im Übrigen auch komplett ohne PIC bzw. µC.
Ich habe auf meinem ESP-03 Modul die Firmware NodeMCU laufen und das 
Script zur Ansteuerung meiner RGB-LED Pixel (WS2801) in LUA 
programmiert.
Das Pixel (Dat + Clk) hängt direkt auf zwei I/O Pins des Moduls und wird 
von diesem angesteuert.

Die Farbe konnte ich im ersten Versuch, ähnlich zum Projekt von Max, 
über eine auf dem im Modul porgrammierten Webserver bzw. Webseite 
ändern.

Mittlerweile habe ich aber eine nette Android-App (ArduinoPixel) 
gefunden und adaptiert, welche mir von der Oberfläche her sehr gut 
gefällt. Hier kann die Farbe mittels eines Farbrads gewählt werden.

Die App kommuniziert dabei direkt per Serverrequests mit dem ESP-03 
Modul zu und übergibt die Farbe als Antwort.

Gruß Andreas

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren