Możesz podać przykład takiego w pełni śpiącego czujnika?pzygmunt wrote: Sun Sep 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.
SUPLA - zdalny pomiar temperatury i wilgotności
-
Bartoni
- Posts: 190
- Joined: Sun Jul 18, 2021 6:48 pm
-
klew
- Posts: 13908
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
Po stronie urządzenia to raczej drobiazgi.Pietras81 wrote: Tue Oct 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 ??
W zasadzie trzeba ustawić w setup przed SuplaDevice.begin() jedną flagę, oraz zadbać aby kanały miały ustawiony "validityTime"
Code: Select all
#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 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ć.
Najlepsze suple dla Twojego domu 
-
Bartoni
- Posts: 190
- Joined: Sun Jul 18, 2021 6:48 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ś?
-
klew
- Posts: 13908
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
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.Bartoni wrote: Tue Oct 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ś?
Jak trochę się odkopię z różnych tematów, to może dodam jakiś przykładowy kod dla śpiącego urządzenia na Arduino.
Najlepsze suple dla Twojego domu 
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 CelsjuszaBartoni wrote: Tue Oct 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ś?
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
-
klew
- Posts: 13908
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
To raczej nie zależy od softu.mmiikk wrote: Wed Oct 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?
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.
Najlepsze suple dla Twojego domu 
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?
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?
