到目前为止,我所做的是
我在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名称从浏览器与物联网设备通信esp.local
。
问题Iam目前正在苦苦挣扎。
搜索mdns服务时,我无法发现此设备。
我在Windows Powershell中使用dns-sd
浏览我的服务,但没有发现该设备。
命令为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.
如果有人可以帮助我,那就太好了。谢谢。
答案 0 :(得分:1)
abhayastudios要求我帮助您。
您是否在代码中包含ESP8266mDNS.h?
您始终可以使用名为fing的android应用来尝试发现所有的mdns设备。 您是否检查了Windows服务以查看bonjour打印服务是否正在运行(或已安装)?有时Windows会停止此服务。
让我知道这是否有帮助。
答案 1 :(得分:1)
这些是我在MacOS上使用的命令,这些命令适用于我朋友的基于ESP8266的设备:
浏览HTTP Bonjour服务实例:
$ dns-sd -B _http._tcp .
解析Bonjour服务实例:
$ dns-sd -L <device name> _http._tcp .
答案 2 :(得分:0)
将MDNS.addService("http", "tcp", 80);
替换为mdns.addService("http", "tcp", 80);
解决了问题。 mdns
是我的MDNSResponder
对象实例。
答案 3 :(得分:0)
对我来说,需要在循环函数内调用MDNS.update()
才能使其正常工作。