скетч с Mdns на ESP8266 компилируется, но имя в браузере не работает
- Войдите на сайт для отправки комментариев
Пт, 24/06/2022 - 01:58
Доброго времени суток. Разбираюсь с такой штуокй как MDNS. Честно говоря, пока не решил, что лучше DNS или MDNS. Буду потом разбираться. Пока что хотел обращаться в браузере к плате по имени, а не по адресу. И вроде в инете много написано об этой проблеме. В том числе и то, что нужно установить Bonjour. Установил, но не помогло. При этом в консоль выводит, типа все хорошо, все запущено. Пробую делать так:
#include <ESP8266WiFi.h> // Библиотека для создания Wi-Fi подключения (клиент или точка доступа) #include <WiFiClient.h> #include <ESP8266WebServer.h> // Библиотека для управления устройством по HTTP (например из браузера) #include <FS.h> // Библиотека для работы с файловой системой #include <ESP8266FtpServer.h> // Библиотека для работы с SPIFFS по FTP #include <ESP8266mDNS.h> // Библиотека МДНС, позволяющая обращаться к плате по имени, а не по адресу MDNSResponder mdns; // назначаем экземпляр класса ESP8266mDNS const char* ssid = ""; // Указываем сид сети, к которой будем подключаться const char* password = ""; // Указываем пароль сети, к которой будем подключаться const int led = 4; ESP8266WebServer server(80); // Указываем на каком порту слушать вэбсервер void handleRoot() { digitalWrite(led, 1); server.send(200, "text/plain", "Привет от esp8266!"); digitalWrite(led, 0); } void setup() { pinMode(led, OUTPUT); digitalWrite(led, 0); Serial.begin(9600); // Инициализируем вывод данных на серийный порт со скоростью 9600 бод while (!Serial) { // ждём, пока не откроется монитор последовательного порта // для того, чтобы отследить все события в программе } WiFi.mode(WIFI_OFF); // Останавливаем вайфай delay(1000); WiFi.mode(WIFI_STA); // Запускаем вайфай или возможно стартуем в режиме клиента, пока не разобрался с этой командой Serial.println(WiFi.macAddress()); // Выводим мак адрес WiFi.begin(ssid, password); // Инициализируем подключение к указанной вайфай сети WiFi.setHostname("Host_MDNS"); // Устанавливаем новое имя нашего клиента Serial.println(WiFi.hostname()); // Распечатываем имя клиента while (WiFi.status() != WL_CONNECTED) { Serial.println("waiting..."); delay(1000); Serial.println(WiFi.localIP()); } if (MDNS.begin("esp1")) { Serial.println("MDNS responder started"); } server.on("/", handleRoot); server.begin(); Serial.println("HTTP server started"); //активируем сервис MDNS MDNS.addService("http", "tcp", 80); } void loop() { // put your main code here, to run repeatedly: server.handleClient(); }
Пробовал ещё запускать MDNS с указанием адреса в 43 строке, но тоже не помогает:
if (MDNS.begin("esp1", WiFi.localIP())) {
При этом реквест от сервера получаю, если зайти по адресу
Честно говоря, пока не решил, что лучше DNS или MDNS. Буду потом разбираться.
да вы, батенька, авангарндый программист
да вы, батенька, авангарндый программист
Это как? ))) За вчера прочитал несколько тем на эту тему. Некоторые из тех, у кого не получилось запустить MDNS решили настроить у себя DNS. Поскольку я эти темы знаю поверхностно, то и разбираться буду потом, когда научусь настраивать оба варианта.
Ох! Даже сказать нечего. Только вот цытату привести:
Учись, мой сын: наука сокращает
нам опыты быстротекущей жизни
Пушкин А.С. "Борис Годунов"
---------------
Хотя, следует написать, чтобы польза от поста была (ну кроме Пушкина), что начинать понимание системы имен нужно не с микроконтроллеров.
Хотя, следует написать, чтобы польза от поста была (ну кроме Пушкина), что начинать понимание системы имен нужно не с микроконтроллеров.
Это как раз понятно, потому и говорю, что хотелось бы сперва разобраться с настройкой, а потом уже разбираться, что будет более полезно. Ведь для настройки не особо то и нужны понимания системы имен.
Так-то настройки все вроде как по учебнику, и не одному. Фактически пробовал несколько якобы рабочих вариантов, взятых из разных статей на эту тему. Везде старался хоть как-то отследить результаты, тоесть вывести в монитор порта события. Даже мигание лампочки прикрутил. Не знаю, насколько правильно, но она загорается. А вот в браузере по имени все равно не заходит.
Кстати, а пинговаться по такому имени устройство должно? У меня не пингуется.
Ведь для настройки не особо то и нужны понимания системы имен.
очень оригинальное мЫшление )))
А чтобы уметь какать в нужном месте не нужно приучаться к горшку. Логично. Понимаешь хоть как dns работает?
А чтобы уметь какать в нужном месте не нужно приучаться к горшку. Логично. Понимаешь хоть как dns работает?
а то не видишь, ЧТО ПОНЯТИЯ НЕ ИМЕЕТ
очень оригинальное мЫшление )))
Ты мне тут Михаила Сергеевича не замай! На святое покушаешься!
а то не видишь, ЧТО ПОНЯТИЯ НЕ ИМЕЕТ
интересно, откуда это следует?
2 ТС - по акому имени в браузере пытались достучаться до сервера?
интересно, откуда это следует?
из личного 30 летнего опыта (имею право считать, что кое-что об этом предмете представляю), но знаю, кто об этом предмете знает ВСЁ!!!
ТС! Я не зануда! Поправил твой скетч, работает, разницу сам увидишь...Учи матчасть!!!
ТС! Я не зануда! Поправил твой скетч, работает, разницу сам увидишь...Учи матчасть!!!
Блин, ведь же читал об этом и даже делал вариант с этой строкой. Даже не помню, в какой момент убрал и почему.
Но вообще спасибо ))) Работает.
И матчасть я учу. Что такое ДНС знаю более менее. Доводилось настраивать. Только это не моя специализация, поэтому больше по правилу трех "Зэ": зазубрил, здал, забыл. Но, понимаю, что ДНС настраивается на сервере. С МДНС столкнулся впервые. И до сих пор надобности особой не было разбираться
2 ТС - по акому имени в браузере пытались достучаться до сервера?
Все как в статьях по настройке: имя.local
Меня больше интересует, если я снесу этот Бонжур, мДНС останется работать или нет.
2 ТС - по акому имени в браузере пытались достучаться до сервера?
Все как в статьях по настройке: имя.local
Меня больше интересует, если я снесу этот Бонжур, мДНС останется работать или нет.
это полноценный днс, пропиши адреса статикой в винде , почему нет, она жеж сначала текстовый файл просматривает, Дэнвер так и работает )))
это полноценный днс, пропиши адреса статикой в винде , почему нет, она жеж сначала текстовый файл просматривает, Дэнвер так и работает )))
Я понимаю, что можно все в hosts записать, но это не совсем то, что меня интересует. Я ж говорю, только начинаю с этим разбираться.
А вообще, помимо настройки на винде, интересует, можно ли будет настроить на той же ESP, выступающей в качестве точки доступа нечто подобное. Ну или на клиенте ESP. Чтоб без компа, а только на одних ESP построено было. Смогут ли они так между собой "общаться"?