main.c 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #include <stdio.h>
  2. #include "mdns.h"
  3. #include "esp_log.h"
  4. #include "freertos/FreeRTOS.h"
  5. #include "freertos/task.h"
  6. static const char *TAG = "mdns-test";
  7. static void query_mdns_host(const char * host_name)
  8. {
  9. ESP_LOGI(TAG, "Query A: %s.local", host_name);
  10. struct esp_ip4_addr addr;
  11. addr.addr = 0;
  12. esp_err_t err = mdns_query_a(host_name, 2000, &addr);
  13. if(err){
  14. if(err == ESP_ERR_NOT_FOUND){
  15. ESP_LOGW(TAG, "%x: Host was not found!", (err));
  16. return;
  17. }
  18. ESP_LOGE(TAG, "Query Failed: %x", (err));
  19. return;
  20. }
  21. ESP_LOGI(TAG, "Query A: %s.local resolved to: " IPSTR, host_name, IP2STR(&addr));
  22. }
  23. int main(int argc , char *argv[])
  24. {
  25. setvbuf(stdout, NULL, _IONBF, 0);
  26. const esp_netif_inherent_config_t base_cg = { .if_key = "WIFI_STA_DEF", .if_desc = "eth2" };
  27. esp_netif_config_t cfg = { .base = &base_cg };
  28. esp_netif_t *sta = esp_netif_new(&cfg);
  29. mdns_init();
  30. mdns_hostname_set("myesp");
  31. ESP_LOGI(TAG, "mdns hostname set to: [%s]", "myesp");
  32. //set default mDNS instance name
  33. mdns_instance_name_set("myesp-inst");
  34. //structure with TXT records
  35. mdns_txt_item_t serviceTxtData[3] = {
  36. {"board","esp32"},
  37. {"u","user"},
  38. {"p","password"}
  39. };
  40. vTaskDelay(1000);
  41. ESP_ERROR_CHECK(mdns_service_add("myesp-service2", "_http", "_tcp", 80, serviceTxtData, 3));
  42. vTaskDelay(2000);
  43. query_mdns_host("david-comp");
  44. vTaskDelay(2000);
  45. esp_netif_destroy(sta);
  46. mdns_free();
  47. ESP_LOGI(TAG, "Exit");
  48. return 0;
  49. }