Buenos dias.
Estoy intentado utilizar la libreria ESP8266mDNS.h para asignar un nombre a cada placa ESP8266 y ESP32 que pretendo instalar en una red.
El codigo para iniciar la conexion wifi y asignarle un nombre que utilizo es el siguiente:
Todo va bien pues en pantalla no da mensajes de error, lo que no sé es como acceder a la placa por el nombre que le he asignado pues he mirado en el router y esta placa no aparece por ese nombre.
¿Hay que hacer algo mas que dicha definicion en el codigo ?
Aver si entiendo mDNS hace que tu placa esp8266 conectada a tu red con una determinada IP se le asigne un nombre de dominio, ejemplo citando a la libreria que utilizas:
/*
Maximum length for a full domain name eg. MyESP._http._tcp.local
*/
Entonces en el código que adjuntas como defines el nombre de dominio para tu placa?
// Start the MDNS responder by setting the default hostname
// Later call MDNS::update() in every 'loop' to run the process loop
// (probing, announcing, responding, ...)
// if interfaceAddress is not specified, default interface is STA, or AP when STA is not set
bool begin(const char* p_pcHostname, const IPAddress& p_IPAddress = INADDR_ANY,
uint32_t p_u32TTL = 120 /*ignored*/);
bool begin(const String& p_strHostname, const IPAddress& p_IPAddress = INADDR_ANY,
uint32_t p_u32TTL = 120 /*ignored*/)
Los comentarios afirman que se debe agregar un update dentro del loop para asegurar que funcione constantemente la operación del algoritmo mDNS
void loop() {
MDNS.update();
}
Si esto funciona tendrías que mediante tu computadora ejecutar un ping al dominio cotrolreles.local o como sea el hostname que le vayas a poner