Skocz do zawartości

Problem z ESP8266 mDNS


Wrona

Pomocna odpowiedź

Pierwszy raz eksperymentuje z WiFi. Zmodyfikowałem do swoich pomiarów, prosty i ogólnie dostępny kod (wklejam poniżej). Gdy w przeglądarce wpisze lokalne IP to otrzymuje stronę z wynikami ale jak wpisze "kaczorek.local/" to taka strona nie istnieje. Co robię źle? 

Dodam że w monitorze portu szeregowego otrzymuje prawidłowy komunikat czyli "MDNS uruchomiony".

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#include <Ticker.h>

#define wibracjeanalogowo A0
#define wibracjecyfrowo D0

Ticker tiker;
String W1 = "";                            
String W2 = "";

const char* ssid = "mojasieć";                                              
const char* password = "moje hasło";                                            

ESP8266WebServer serverlokalny(80);                                           

void pomiary()
{
W1 = (String)analogRead(wibracjeanalogowo);                                   
W2 = (String)analogRead(wibracjecyfrowo);
Serial.print(W1);
Serial.print("\t");
Serial.print(W2);
Serial.println(" ");
serverlokalny.send(200, "text/plain", "W1: " + W1 + " W2: " + W2);
}

void setup()
{
Serial.begin(9600);
Serial.println("Wstrząsające pomiary");
WiFi.begin(ssid, password);                                                   
while (WiFi.status() != WL_CONNECTED) {delay(500); Serial.print(".");}        
Serial.print("Połączono z ");
Serial.println(ssid);
Serial.print("Przydzielony adres IP: ");
Serial.println(WiFi.localIP());
if (MDNS.begin("kaczorek")) {Serial.println("MDNS uruchomiony.");}
serverlokalny.on("/", pomiary);                                                  
serverlokalny.begin();
Serial.println("Serwer HTTP uruchomiony.");                                    
tiker.attach(2, pomiary);
}

void loop()
{ 
serverlokalny.handleClient();                                                 
}

 

Link do komentarza
Share on other sites

4 minuty temu, Wrona napisał:

jak wpisze "kaczorek.local

Jaki system operacyjny?

  • Mac rozumie od strzału.
  • Linux powinien to rozumieć, a jak nie to doinstalować Avahi
  • Windows wymaga zdaje się czegoś takiego jak "Bonjour for Windows" (nie jestem pewien, ale coś mi się obiło o uszy że Zeroconf używa tylko do drukarek, poza tym nie znam się na windowsie i niech to jakiś windoznawca rozstrzygnie)
  • Android w ogóle tego nie rozumie i nie planuje rozumieć.

 

  • Lubię! 1
Link do komentarza
Share on other sites

(edytowany)
45 minut temu, ethanak napisał:

Jaki system operacyjny

Windows. Dzięki za wskazówkę i zaraz się tematem zainteresuje.

EDIT:

Doinstalowałem, ale nic to nie zmieniło 😞

EDIT:

Poszło na "Chrome". 

Jak to zwykle bywa, gdy czegoś się dowiadujemy to multiplikują się kolejne pytania. Po odświeżeniu strony wyświetlają mi się najnowsze wyniki pomiarów. Czy jest jakiś sposób by po odświeżeniu strony (lub jeszcze lepiej jej automatycznym odświeżaniu)  pojawiał się lista wyników na zasadzie podobnej do monitora portu szeregowego?

Edytowano przez Wrona
Link do komentarza
Share on other sites

16 godzin temu, Wrona napisał:

Czy jest jakiś sposób by po odświeżeniu strony (lub jeszcze lepiej jej automatycznym odświeżaniu)  pojawiał się lista wyników na zasadzie podobnej do monitora portu szeregowego?

Oczywiście. Spójrz na główną stronę forum - tak przecież działa zamieszczony tam chat. Tyle że nie jest to takie całkiem proste... protokół HTTP sam w sobie nie zapewnia takiej możliwości. Najprostszym rozwiązaniem jest użycie JavaScriptu i AJAX-a - ale to kolejny język programowania który trzeba by było poznać. Myślę, że to dobry temat np na jakiś odcinek kursu 🙂

 

  • Lubię! 2
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

1 godzinę temu, ethanak napisał:

Najprostszym rozwiązaniem jest użycie JavaScriptu i AJAX-a - ale to kolejny język programowania który trzeba by było poznać. 

Spróbuje poszukać jakiegoś przykładu w sieci. Dzięki.

Link do komentarza
Share on other sites

21 godzin temu, Wrona napisał:

Czy jest jakiś sposób by po odświeżeniu strony (lub jeszcze lepiej jej automatycznym odświeżaniu)  pojawiał się lista wyników na zasadzie podobnej do monitora portu szeregowego?

 

 

  • Lubię! 1
  • Pomogłeś! 1
Link do komentarza
Share on other sites

@rziomber Dzięki, przeanalizuje ten przykład choć mnie chodzi o coś innego. Sama aktualizacja jest fajna ale moim celem jest by nowe pomiary pojawiały się w kolejnych wierszach a wszystkie poprzednie pozostawały na swoim miejscu. Tak jak pisał  @ethanak  czyli coś jak CHAT. W efekcie dostaje kolejne wiersze z wynikami w interwałach czasowych. Widok wyników ma być jak w monitorze portu szeregowego ale zamiast po USB ma iść po WiFi. Mimo wszystko dziękuje za zainteresowanie i postaram się zgłębić temat. Jak tylko znajdę chwilę na grzebanie po Internecie, to poszukam czegoś najprostszego, czyli instrukcji jak stworzyć najzwyklejsze kolumny liczb.   

 

Link do komentarza
Share on other sites

W takim wypadku nadal mój przykład jest aktualny. Wykorzystasz z niego timer cyklicznie pobierający wartości.

Jedynie zamiast podmiany zawartości elementu o zadanym ID

document.getElementById("time").innerHTML = this.responseText;

będziesz dopisywał this.responseText; do jakiejś tabelki czy tam DIVa.

Edytowano przez rziomber
  • Lubię! 1
Link do komentarza
Share on other sites

Dooisuj po prostu tekst+'<br />' - będziesz miał wszystko w nowej linii. Pamiętaj o scrollIntoView bo bez tego kolejne linie wylądują pod podłagą 🙂

Ewentualnie możesz dopisywać coś do textarea.

 

 

Link do komentarza
Share on other sites

5 godzin temu, rziomber napisał:

W takim wypadku nadal mój przykład jest aktualny. 

Fajny, przerobiłem go pod swój programik i ekstra działa. Chociaż oczywiście poległem próbując tworzyć, zaplanowaną przez siebie listę wyników. Jednak to nic, bo ten kierunek przesyłania danych zarzucam gdyż jest zbyt wolny a WiFi i mDNS zbyt chimeryczne. Dzięki wielkie, bo coś nowego zobaczyłem i może się przyda w innym projekcie którego funkcjonowanie będzie oparte o pomiary w większym interwale czasowym. 

  • Lubię! 1
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.