Не удается просмотреть службу mdns, созданную в esp8266.

То, что я сделал до сих пор

Я создал службу mdns в своем nodemcu

    ... // 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); 

   ...

Затем я установил Bonjour в свои окна. После этого я могу ping esp.local из своей оболочки Windows Power, а также могу общаться с устройством IoT из браузера, используя имя mdns 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.

Было бы здорово, если бы кто-нибудь помог мне с этим. Спасибо.


person Sachin    schedule 03.07.2018    source источник


Ответы (4)


для меня нужно вызвать функцию MDNS.update() внутри цикла, чтобы она работала.

person secmask    schedule 05.11.2019

abhayastudios попросили меня помочь вам.

Вы включили ESP8266mDNS.h в свой код?

Вы всегда можете попытаться обнаружить все свои mdns-устройства с помощью приложения для Android под названием fing. Вы проверили службы Windows, чтобы убедиться, что служба печати bonjour запущена (или установлена)? Иногда Windows останавливает эту службу.

Дайте мне знать, если это помогло.

person Ejal    schedule 03.07.2018
comment
Спасибо за ответ, это была опечатка. - person Sachin; 03.07.2018

Вот команды, которые я использую в MacOS, и они работают на устройстве моего друга на базе ESP8266:

Просмотрите экземпляры службы HTTP Bonjour:

$ dns-sd -B _http._tcp .

Разрешить экземпляр службы Bonjour:

$ dns-sd -L <device name> _http._tcp .
person Joni    schedule 03.07.2018
comment
Спасибо за ваш ответ, я получил его после исправления проблемы с опечаткой. - person Sachin; 03.07.2018

Замена MDNS.addService("http", "tcp", 80); на mdns.addService("http", "tcp", 80);

Решил проблему. mdns — это экземпляр моего объекта MDNSResponder.

person Sachin    schedule 03.07.2018