ESP8266 SSDP - Not showing on Windows?

1.7k views Asked by At

I've got the ESP8266SSDP library running on my NodeMCU, and have it configured like so:

SSDP.setSchemaURL("test.xml");
SSDP.setHTTPPort(80);
SSDP.setName("Addressable Strip");
SSDP.setSerialNumber("001788102201");
SSDP.setURL("index.html");
SSDP.setModelName("ESP8266");
SSDP.setModelNumber("929000226503");
SSDP.setModelURL("http://www.google.com");
SSDP.setManufacturer("Nobody");
SSDP.setManufacturerURL("http://www.google.com");
SSDP.setDeviceType("upnp:rootdevice");
if(SSDP.begin()){
  Serial.println("SSDP started");
}

The above will not show up in Windows for some reason, however I download SSDPTester for my phone and I can see the following when it is searching for devices

9 Jan 2017 9:15:15 am: Packet received from 192.168.1.123:1900 :
HTTP/1.1 200 OK\r\n
EXT:\r\n
CACHE-CONTROL: max-age=1200\r\n
SERVER: Arduino/1.0 UPNP/1.1 ESP8266/929000226503\r\n
USN: uuid:38323636-4558-4dda-9188-cda0e6cd87f1\r\n
ST: upnp:rootdevice\r\n
LOCATION: http://192.168.1.123:80/description.xml\r\n
\r\n

Does anyone know why the doesn't show up in Windows?

2

There are 2 answers

0
Rastislav Hričák On
SSDP.setDeviceType("upnp:rootdevice");

Modify the above line to the following:

SSDP.setDeviceType("urn:schemas-upnp-org:device:DimmableLight:1");
0
Carnegie Johnson On

On your NodeMCU, be sure to send a NOTIFY message on startup and periodically in order for the Windows control point to detect and list the device.