//This example acts like a websever. It can create an access point or join an existing WiFI network. //All text that's entered in the served page will bis displayed on the connected VGA screen. //You need to connect a VGA screen cable to the pins specified below. //cc by-sa 4.0 license //bitluni #include #include #include //ESP32Lib headers #include #include //true: creates an access point, false: connects to an existing wifi const bool AccessPointMode = true; //wifi credentials (enter yours if you arne not using the AccessPointMode) const char *ssid = "VGA"; const char *password = ""; //pin configuration, change if you need to const int redPin = 14; const int greenPin = 19; const int bluePin = 27; const int hsyncPin = 32; const int vsyncPin = 33; //the webserver at pot 80 WebServer server(80); //The VGA Device VGA3Bit vga; //include html page const char *page = #include "page.h" ; ///Html page is sent on root void sendPage() { server.send(200, "text/html", page); } ///Received text will be displayed on the screen void text() { server.send(200, "text/plain", "ok"); vga.println(server.arg(0).c_str()); } ///initialization void setup() { Serial.begin(115200); //Handle the WiFi AP or STA mode and display results on the screen if (AccessPointMode) { Serial.println("Creating access point..."); WiFi.softAP(ssid, password, 6, 0); } else { Serial.print("Connecting to SSID "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); vga.print("."); } } //start vga on the specified pins vga.init(vga.MODE400x300, redPin, greenPin, bluePin, hsyncPin, vsyncPin); //make the background blue vga.clear(vga.RGBA(0, 0, 255)); vga.backColor = vga.RGB(0, 0, 255); //select the font vga.setFont(Font6x8); //send page on http:/// server.on("/", sendPage); //receive text on http:///text server.on("/text", text); //start the server server.begin(); //display some text header on the screen including the ip vga.clear(vga.RGBA(0, 0, 255)); vga.setCursor(0, 0); vga.println("----------------------"); vga.println("bitluni's VGA Terminal"); if (AccessPointMode) { vga.print("SSID: "); vga.println(ssid); if (strlen(password)) { vga.print("password: "); vga.println(password); } vga.println("http://192.168.4.1"); } else { vga.print("http://"); vga.println(WiFi.localIP().toString().c_str()); } vga.println("----------------------"); } void loop() { //process the server stuff server.handleClient(); delay(10); }