0

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

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

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

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

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

非常感谢!

4

2 回答 2

0

欢迎克里斯蒂安!

在一个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.

注意:mDNS只需将名称“解析”ESP为它的 IP。您需要在其上设置一个网络服务器以实际执行某些操作(例如提供DNS-SD-promised 网站等)

于 2021-12-09T08:12:53.880 回答
0

目前在 .NET nanoFramework 中不支持 mDNS。但这似乎并不过分复杂。请在我们的 GitHub 上对功能建议提出问题。

于 2021-12-10T03:29:26.040 回答