Skocz do zawartości

Arduino MEGA i BLYNK, LCD odchodzi do lamusa...


SOYER

Pomocna odpowiedź

Ok, wlepiłem tego serialprinta i się zdumialem :-/. Problemem okazalo się to, że funkcja wysylająca na serwer wykonywała się w pętli kilka razy, raz po raz. Zresztą podobnie jak wysyłanie do Blynka, a ja się dziwiłem, że czasami wywala mnie z serwera blynka, a nie miałem chęci tego sprawdzić. Zrobilem wysyłanie zależne od zmiennej, tak by szło tylko raz. Problem z Blynkiem zniknął, zobaczymy jak będzie ze zwiechami esp...

Kto mi teraz wytłumaczy dlaczego wysyłanie w poniższym szkicu wykonywało się kilka razy zamiast raz:

void four(){
  lcd.setCursor(0,0);
  lcd.print("      PMS");
  lcd.setCursor(0,1);
  lcd.print("wykonuje pomiar");
  pms.requestRead();
  pms.readUntil(data);
  if(sekundPiec.available()){
    pm1=data.PM_AE_UG_1_0;
    pm2=data.PM_AE_UG_2_5;
    pm10=data.PM_AE_UG_10_0;
    storeData(pm1,pm2,pm10);
    Blynk.virtualWrite(35,"   ",pm1," ","ug/m3");
    Blynk.virtualWrite(36,"   ",pm2," ","ug/m3");
    Blynk.virtualWrite(37,"   ",pm10," ","ug/m3");
    Blynk.virtualWrite(38,pm1);
    Blynk.virtualWrite(39,pm2);
    Blynk.virtualWrite(40,pm10);
    wyslano = 1;
    lcd.clear();
    sekundPiec.restart();
    menu=FIVE;
  }
 }

Jest to funkcja wywoływana przez switch(menu),  czyli po wykonaniu wszystkich poleceń w if powinno od razu przejść do case(FIVE), a jednak wysyłało na serwer kilka razy... why??

Link do komentarza
Share on other sites

ESP na razie bez zwiechy, długo już, to dobrze wróży. Przyczyną musiało byc to wielokrotne, w serii, wysyłanie na serwer.

Dzisiaj dołożyłem menu do mojej strony:

 

  • Lubię! 1
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

(edytowany)

znaczy, że jak jest zrobione przez js np.

$(). click(function{});

 

to już o sterowaniu klawiaturą mogę zapomnieć?? 

Edytowano przez SOYER
Link do komentarza
Share on other sites

a jakim elementem jest ten, do którego click podłączasz?

jeśli to a, input czy button - nie ma problemu.

jeśli to div, span czy inne coś - na dziś umówmy się, że możesz.

tak z ciekawości - na czym znasz się najlepiej? będzie mi łatwiej porównywać...

Link do komentarza
Share on other sites

(edytowany)

click podłączyć chcę do elementów a zawartych w div... 

najlepiej to wiem jak robić żeby się nie narobić 😉 organizacja procesów to mój konik... i samoloty bojowe :)) 

 

Edytowano przez SOYER
Link do komentarza
Share on other sites

jeśli to a, to wystarczy zwrócić false z funkcji, aby zablokować domyślne zachowanie. wtedy zostanie wykonane to co masz w onclick, a przeglądarka nie wlezie w nowy adres.

jeśli masz w stylach nie tylko hover, ale również focus - przy nawigacji klawiaturą będziesz miał dokładnie ten sam efekt wizualny jak przy najechaniu myszą (pomijając ie, ale mówimy tu o przeglądarkach).

następną razą opowiem ci o samolotach bojowych i dlaczego jeśli pociągniesz te wajche do siebie to samolot leci do góry a nie w prawo.

Link do komentarza
Share on other sites

14 minut temu, ethanak napisał:

jeśli to a, to wystarczy zwrócić false z funkcji, aby zablokować domyślne zachowanie. wtedy zostanie wykonane to co masz w onclick, a przeglądarka nie wlezie w nowy adres.

?? :/?? :/?? 

Link do komentarza
Share on other sites

No proste. Jeśli masz coś w stylu:

<a href="costam.html">Treść</a>

to po kliknięciu w "Treść" przeglądarka przejdzie do strony "costam.html".

Jeśli masz coś bardziej skomplikowanego, czyli np.

<a href="costam.html" onclick="zrobcos()">Treść</a>

przeglądarka wykona funkcję zrobcos() i przejdzie do strony "costam.html"

Jeśli natomiast masz:

<a href="costam.html" onclick="zrobcos(); return false">Treść</a>

przeglądarka wykona funkcję zrobcos(), ale nie wykona akcji domyślnej dla "a".

Teraz jeśli funkcja zrobcos() będzie zwracała wynik true albo false, będzie można sterować zachowaniem przeglądarki (czy ma przejść do strony czy nie):

<a href="costam.html" onclick="return zrobcos()">Treść</a>

Przy okazji: jeśli nie musisz (w Twoim przypadku nie musisz), nie dodawaj dynamicznie obsługi eventów tylko rób to w kodzie html - dużo łatwiej jest przekazać parametry, np:

<a href="costam.html" onclick="return zrobcos(this, 7, 'jakisnapis')">

O to mi chodziło...

 

Edytowano przez ethanak
Link do komentarza
Share on other sites

(edytowany)

Ok, coś tam łapię, tylko dalej nie wiem co to ma wspólnego z klawiaturą;

dwa, jak wiesz, ja nie mam żadnych a href tylko za pomocą $(). click(function{}); łapię jakiś element a i kiedy wystąpi na nim click to coś tam robię;

trzy

33 minuty temu, ethanak napisał:

Teraz jeśli funkcja zrobcos() będzie zwracała wynik true albo false, będzie można sterować zachowaniem przeglądarki (czy ma przejść do strony czy nie):


<a href="costam.html" onclick="return zrobcos()">Treść</a>

ale u mnie nie ładujemy nowych stron, tylko podmieniamy zawartości. 

Druga rzecz my przecież zawsze chcemy zmienić po clicku cośtam, tylko chcemy klik wywoływać myszką i klawiaturą przez enter czy co tam.

 

Ja mam na razie ten problem, że naciskając tab nie skaczę po zawartości strony... potem dopiero będziemy myśleć o enterowym clicku... 

Edytowano przez SOYER
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.