#include "project.h" static os_timer_t mdns_timer; static struct mdns_info *info; static void ICACHE_FLASH_ATTR check_connexion (void *arg) { struct ip_info ipconfig; static ip_addr_t last_ip; wifi_get_ip_info (STATION_IF, &ipconfig); if (wifi_station_get_connect_status () != STATION_GOT_IP) return; if (ipconfig.ip.addr == last_ip.addr) return; last_ip.addr = ipconfig.ip.addr; if (info) { espconn_mdns_close (); os_free (info); } info = (struct mdns_info *) os_zalloc (sizeof (struct mdns_info)); if (!info) { last_ip.addr = 0; return; } info->host_name = "polycom-2w"; info->ipAddr = last_ip.addr; info->server_name = "leds"; info->server_port = 80; info->txt_data[0] = "version = 1.0.1"; espconn_mdns_init (info); } void ICACHE_FLASH_ATTR mdns_start (void) { os_timer_disarm (&mdns_timer); os_timer_setfn (&mdns_timer, (os_timer_func_t *) check_connexion, NULL); os_timer_arm (&mdns_timer, 10000, 1); }