ssdp协议 upnp_【零知ESP8266】教程:SSDP简单服务发现协议示例

1、概述

SSDP简单服务发现协议,它是UPnP的核心协议之一。UPnP是零配置网络协议的一种。大众使用的家庭设备一般都支持这个协议,以便用户的主机或手机能够轻松发现这些设备。当一个新的设备(比如说笔记本)加入到网络中时,它可以向本地网络查询特定设备是否存在,这些设备包括互联网网关、音频系统、TV或者打印机等。下面在零知开源平台上进行该功能的测试。2、软件和硬件

硬件使用零知-ESP8266;

软件使用零知开发工具,自带示例:

界面.jpg (148.02 KB, 下载次数: 10)

2019-6-26 14:15 上传3、方法步骤

(1)先在零知开发工具中打开SSDP示例,或者复制下面的代码到零知开发工具中:

[mw_shl_code=arduino,true]/**********************************************************

*    文件: x.ino      by 零知实验室(www.lingzhilab.com)

*    -^^- 零知开源,让电子制作变得更简单! -^^-

*    时间: 2019/05/28 12:22

*    说明:

************************************************************/

#include

#include

#include

#ifndef STASSID

#define STASSID "ssid"

#define STAPSK  "passwd"

#endif

const char* ssid = STASSID;

const char* password = STAPSK;

ESP8266WebServer 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();

Serial.printf("Starting SSDP...\n");

SSDP.setDeviceType("upnp:rootdevice");

SSDP.setSchemaURL("description.xml");

SSDP.setHTTPPort(80);

SSDP.setName("Philips hue clone");

SSDP.setSerialNumber("001788102201");

SSDP.setURL("index.html");

SSDP.setModelName("Philips hue bridge 2012");

SSDP.setModelNumber("929000226503");

SSDP.setModelURL("http://www.meethue.com");

SSDP.setManufacturer("Royal Philips Electronics");

SSDP.setManufacturerURL("http://www.philips.com");

SSDP.begin();

Serial.printf("Ready!\n");

} else {

Serial.printf("WiFi Failed\n");

while (1) {

delay(100);

}

}

}

void loop() {

HTTP.handleClient();

delay(1);

}[/mw_shl_code]

(2)验证上述代码并上传到零知-ESP8266开发板;

(3)零知-开发工具中打开串口调试窗口,可以看到如下信息:

调试工具.jpg (50 KB, 下载次数: 8)

2019-6-26 14:17 上传

(4)下面进行测试是否能发现设备:

我们需要下载这个工具:SSDP_Tester,安装到安卓手机上,然后在SSDP_Tester工具中点击【LISTEN】,可以看到如下信息:

手机.jpg (226.95 KB, 下载次数: 6)

2019-6-26 16:20 上传

这个设备信息和我们在程序中设置的是一致的:

结果.jpg (91.88 KB, 下载次数: 6)

2019-6-26 16:22 上传

更多详细资料可到零知实验室官网免费获取。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值