This commit is contained in:
Dmitry Borisenko
2020-09-04 18:58:03 +03:00
parent a258c8c1b6
commit 799118d763
29 changed files with 630 additions and 633 deletions

View File

@@ -1,36 +1,37 @@
#ifdef SSDP
#include <SSDP.h>
#include "Global.h"
#ifdef SSDP_EN
#ifdef ESP8266
#include <ESP8266SSDP.h>
#endif
#ifdef ESP32
#include <ESP32SSDP.h>
#endif
#include <SSDP.h>
#include "Global.h"
//39164
//457684
void SsdpInit() {
server.on("/description.xml", HTTP_GET, [](AsyncWebServerRequest* request) {
String ssdpSend = "<root xmlns=\"urn:schemas-upnp-org:device-1-0\">";
String ssdpHeder = xmlNode("major", "1");
ssdpHeder += xmlNode("minor", "0");
ssdpHeder = xmlNode("specVersion", ssdpHeder);
ssdpHeder += xmlNode("URLBase", "http://" + WiFi.localIP().toString());
String ssdpDescription = xmlNode("deviceType", "upnp:rootdevice");
ssdpDescription += xmlNode("friendlyName", jsonReadStr(configSetupJson, "name"));
ssdpDescription += xmlNode("presentationURL", "/");
ssdpDescription += xmlNode("serialNumber", getChipId());
String ssdpSend = F("<root xmlns=\"urn:schemas-upnp-org:device-1-0\">");
String ssdpHeder = xmlNode(F("major"), "1");
ssdpHeder += xmlNode(F("minor"), "0");
ssdpHeder = xmlNode(F("specVersion"), ssdpHeder);
ssdpHeder += xmlNode(F("URLBase"), "http://" + WiFi.localIP().toString());
String ssdpDescription = xmlNode(F("deviceType"), F("upnp:rootdevice"));
ssdpDescription += xmlNode(F("friendlyName"), jsonReadStr(configSetupJson, F("name")));
ssdpDescription += xmlNode(F("presentationURL"), "/");
ssdpDescription += xmlNode(F("serialNumber"), getChipId());
#ifdef ESP8266
ssdpDescription += xmlNode("modelName", "ESP8266");
ssdpDescription += xmlNode(F("modelName"), F("ESP8266"));
#endif
#ifdef ESP32
ssdpDescription += xmlNode("modelName", "ESP32");
ssdpDescription += xmlNode(F("modelName"), F("ESP32"));
#endif
ssdpDescription += xmlNode("modelNumber", getChipId());
ssdpDescription += xmlNode("modelURL", "https://github.com/IoTManagerProject/IoTManager/wiki");
ssdpDescription += xmlNode("manufacturer", "Borisenko Dmitry");
ssdpDescription += xmlNode("manufacturerURL", "https://github.com/IoTManagerProject/IoTManager");
ssdpDescription += xmlNode("UDN", "uuid:38323636-4558-4dda-9188-cda0e6" + decToHex(ESP.getChipId(), 6));
ssdpDescription += xmlNode(F("modelNumber"), getChipId());
ssdpDescription += xmlNode(F("modelURL"), F("https://github.com/IoTManagerProject/IoTManager/wiki"));
ssdpDescription += xmlNode(F("manufacturer"), F("Borisenko Dmitry"));
ssdpDescription += xmlNode(F("manufacturerURL"), F("https://github.com/IoTManagerProject/IoTManager"));
ssdpDescription += xmlNode(F("UDN"), "uuid:38323636-4558-4dda-9188-cda0e6" + decToHex(ESP.getChipId(), 6));
ssdpDescription = xmlNode("device", ssdpDescription);
ssdpHeder += ssdpDescription;
ssdpSend += ssdpHeder;
@@ -39,8 +40,8 @@ void SsdpInit() {
request->send(200, "text/xml", ssdpSend);
});
//Если версия 2.0.0 закаментируйте следующую строчку
SSDP.setDeviceType("upnp:rootdevice");
SSDP.setSchemaURL("description.xml");
SSDP.setDeviceType(F("upnp:rootdevice"));
SSDP.setSchemaURL(F("description.xml"));
SSDP.begin();
}