Odczyt wartości z linku bezpośredniego

[email protected]
Posts: 1586
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 26 times

Post

SOYER wrote: Tue Mar 18, 2025 9:29 pm MQTT to link bezpośredni tak jak ka to rozumiem, nie trzymajmy się twardo definicji, idźmy raczej z duchem sposobu, a nie trzymajmy się kurczowo tego co zapisano. Teraz jest czas rozwiązań problemu, a nie kurczowego trzymania się zasad.
😂🤣😂
Taaaa to źle rozumiesz , też zastanawiałem się gdzie Ty tam http request widzisz ... Jak będziemy tak gadać to daleko nie zajdziemy , więc jednak te nazwy mają znaczenie
User avatar
malarz
Posts: 506
Joined: Wed Jan 27, 2021 4:04 pm
Been thanked: 2 times

Post

Problem jak widać jest już na początku
shimano73 wrote: Tue Mar 18, 2025 7:16 pm

Code: Select all

20:14:36.671 -> httpCode : -1
Ten -1 to kod jakiegoś błędu. Tylko nie wiemy, czy spowodował go .GET, czy powodem było brak połączenia inicjowanego przez .begin

Może dodaj wyświetlanie jeszcze jednego błędu:

Code: Select all

  ...
  HTTPClient https;
  int checkBegin = https.begin(*client, host1);  // HTTPS
  Serial.print("httpBegin : ");Serial.println(checkBegin);
  int httpCode = https.GET();
  ...
( jedna linijka dodana, we wcześniejszej dodany początek)

Wtedy zobaczymy czy problemem jest begin czy get
Próbuję przerobić pomysły na działające projekty w ArduinoIDE.
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 136 times
Been thanked: 137 times

Post

Z tego co widzę, to używasz ESP8266.
Link bezpośredni łączy się przez https, więc jest to połączenie szyfrowane, które potrzebuje niecałe 20 kB dostępnego RAM-u, aby zadziałało.
Jak łączysz się z Suplą? Jeśli też szyfrowane połączenie, to raczej linku bezpośredniego nie użyjesz. Trzeba by wyłączyć szyfrowanie z Suplą (niezalecane :P ), aby to mogło ruszyć.

Najlepiej przejść na ESP32, chyba że to jakieś gotowe urządzenie.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
shimano73
Posts: 2174
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze
Been thanked: 1 time

Post

malarz wrote: Wed Mar 19, 2025 8:21 am Problem jak widać jest już na początku
shimano73 wrote: Tue Mar 18, 2025 7:16 pm

Code: Select all

20:14:36.671 -> httpCode : -1
Ten -1 to kod jakiegoś błędu. Tylko nie wiemy, czy spowodował go .GET, czy powodem było brak połączenia inicjowanego przez .begin

Może dodaj wyświetlanie jeszcze jednego błędu:

Code: Select all

  ...
  HTTPClient https;
  int checkBegin = https.begin(*client, host1);  // HTTPS
  Serial.print("httpBegin : ");Serial.println(checkBegin);
  int httpCode = https.GET();
  ...
( jedna linijka dodana, we wcześniejszej dodany początek)

Wtedy zobaczymy czy problemem jest begin czy get

Wstawiłem i wyszło tak :

Code: Select all


09:47:51.898 -> httpBegin : 1
09:47:51.898 -> httpCode : -1
09:47:51.898 -> JSON  : 
09:47:51.898 -> odczyt linku : 0.00 




klew wrote: Wed Mar 19, 2025 8:53 am Z tego co widzę, to używasz ESP8266.
Link bezpośredni łączy się przez https, więc jest to połączenie szyfrowane, które potrzebuje niecałe 20 kB dostępnego RAM-u, aby zadziałało.
Jak łączysz się z Suplą? Jeśli też szyfrowane połączenie, to raczej linku bezpośredniego nie użyjesz. Trzeba by wyłączyć szyfrowanie z Suplą (niezalecane :P ), aby to mogło ruszyć.

Najlepiej przejść na ESP32, chyba że to jakieś gotowe urządzenie.

Do testów , z laptopem na kolanie mam wemos'a a docelowo to nawet nie bedzie ESP8266 tylko ESP8285 a konkretnie gniazdko SP 111. Wykorzystując szkic webinterface.ino z chciałem załączać przekaźnik raz dziennie na czas proporcjonalny do zużycia dobowego wody. Gniazdko steruje pompą wody którą przepompowuje wodę z oczyszczalni do studni chłonnej . Do tej pory pompa załączała się harmonogramem ale on nie uwzględnia ilości domowników która oscyluje od 2-5 osób.
W jaki sposób wyłączyć szyfrowanie ?
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 136 times
Been thanked: 137 times

Post

shimano73 wrote: Wed Mar 19, 2025 9:05 am Do testów , z laptopem na kolanie mam wemos'a a docelowo to nawet nie bedzie ESP8266 tylko ESP8285 a konkretnie gniazdko SP 111. Wykorzystując szkic webinterface.ino z chciałem załączać przekaźnik raz dziennie na czas proporcjonalny do zużycia dobowego wody. Gniazdko steruje pompą wody którą przepompowuje wodę z oczyszczalni do studni chłonnej . Do tej pory pompa załączała się harmonogramem ale on nie uwzględnia ilości domowników która oscyluje od 2-5 osób.
O :). Tak powinien wyglądać Twój pierwszy post w tym temacie :D
shimano73 wrote: Wed Mar 19, 2025 9:05 am W jaki sposób wyłączyć szyfrowanie ?
viewtopic.php?p=167927#p167927

Jednorazowy odczyt da Ci tylko aktualny stan licznika i nie da się pobrać przez link bezpośredni stanu z wczoraj. Można chyba przez API pobierać historię, ale to bardziej złożony temat.
Także musisz jakoś pobierać odczyt i go zapamiętywać (we flashu).
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
malarz
Posts: 506
Joined: Wed Jan 27, 2021 4:04 pm
Been thanked: 2 times

Post

shimano73 wrote: Wed Mar 19, 2025 9:05 am Do testów , z laptopem na kolanie mam wemos'a a docelowo to nawet nie bedzie ESP8266 tylko ESP8285 a konkretnie gniazdko SP 111. Wykorzystując szkic webinterface.ino z chciałem załączać przekaźnik raz dziennie na czas proporcjonalny do zużycia dobowego wody. Gniazdko steruje pompą wody którą przepompowuje wodę z oczyszczalni do studni chłonnej . Do tej pory pompa załączała się harmonogramem ale on nie uwzględnia ilości domowników która oscyluje od 2-5 osób.
W jaki sposób wyłączyć szyfrowanie ?
A nie lepiej włączać gdy poziom przepompowni jest wyższy niż ...

Można też spróbować bez httpclienta, coś jak napisałem w viewtopic.php?p=201111#p201111
Trochę trudniej jest czytać wynik, ale zużyjesz mniej pamięci. Tylko nie wiem czy będzie to działało na 8266
Próbuję przerobić pomysły na działające projekty w ArduinoIDE.
User avatar
malarz
Posts: 506
Joined: Wed Jan 27, 2021 4:04 pm
Been thanked: 2 times

Post

shimano73 wrote: Wed Mar 19, 2025 9:05 am Do testów , z laptopem na kolanie mam wemos'a a docelowo to nawet nie bedzie ESP8266 tylko ESP8285 a konkretnie gniazdko SP 111. Wykorzystując szkic webinterface.ino z chciałem załączać przekaźnik raz dziennie na czas proporcjonalny do zużycia dobowego wody. Gniazdko steruje pompą wody którą przepompowuje wodę z oczyszczalni do studni chłonnej . Do tej pory pompa załączała się harmonogramem ale on nie uwzględnia ilości domowników która oscyluje od 2-5 osób.
W jaki sposób wyłączyć szyfrowanie ?
Co Ci mierzy zużycie wody?

Jeżeli to jest jakiś DIY to może da się na nim postawić stały webserwer, który bez szyfrowania będzie udostępniał wartość, którą odczytasz w lokalnej sieci przez SP111.

Jeżeli to jakiś Zamel czy podobny to trzeba by poczekać aż dostępna będzie lokalna komunikacja modułów, o której @klew już wspominał. Tylko też nie wiemy jak będzie rozwiązana i czy 8285 ją udźwignie.
Próbuję przerobić pomysły na działające projekty w ArduinoIDE.
User avatar
shimano73
Posts: 2174
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze
Been thanked: 1 time

Post

malarz wrote: Fri Mar 28, 2025 9:00 am
shimano73 wrote: Wed Mar 19, 2025 9:05 am Do testów , z laptopem na kolanie mam wemos'a a docelowo to nawet nie bedzie ESP8266 tylko ESP8285 a konkretnie gniazdko SP 111. Wykorzystując szkic webinterface.ino z chciałem załączać przekaźnik raz dziennie na czas proporcjonalny do zużycia dobowego wody. Gniazdko steruje pompą wody którą przepompowuje wodę z oczyszczalni do studni chłonnej . Do tej pory pompa załączała się harmonogramem ale on nie uwzględnia ilości domowników która oscyluje od 2-5 osób.
W jaki sposób wyłączyć szyfrowanie ?
Co Ci mierzy zużycie wody?

Jeżeli to jest jakiś DIY to może da się na nim postawić stały webserwer, który bez szyfrowania będzie udostępniał wartość, którą odczytasz w lokalnej sieci przez SP111.

Jeżeli to jakiś Zamel czy podobny to trzeba by poczekać aż dostępna będzie lokalna komunikacja modułów, o której @klew już wspominał. Tylko też nie wiemy jak będzie rozwiązana i czy 8285 ją udźwignie.
Dzięki za zainteresowanie , info o wodzie mam z licznika po wmBUS'ie na innym eps . Zdecydowałem sie na taki sposób , ponieważ wydaje mi sie że bedzie to badziej stabilne, czujnik może sie zawiesić a poza tym sama pompa go ma bo to taka typowa zatapialna (żółta :) ) . A że jestem automatykiem z wykształcenia i wykonywanego zawodu to proste zadania mnie nie interesują :lol:
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)
User avatar
malarz
Posts: 506
Joined: Wed Jan 27, 2021 4:04 pm
Been thanked: 2 times

Post

shimano73 wrote: Fri Mar 28, 2025 12:22 pm Dzięki za zainteresowanie , info o wodzie mam z licznika po wmBUS'ie na innym eps . Zdecydowałem sie na taki sposób , ponieważ wydaje mi sie że bedzie to badziej stabilne, czujnik może sie zawiesić a poza tym sama pompa go ma bo to taka typowa zatapialna (żółta :) ) . A że jestem automatykiem z wykształcenia i wykonywanego zawodu to proste zadania mnie nie interesują :lol:
No to jak pisałem:
1. spowoduj (na routerze / serwerze dhcp) aby ten drugi esp miał zawsze takie same IP
2. dorób mu stały webserwer, gdzie bez żadnego hasła po zapytaniu dostaniesz stronę z wartością, którą potrzebujesz (może być obudowana JSONem, może być sama - w drugim przypadku będzie łatwiej czytać) - rozumiem, że nie ma problemu, że ktoś z wewnętrznej sieci to zobaczy i raczej nikt z domowników nie będzie włamywać / podmieniać stanu. Możesz też wstawić to na głównej stronie np. sekcji DevInfo (może to być łatwiejsze do napisania w sd).
3. niech SP111 czyta WIFIclientem z tego wewnętrznego/lokalnego IP tę stronę i działa zgodnie z życzeniem.

Dodatkową zaletą będzie to, że bez internetu też będzie działało.

Ja cały czas sobie walczę z wysyłaniem danych na aqi.eco (co wymaga SSL) w mojej przyszłej stacji pogodowej. I dotarłem właśnie do podobnego problemu w NAMie z pamięcią. Próbowałem różne rzeczy dezaktywować aby zmniejszyć zapotrzebowanie na pamięć i się nie udało. U mnie się chyba skończy wymianą na ESP32. A Twój problem jest ciekawy i może się go uda rozwiązać na tym sprzęcie co jest.

Teraz pisząc to wpadłem jeszcze na inny pomysł:
1. na esp przy liczniku dodaj wirtualny przekaźnik, który w zależności od potrzeb włączaj na potrzebny czas.
2. reakcjami zdubluj jego działanie na SP111
Tutaj wadą jest to, że przy jakiś problemach z internetem może Ci się pompa nie wyłączyć we właściwym momencie. Nie wiem, jakie to może wywołać problemy. To już sam musisz ocenić.
Próbuję przerobić pomysły na działające projekty w ArduinoIDE.

Return to “Pomoc”