28 lines
847 B
C
28 lines
847 B
C
|
#pragma once
|
||
|
|
||
|
#include "esp_err.h"
|
||
|
#include "esp_log.h"
|
||
|
#include "mdns.h"
|
||
|
|
||
|
static const char *SERVICE_DISCOVERY_TAG = "SERVICE_DISCOVERY_TAG";
|
||
|
|
||
|
static void service_discovery_init() { // 初始化 mDNS 服务
|
||
|
esp_err_t err = mdns_init();
|
||
|
if (err) {
|
||
|
ESP_LOGE(SERVICE_DISCOVERY_TAG, "MDNS Init failed: %d\n", err);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
// 设置 hostname
|
||
|
mdns_hostname_set("ambient-light-board");
|
||
|
// 设置默认实例
|
||
|
mdns_instance_name_set("ivan");
|
||
|
// 添加服务
|
||
|
mdns_service_add(NULL, "_ambient_light", "_udp", 23042, NULL, 0);
|
||
|
mdns_service_add(NULL, "_http", "_tcp", 80, NULL, 0);
|
||
|
|
||
|
// 注意:必须先添加服务,然后才能设置其属性
|
||
|
// web 服务器使用自定义的实例名
|
||
|
mdns_service_instance_name_set("_ambientlight_web", "_tcp",
|
||
|
"Ambient Light Board Web Server");
|
||
|
}
|