目前有没有任何方法可以在纳米框架中执行服务发现(mDNS或单播DND-SD)



我只是想知道纳米框架中是否内置了任何服务发现方法?

我主要对mDNS或单播DNS服务发现感兴趣。想想苹果Bonjour/Avahi。

我注意到Espressif有一些关于mDNS的arduino示例。

https://github.com/espressif/arduino-esp32/blob/a59eafbc9dfa3ce818c110f996eebf68d755be24/libraries/ESPmDNS/examples/mDNS-SD_Extended/mDNS-SD_Extended.ino

当您不想连接到云中的集线器,而是让集线器(MQTT服务器(在本地网络上运行并需要发现它时,作为一个单独的部署用例,这是有意义的。

非常感谢!

中目前不支持mDNS。NET纳米框架。但这似乎并不太复杂。请在我们的GitHub上对功能建议提出问题。

更新01-01-2023:支持中的mDNS。NET纳米框架是在中请求的https://github.com/nanoframework/Home/issues/912.在该讨论中,https://github.com/karlredgate/mDNS-sharp建议将其作为内置的替代方案。NET纳米框架。不过,目前还不清楚人们是否成功地做到了这一点。

欢迎克里斯蒂安!

ESP32上,您可以像这样包括multicast DNSDNS-Service Discovery

#include <ESPmDNS.h>
...
if (MDNS.begin("esp32")) { // access this ESP32 via http://esp32 (eg in browser)
Serial.println("mDNS responder started");
}
...
// register a http-service in DNS-SD
if (mdns_service_add("esp32_website", "_http", "_tcp", 80, NULL, 0)) {
Serial.println("DNS-SD responder started");
}
mdns_service_txt_item_set("esp32_website", "_http._tcp", "version", "1.0");

为了实际发现ESP32及其服务,您需要确保正在使用的机器支持mDNSDNS-SD

注:CCD_ 7只是";解析";CCD_ 8的名称对应于其IP。你需要在上面设置一个网络服务器来实际做一些事情(比如提供DNS-SD承诺的网站或类似的网站(

最新更新