ESP jmeno v siti
ESP jmeno v siti
Je možné zařídit, aby bylo ESP na síti vidět pod jménem?
Například mám přehrávač na Raspberry, který se po prvotní istalaci hlásí na síti pod jménem "volumio.local" bez toho abych dělal záznamy v DNS.
Lze toto udělat i u ESP?
Například mám přehrávač na Raspberry, který se po prvotní istalaci hlásí na síti pod jménem "volumio.local" bez toho abych dělal záznamy v DNS.
Lze toto udělat i u ESP?
-
- Příspěvky: 584
- Registrován: 01 srp 2017, 19:29
- Bydliště: Poprad
- Kontaktovat uživatele:
Re: ESP jmeno v siti
Ano, musíš mu nastaviť mDNS záznam.
Nič na sieti ako takej nastavovať nemusíš. Nastavíš to iba na strane ESP. Podporuje to ESP8266, i ESP32.
Všetky zariadenia, ktoré ale k tomu mDNS menu pristupujú, musia byť v rovnakej sieti.
Nie som istý ako to je keď ti vyprší IP adresa z lease time na DHCP poole a pridelilo by ti inú, či to nie je potrebné jednorazovo zavolať aj pri zmene IP adresy.
Pre ESP32:
Pre ESP8266:
Nič na sieti ako takej nastavovať nemusíš. Nastavíš to iba na strane ESP. Podporuje to ESP8266, i ESP32.
Všetky zariadenia, ktoré ale k tomu mDNS menu pristupujú, musia byť v rovnakej sieti.
Nie som istý ako to je keď ti vyprší IP adresa z lease time na DHCP poole a pridelilo by ti inú, či to nie je potrebné jednorazovo zavolať aj pri zmene IP adresy.
Pre ESP32:
Kód: Vybrat vše
#include <ESPmDNS.h>
const char *host = "esp32"; //pre esp32.local mDNS meno
.
.
//Po pripojeni na WiFi
if (MDNS.begin(host))
{
MDNS.addService("http", "tcp", 80);
Serial.println("MDNS responder started");
Serial.print("You can now connect to http://");
Serial.print(host);
Serial.println(".local");
}
Kód: Vybrat vše
#include <ESP8266mDNS.h>
const char *host = "esp8266"; //pre esp8266.local mDNS meno
.
.
//Po pripojeni na WiFi
if (MDNS.begin(host))
{
MDNS.addService("http", "tcp", 80);
Serial.println("MDNS responder started");
Serial.print("You can now connect to http://");
Serial.print(host);
Serial.println(".local");
}
Re: ESP jmeno v siti
Díky,
tohle jsem kdysi zkoušel, ale nefungovalo.
Možná něco divně v mé síti.
Zkusím se do toho ještě zabořit.
Ještě jednou díky
tohle jsem kdysi zkoušel, ale nefungovalo.
Možná něco divně v mé síti.
Zkusím se do toho ještě zabořit.
Ještě jednou díky
Re: ESP jmeno v siti
Takze uz OK, funguje
Dikec, neco jsem delal spatne...
Dikec, neco jsem delal spatne...
Re: ESP jmeno v siti
Vzal jsem Mikrotik, udělal jednu izolovanou WiFi bez připojení kamkoliv dál, připojil na WiFi ESP32 a zkoušel telefony a tablety přistoupit k http stránce na adrese "http://led.local" generované ESP32
Funguje, na Apple iOS OK
Na Android Samsung S22 (android v.14) mDNS nejde ani v Chrome prohlížeči, ani v nativním Samsung prohlížeči.
Prohlížeč se rozhodne hledat adresu .local v nadřazené síti...
Přístup přes IP adresu je OK
Funguje, na Apple iOS OK
Na Android Samsung S22 (android v.14) mDNS nejde ani v Chrome prohlížeči, ani v nativním Samsung prohlížeči.
Prohlížeč se rozhodne hledat adresu .local v nadřazené síti...
Přístup přes IP adresu je OK
Re: ESP jmeno v siti
Teď jsem dokončil projekt, kde jsem po letech znovu použil mDNS. A na rozdíl od předešlého to i bez bonjour funguje na W10, W11 a také v Androidu 14.
Zkontroluj v Androidu nastavení této položky: Nastavení/Další možnosti připojení/Private DNS nastavit Automaticky.
Moc příjemně mě překvapilo jak to funguje.
Jen mám v úvodu programu ještě pojistku:
Zkontroluj v Androidu nastavení této položky: Nastavení/Další možnosti připojení/Private DNS nastavit Automaticky.
Moc příjemně mě překvapilo jak to funguje.
Jen mám v úvodu programu ještě pojistku:
Kód: Vybrat vše
const uint32_t mDnsTestPeriod = 300000L; // 5 minut
uint32_t mDnsMillisTemp = 0L;
uint32_t OnTime=0L;
const char* mDNSname = "test";
bool mDNSInitialized = false;
...
setup(){
...
...
mDNSInitialized = MDNS.begin(mDNSname);
MDNS.addService("http", "tcp", 80);
}
//-----------------------------------------------------------------
void loop(void) {
// listen for HTTP requests from local clients
httpserver.handleClient();
// testing mDNS initialization ***********************************
OnTime = millis();
if ((OnTime - mDnsMillisTemp >= mDnsTestPeriod) && !mDNSInitialized) {
mDnsMillisTemp = OnTime;
mDNSInitialized = MDNS.begin(mDNSname);
MDNS.addService("http", "tcp", 80);
}
if (mDNSInitialized) MDNS.update();
...
...
}
Re: ESP jmeno v siti
A když na svůj výtvor koukám, tak nejlepší by to bylo
a vynechat v setup() tu sekvenci
jeví se mi to čistší
Kód: Vybrat vše
OnTime = millis();
if ((mDnsMillisTemp == 0L)||(OnTime - mDnsMillisTemp >= mDnsTestPeriod) && !mDNSInitialized) {
mDnsMillisTemp = OnTime;
mDNSInitialized = MDNS.begin(mDNSname);
MDNS.addService("http", "tcp", 80);
}
if (mDNSInitialized) MDNS.update();
Kód: Vybrat vše
mDNSInitialized = MDNS.begin(mDNSname);
MDNS.addService("http", "tcp", 80);
Re: ESP jmeno v siti
Takže, na jakémkoli iOS (pět telefonů) naprosto OK (prohlížeče Chrome, Safari...)
Na Win10 naprosto OK (prohlížeče Chrome, Edge...)
Na žádném Androidu to ale nefunguje (zkoušeny čtyři různé telefony) (prohlížeče Chrome, Firefox, Samsung...)
Nastavení DNS v tel. upraveno podle rady. (
Na Win10 naprosto OK (prohlížeče Chrome, Edge...)
Na žádném Androidu to ale nefunguje (zkoušeny čtyři různé telefony) (prohlížeče Chrome, Firefox, Samsung...)
Nastavení DNS v tel. upraveno podle rady. (
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 0 hostů