SUPLA - zdalny pomiar temperatury i wilgotności

Bartoni
Posty: 64
Rejestracja: ndz lip 18, 2021 6:48 pm

pzygmunt pisze: ndz wrz 18, 2022 8:52 pm Supla od niedawna wspiera w pełni śpiące czujniki. Oficjalnie nie ma na to jeszcze release-u ale nieoficjalnie już to działa.
Możesz podać przykład takiego w pełni śpiącego czujnika?
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

Bartoni pisze: wt paź 04, 2022 11:13 am
pzygmunt pisze: ndz wrz 18, 2022 8:52 pm Supla od niedawna wspiera w pełni śpiące czujniki. Oficjalnie nie ma na to jeszcze release-u ale nieoficjalnie już to działa.
Możesz podać przykład takiego w pełni śpiącego czujnika?
Szukasz przykładowego kodu czy przykładowego urządzenia?
Widzimy się na Supla Offline Party vol. 2 :!:
Pietras81
Posty: 1702
Rejestracja: ndz lut 17, 2019 6:56 am
Lokalizacja: Osielsko

Co do urządzenia to chyba samo esp 01 + ds wystarczy a co do kodu to chętnie się czegoś dowiem. Klew możesz rozwinąć temat ??
https://pietras-81.aqi.eco/
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

Pietras81 pisze: wt paź 04, 2022 12:40 pm Co do urządzenia to chyba samo esp 01 + ds wystarczy a co do kodu to chętnie się czegoś dowiem. Klew możesz rozwinąć temat ??
Po stronie urządzenia to raczej drobiazgi.

W zasadzie trzeba ustawić w setup przed SuplaDevice.begin() jedną flagę, oraz zadbać aby kanały miały ustawiony "validityTime"

Kod: Zaznacz cały

#define MAX_SLEEP_TIME_SEC 120
  SuplaDevice.addFlags(SUPLA_DEVICE_FLAG_SLEEP_MODE_ENABLED);
  ds1->getChannel()->setValidityTimeSec(MAX_SLEEP_TIME_SEC);
  ds2->getChannel()->setValidityTimeSec(MAX_SLEEP_TIME_SEC);
Po takich ustawieniach, urządzenie będzie się poprawnie rejestrować w Cloud jako "sypiające". Czas spania urządzenia powinien być krótszy niż MAX_SLEEP_TIME_SEC.
Po stronie serwera zostało poprawione wyświetlanie pomiarów (do niedawna było tak, że na początku potrafiły się "0" pojawiać, mimo wysłanej wartości). Nie działało też dodawanie korekt po stronie Clouda dla np. temperatury.
Z nowych rzeczy: można śpiące urządzenie wprowadzić w tryb konfiguracyjny z poziomu Clouda - natomiast trzeba poczekać aż się wybudzi i połączy z serwerem.
Dodana też jest możliwość używania ikonki (i) dla śpiących urządzeń (serwer zapamiętuje to co wysłało urządzenie i gdy urządzenie śpi, wysyła zapamiętaną wartość).

Poza powyższym, trzeba sobie to spanie zaimplementować, czy to ma być light sleep, czy deep sleep itp. Ja to robiłem tak, że czekałem aż urządzenie połączy się z serwerem, a następnie wyśle update'y dla wszystkich kanałów. Potem czeka ułamek sekundy, rozłącza się, wyłącza Wi-Fi i idzie spać. Po wybudzeniu łączy się ponownie, wysyła aktualizacje i znowu idzie spać.
Widzimy się na Supla Offline Party vol. 2 :!:
Bartoni
Posty: 64
Rejestracja: ndz lip 18, 2021 6:48 pm

klew pisze: wt paź 04, 2022 11:23 am
Bartoni pisze: wt paź 04, 2022 11:13 am
pzygmunt pisze: ndz wrz 18, 2022 8:52 pm Supla od niedawna wspiera w pełni śpiące czujniki. Oficjalnie nie ma na to jeszcze release-u ale nieoficjalnie już to działa.
Możesz podać przykład takiego w pełni śpiącego czujnika?
Szukasz przykładowego kodu czy przykładowego urządzenia?

Szukam i urządzenia i kodu. Takie gotowe urządzenia do bezprzewodowego pomiaru temperatury to widziałem zigbee ale do takiego urządzenia nie wgra supli z tego co znalazłem info.

Jakie Ty masz urządzenie? Gotowe czy sam składałeś?
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

Bartoni pisze: wt paź 04, 2022 3:30 pm Szukam i urządzenia i kodu. Takie gotowe urządzenia do bezprzewodowego pomiaru temperatury to widziałem zigbee ale do takiego urządzenia nie wgra supli z tego co znalazłem info.

Jakie Ty masz urządzenie? Gotowe czy sam składałeś?
Robiliśmy poprawki do "spania" pod kątem urządzenia THW-01. Tam co prawda nie ma zasilania bateryjnego, ale układ ESP grzeje się na tyle, że dość trudno było ogarnąć poprawny odczyt temperatury na wbudowanym czujniku. Spanie nam ten problem rozwiązało, bo jak urządzenie śpi, to większość jego kompnentów jest wyłączona i się nie grzeje.

Jak trochę się odkopię z różnych tematów, to może dodam jakiś przykładowy kod dla śpiącego urządzenia na Arduino.
Widzimy się na Supla Offline Party vol. 2 :!:
mmiikk
Posty: 439
Rejestracja: pn sie 06, 2018 1:27 pm

Czy ikonka urządzenia z informacją w aplikacji z adresem itp, która się pojawia gdy np. moduł ma wgrane GG, mogła by pokazywać czas ostatniego połączenia także kiedy urządzenie jest uśpione?
mmiikk
Posty: 439
Rejestracja: pn sie 06, 2018 1:27 pm

Bartoni pisze: wt paź 04, 2022 3:30 pm
Szukam i urządzenia i kodu. Takie gotowe urządzenia do bezprzewodowego pomiaru temperatury to widziałem zigbee ale do takiego urządzenia nie wgra supli z tego co znalazłem info.

Jakie Ty masz urządzenie? Gotowe czy sam składałeś?
Zrobiłem na dniach najprostsze z możliwych do pomiaru temp i wilgotności na baterie: aku 18450, nodemcu, czujnik dht22, soft wygenerowany z gui generic. Aku do wejścia 5V, drugim kablem na wejście analogowe A0 za pośrednictwem rezystora 110k aby był odczyt napięcia na aku (pokazuje jako stopni Celsjusza :) , do tego odpowiednio czujnik podłączony.
Wg moich pomiarów i prób jest w stanie z wybudzaniem co 15 minut działać powyżej miesiąca na jednym ładowaniu. Wybudzony zestaw pobiera mniej niż 80mA uśpiony 3mA, jest spora różnica jeśli porównamy do wemosa d1 mini, gdzie ta sama konfiguracja pobierała w uśpieniu 15mA !) Jest duże pole do optymalizacji, np wejście 3,3V i wstawienie stabilizatora LDO
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

mmiikk pisze: śr paź 05, 2022 11:07 am Czy ikonka urządzenia z informacją w aplikacji z adresem itp, która się pojawia gdy np. moduł ma wgrane GG, mogła by pokazywać czas ostatniego połączenia także kiedy urządzenie jest uśpione?
To raczej nie zależy od softu.
Na GG aktualnie nie będzie działać (i) na śpiącym urządzeniu. Trzeba by dostosować bibliotekę supla-device w GG, albo ją zaktualizować (trwają prace ;) ).

To musiałby serwer uzupełniać.

Aktualnie nie ma takiego pola w tej strukturze. Tam jest "czas pracy" i "czas połączenia" (czyli jak długo połączenie jest utrzymywane). "czas połączenia" przy śpiących urządzeniach nie ma sensu, bo tam urządzenie się łączy, wysyła co trzeba i rozłącza po 1-3 s, więc "czas połączenia" byłby zawsze na takim poziomie.
Widzimy się na Supla Offline Party vol. 2 :!:
mmiikk
Posty: 439
Rejestracja: pn sie 06, 2018 1:27 pm

Tak się zastanawiam..

jak pisałem wyżej zrobiłem prosty bateryjny czunik na nodemcu i dht22 z generwanym w GG online softem, w uśpieniu pobiera 3mA, to dość dużo a na pewno więcej niż w trybie deep sleep pobiera samo nodemcu (?)
W trybie deep sleep jak rozumiem nie są usypiane stabiizatory na plytce, moga one pobierac caly czas jakiś prad (duży?).
A czujnik? Jest usypiany razem z modułem?

Jeśli nie to mnie zastanawia inna koncepcja, zamiast poobierać zasilanie czujnika z pinu 3,3V jak to robię obecnie, można by wykorzystać jakiś wolny pin nodemcu na przekaźnik, i tym pinem ustawionym w module by pamiętał ostatni stan, pinem-przekaznikiem zasilać pin Vcc czujnika dht22
Wtedy po wybudzeniu załączał by się pin-przekaznik na Vcc i zasilał czujnika, moduł odczytał by temperaturę i wilgotność.
Czy to co napisałem ma szanse zadziałać? Ma to w ogóle sens w sensie oszczędzania baterii?
ODPOWIEDZ

Wróć do „Pomoc”