mirror of
https://git.mirrors.martin98.com/https://github.com/luc-github/ESP3D.git
synced 2025-08-05 01:20:42 +08:00

### Maintenance page * Add add tab color for mobile view * Add spellcheck off / autocorect off in input * Add disconnect button when authenticate enabled * Add Invalid user or password message when authentication failed ### Board support * Add ESP32 S2 support * Add ESP32 S3 support * Add ESP32 C3 support ### ESP commands * Add command 701 to control GCODE streaming * Remove command 901 as duplicate * Update command 420 to add more details * Use text as default output * All json on all commands for formated output ### Core * Add benchmak function to check transfer speed (for test only-not production) * Merge code for ESP3DLib support * Add better printer display support (M117 / Serial TFT) * Use ESP32 analogWrite instead of emulated one ### Modules * Display * Refactor code * Remove SPI ILI 9341 / 9488 support as not suitable * Add ST7789 support (135x240 / 240x240) * Filesystem * Bug fixes due to esp core updates * Better SD sharing mecanism * Better global FS management * FTP * Add SD sharing support * Better global FS management * GCODE Host * Add basic support for macro files * Add ESP command support * Use not blocking method to stream commands / handle response * Notifications * Add IFTTT notification service * Add WebUI notification * Add ESP3D display notification * WebDav * Add SD sharing support * Add bug fix from https://github.com/d-a-v/ESPWebDAV * Better global FS management * Websocket * Add function to handle zombies connections * WiFi * Fix connection to AP sometime fail * Fix low signal not diplayed in ESP420 even connected * Add AP Setup mode ### Libraries * Update SDFat-2.0.6 to 2.1.2 * Update ESP32SSDP 1.1.1 to 1.2.0 * Update TFT_eSPI-1.4.11 to 2.4.61 * Update arduinoWebSockets-2.3.5 to 2.3.6 * Update esp8266-oled-ssd1306-4.0.0 to 4.3.0 * Remove lvgl support ### Tools * Add I2C scanner script * Add python script to simulate/stress printer serial communication ### PlatformIO * Use latest 4.4.0 Espressif32 release (ESP32-arduino core 2.0.3) * Add fix for Flash more than 4MB * Add Esp32 S2/S3/C3 env * Add ESP32-ST7789 / esp32-TTGO_T_Display env
106 lines
3.6 KiB
C++
106 lines
3.6 KiB
C++
#include <WiFi.h>
|
|
#include <WebServer.h>
|
|
#include <ESP32SSDP.h>
|
|
|
|
const char* ssid = "********";
|
|
const char* password = "********";
|
|
|
|
WebServer HTTP(80);
|
|
|
|
void setup()
|
|
{
|
|
Serial.begin(115200);
|
|
Serial.println();
|
|
Serial.println("Starting WiFi...");
|
|
|
|
WiFi.mode(WIFI_STA);
|
|
WiFi.begin(ssid, password);
|
|
if(WiFi.waitForConnectResult() == WL_CONNECTED) {
|
|
|
|
Serial.printf("Starting HTTP...\n");
|
|
HTTP.on("/index.html", HTTP_GET, []() {
|
|
HTTP.send(200, "text/plain", "Hello World!");
|
|
});
|
|
HTTP.on("/description.xml", HTTP_GET, []() {
|
|
SSDP.schema(HTTP.client());
|
|
});
|
|
HTTP.begin();
|
|
|
|
//set schema xml url, nees to match http handler
|
|
//"ssdp/schema.xml" if not set
|
|
SSDP.setSchemaURL("description.xml");
|
|
//set port
|
|
//80 if not set
|
|
SSDP.setHTTPPort(80);
|
|
//set device name
|
|
//Null string if not set
|
|
SSDP.setName("Philips hue clone");
|
|
//set Serial Number
|
|
//Null string if not set
|
|
SSDP.setSerialNumber("001788102201");
|
|
//set device url
|
|
//Null string if not set
|
|
SSDP.setURL("index.html");
|
|
//set model name
|
|
//Null string if not set
|
|
SSDP.setModelName("Philips hue bridge 2012");
|
|
//set model description
|
|
//Null string if not set
|
|
SSDP.setModelDescription("This device can be controled by WiFi");
|
|
//set model number
|
|
//Null string if not set
|
|
SSDP.setModelNumber("929000226503");
|
|
//set model url
|
|
//Null string if not set
|
|
SSDP.setModelURL("http://www.meethue.com");
|
|
//set model manufacturer name
|
|
//Null string if not set
|
|
SSDP.setManufacturer("Royal Philips Electronics");
|
|
//set model manufacturer url
|
|
//Null string if not set
|
|
SSDP.setManufacturerURL("http://www.philips.com");
|
|
//set device type
|
|
//"urn:schemas-upnp-org:device:Basic:1" if not set
|
|
SSDP.setDeviceType("rootdevice"); //to appear as root device, other examples: MediaRenderer, MediaServer ...
|
|
//set server name
|
|
//"Arduino/1.0" if not set
|
|
SSDP.setServerName("SSDPServer/1.0");
|
|
//set UUID, you can use https://www.uuidgenerator.net/
|
|
//use 38323636-4558-4dda-9188-cda0e6 + 4 last bytes of mac address if not set
|
|
//use SSDP.setUUID("daa26fa3-d2d4-4072-bc7a-a1b88ab4234a", false); for full UUID
|
|
SSDP.setUUID("daa26fa3-d2d4-4072-bc7a");
|
|
//Set icons list, NB: optional, this is ignored under windows
|
|
SSDP.setIcons( "<icon>"
|
|
"<mimetype>image/png</mimetype>"
|
|
"<height>48</height>"
|
|
"<width>48</width>"
|
|
"<depth>24</depth>"
|
|
"<url>icon48.png</url>"
|
|
"</icon>");
|
|
//Set service list, NB: optional for simple device
|
|
SSDP.setServices( "<service>"
|
|
"<serviceType>urn:schemas-upnp-org:service:SwitchPower:1</serviceType>"
|
|
"<serviceId>urn:upnp-org:serviceId:SwitchPower:1</serviceId>"
|
|
"<SCPDURL>/SwitchPower1.xml</SCPDURL>"
|
|
"<controlURL>/SwitchPower/Control</controlURL>"
|
|
"<eventSubURL>/SwitchPower/Event</eventSubURL>"
|
|
"</service>");
|
|
|
|
Serial.printf("Starting SSDP...\n");
|
|
SSDP.begin();
|
|
|
|
Serial.printf("Ready!\n");
|
|
} else {
|
|
Serial.printf("WiFi Failed\n");
|
|
while(1) {
|
|
delay(100);
|
|
}
|
|
}
|
|
}
|
|
|
|
void loop()
|
|
{
|
|
HTTP.handleClient();
|
|
delay(1);
|
|
}
|