6

我到目前为止所做的是

我在我的 nodemcu 中创建了 mdns 服务

    ... // code used to create the mdns service 

    if (mdns.begin("esp", WiFi.localIP()))
        Serial.println("MDNS responder started");

    server.begin();
    Serial.println("HTTP REST Server Started");

    MDNS.addService("http", "tcp", 80); 

   ...

然后我在我的 windows 中安装了 Bonjour。之后,我可以 ping esp.local从我的 windows power shell 中使用 mdns 名称从浏览器与 iot 设备进行通信 esp.local

我现在正在努力解决的问题。

在搜索 mdns 服务时,我无法发现此设备。我dns-sd在 windows powershell 中使用来浏览我的服务,但它没有发现这个设备。

命令是dns-sd.exe -B <Type> <Domain> (Browse for services instances) 所以我尝试了

dns-sd -B _http._tcp local. //have doubt about this one .

它只是显示

Browsing for _http._tcp.local.

如果有人可以帮助我,那就太好了。谢谢。

4

4 回答 4

7

对我来说,需要调用MDNS.update()内部循环函数才能使其工作。

于 2019-11-05T04:01:20.660 回答
1

这些是我在 MacOS 上使用的命令,适用于我朋友的基于 ESP8266 的设备:

浏览 HTTP Bonjour 服务实例:

$ dns-sd -B _http._tcp .

解析 Bonjour 服务实例:

$ dns-sd -L <device name> _http._tcp .
于 2018-07-03T12:13:30.003 回答
1

更换MDNS.addService("http", "tcp", 80);mdns.addService("http", "tcp", 80);

解决了问题。mdns是我的MDNSResponder对象实例。

于 2018-07-03T12:34:21.127 回答
1

abhayastudios 让我帮助你。

您是否在代码中包含了 ESP8266mDNS.h?

您总是可以尝试使用名为 fing 的 android 应用程序来发现您所有的 mdns 设备。您是否检查了 Windows 服务以查看 bonjour 打印服务是否正在运行(或已安装)?有时 Windows 会停止此服务。

让我知道这是否有帮助。

于 2018-07-03T12:00:56.510 回答